From e244dcb4bd5f3a8ea679ac1889af63657c55821f Mon Sep 17 00:00:00 2001 From: Matthew R Kasun Date: Wed, 12 Apr 2023 10:45:06 -0400 Subject: [PATCH] ee license check os.Exit(0) on license check failure docker-compose -- restart netmaker container on faiure vice always --- compose/docker-compose-emqx.yml | 2 +- compose/docker-compose.ee.yml | 2 +- compose/docker-compose.netclient.yml | 2 +- compose/docker-compose.reference.yml | 2 +- compose/docker-compose.yml | 2 +- ee/license.go | 18 +++++++++--------- logger/logger.go | 6 ++++++ 7 files changed, 20 insertions(+), 14 deletions(-) diff --git a/compose/docker-compose-emqx.yml b/compose/docker-compose-emqx.yml index b546babb6..26de6ffbf 100644 --- a/compose/docker-compose-emqx.yml +++ b/compose/docker-compose-emqx.yml @@ -4,7 +4,7 @@ services: netmaker: container_name: netmaker image: gravitl/netmaker:v0.18.6 - restart: always + restart: on-failure volumes: - dnsconfig:/root/config/dnsconfig - sqldata:/root/data diff --git a/compose/docker-compose.ee.yml b/compose/docker-compose.ee.yml index fc6e2ffe7..e0956bc52 100644 --- a/compose/docker-compose.ee.yml +++ b/compose/docker-compose.ee.yml @@ -4,7 +4,7 @@ services: netmaker: container_name: netmaker image: gravitl/netmaker:REPLACE_SERVER_IMAGE_TAG - restart: always + restart: on-failure volumes: - dnsconfig:/root/config/dnsconfig - sqldata:/root/data diff --git a/compose/docker-compose.netclient.yml b/compose/docker-compose.netclient.yml index 2b93485a2..82516ac96 100644 --- a/compose/docker-compose.netclient.yml +++ b/compose/docker-compose.netclient.yml @@ -6,7 +6,7 @@ services: image: 'gravitl/netclient:v0.18.6' hostname: netmaker-1 network_mode: host - restart: always + restart: on-failure environment: TOKEN: "TOKEN_VALUE" volumes: diff --git a/compose/docker-compose.reference.yml b/compose/docker-compose.reference.yml index 17c9a5d04..a9672b05e 100644 --- a/compose/docker-compose.reference.yml +++ b/compose/docker-compose.reference.yml @@ -4,7 +4,7 @@ services: netmaker: # The Primary Server for running Netmaker container_name: netmaker image: gravitl/netmaker:REPLACE_SERVER_IMAGE_TAG - restart: always + restart: on-failure volumes: # Volume mounts necessary for sql, coredns, and mqtt - dnsconfig:/root/config/dnsconfig - sqldata:/root/data diff --git a/compose/docker-compose.yml b/compose/docker-compose.yml index d27ae1ef3..8466ebb0e 100644 --- a/compose/docker-compose.yml +++ b/compose/docker-compose.yml @@ -4,7 +4,7 @@ services: netmaker: container_name: netmaker image: gravitl/netmaker:REPLACE_SERVER_IMAGE_TAG - restart: always + restart: on-failure volumes: - dnsconfig:/root/config/dnsconfig - sqldata:/root/data diff --git a/ee/license.go b/ee/license.go index 8341c6d11..521326ec0 100644 --- a/ee/license.go +++ b/ee/license.go @@ -44,17 +44,17 @@ func ValidateLicense() error { netmakerAccountID := servercfg.GetNetmakerAccountID() logger.Log(0, "proceeding with Netmaker license validation...") if len(licenseKeyValue) == 0 || len(netmakerAccountID) == 0 { - logger.FatalLog(errValidation.Error()) + logger.FatalLog0(errValidation.Error()) } apiPublicKey, err := getLicensePublicKey(licenseKeyValue) if err != nil { - logger.FatalLog(errValidation.Error()) + logger.FatalLog0(errValidation.Error()) } tempPubKey, tempPrivKey, err := FetchApiServerKeys() if err != nil { - logger.FatalLog(errValidation.Error()) + logger.FatalLog0(errValidation.Error()) } licenseSecret := LicenseSecret{ @@ -64,32 +64,32 @@ func ValidateLicense() error { secretData, err := json.Marshal(&licenseSecret) if err != nil { - logger.FatalLog(errValidation.Error()) + logger.FatalLog0(errValidation.Error()) } encryptedData, err := ncutils.BoxEncrypt(secretData, apiPublicKey, tempPrivKey) if err != nil { - logger.FatalLog(errValidation.Error()) + logger.FatalLog0(errValidation.Error()) } validationResponse, err := validateLicenseKey(encryptedData, tempPubKey) if err != nil || len(validationResponse) == 0 { - logger.FatalLog(errValidation.Error()) + logger.FatalLog0(errValidation.Error()) } var licenseResponse ValidatedLicense if err = json.Unmarshal(validationResponse, &licenseResponse); err != nil { - logger.FatalLog(errValidation.Error()) + logger.FatalLog0(errValidation.Error()) } respData, err := ncutils.BoxDecrypt(base64decode(licenseResponse.EncryptedLicense), apiPublicKey, tempPrivKey) if err != nil { - logger.FatalLog(errValidation.Error()) + logger.FatalLog0(errValidation.Error()) } license := LicenseKey{} if err = json.Unmarshal(respData, &license); err != nil { - logger.FatalLog(errValidation.Error()) + logger.FatalLog0(errValidation.Error()) } Limits.Networks = math.MaxInt diff --git a/logger/logger.go b/logger/logger.go index ad258772f..154d26181 100644 --- a/logger/logger.go +++ b/logger/logger.go @@ -138,6 +138,12 @@ func FatalLog(message ...string) { os.Exit(2) } +// FatalLog0 - exits os after logging +func FatalLog0(message ...string) { + fmt.Printf("[%s] Fatal: %s \n", program, MakeString(" ", message...)) + os.Exit(0) +} + // == private == // resetLogs - reallocates logs map