From 999c4c8e8cd7c8b371d491396b41e918581b087d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ji=C5=99=C3=AD=20=C4=8Ctvrtka?= Date: Mon, 23 Sep 2024 12:50:19 +0200 Subject: [PATCH] PMM-13132 Add consts. --- managed/cmd/pmm-encryption-rotation/main.go | 4 +++- managed/models/encryption_rotation.go | 25 ++++++++++++++------- 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/managed/cmd/pmm-encryption-rotation/main.go b/managed/cmd/pmm-encryption-rotation/main.go index e5a4f7f410..76b444b9ff 100644 --- a/managed/cmd/pmm-encryption-rotation/main.go +++ b/managed/cmd/pmm-encryption-rotation/main.go @@ -27,6 +27,8 @@ import ( "github.com/percona/pmm/utils/logger" ) +const codeDBConnectionFailed = 1 + func main() { signal.Ignore(syscall.SIGINT, syscall.SIGTERM) // to prevent any interuptions during process @@ -35,7 +37,7 @@ func main() { sqlDB, err := models.OpenDB(setupParams()) if err != nil { logrus.Error(err) - os.Exit(1) + os.Exit(codeDBConnectionFailed) } statusCode := models.RotateEncryptionKey(sqlDB, "pmm-managed") diff --git a/managed/models/encryption_rotation.go b/managed/models/encryption_rotation.go index e89d7fec31..d6f0ae4936 100644 --- a/managed/models/encryption_rotation.go +++ b/managed/models/encryption_rotation.go @@ -29,6 +29,15 @@ import ( "github.com/percona/pmm/managed/utils/encryption" ) +const ( + statusRunning = "RUNNING" + statusStopped = "STOPPED" + codeOK = 0 + codePMMStopFailed = 2 + codeEncryptionFailed = 3 + codePMMStartFailed = 4 +) + // RotateEncryptionKey will stop PMM server, decrypt data, create new encryption key and encrypt them and start PMM Server again. func RotateEncryptionKey(sqlDB *sql.DB, dbName string) int { db := reform.NewDB(sqlDB, postgresql.Dialect, nil) @@ -36,26 +45,26 @@ func RotateEncryptionKey(sqlDB *sql.DB, dbName string) int { err := stopPMMServer() if err != nil { logrus.Errorf("Failed to stop PMM Server: %+v", err) - return 2 + return codePMMStopFailed } err = rotateEncryptionKey(db, dbName) if err != nil { logrus.Errorf("Failed to rotate encryption key: %+v", err) - return 3 + return codeEncryptionFailed } err = startPMMServer() if err != nil { logrus.Errorf("Failed to start PMM Server: %+v", err) - return 4 + return codePMMStartFailed } - return 0 + return codeOK } func startPMMServer() error { - if isPMMServerStatus("RUNNING") { + if isPMMServerStatus(statusRunning) { return nil } @@ -65,7 +74,7 @@ func startPMMServer() error { return fmt.Errorf("%w: %s", err, output) } - if !isPMMServerStatus("RUNNING") { + if !isPMMServerStatus(statusRunning) { return errors.New("cannot start pmm-managed") } @@ -73,7 +82,7 @@ func startPMMServer() error { } func stopPMMServer() error { - if isPMMServerStatus("STOPPED") { + if isPMMServerStatus(statusStopped) { return nil } @@ -83,7 +92,7 @@ func stopPMMServer() error { return fmt.Errorf("%w: %s", err, output) } - if !isPMMServerStatus("STOPPED") { + if !isPMMServerStatus(statusStopped) { return errors.New("cannot stop pmm-managed") }