diff --git a/packages/util/constants.go b/packages/util/constants.go index 764ad3ca..70a92def 100644 --- a/packages/util/constants.go +++ b/packages/util/constants.go @@ -69,6 +69,7 @@ const ( INFISICAL_BACKUP_SECRET = "infisical-backup-secrets" // akhilmhdh: @depreciated remove in version v0.30 INFISICAL_BACKUP_SECRET_ENCRYPTION_KEY = "infisical-backup-secret-encryption-key" + INFISICAL_DISABLE_SECRETS_BACKUP_NAME = "INFISICAL_DISABLE_SECRETS_BACKUP" KUBERNETES_SERVICE_HOST_ENV_NAME = "KUBERNETES_SERVICE_HOST" KUBERNETES_SERVICE_PORT_HTTPS_ENV_NAME = "KUBERNETES_SERVICE_PORT_HTTPS" diff --git a/packages/util/secrets.go b/packages/util/secrets.go index c1d458ee..98f05739 100644 --- a/packages/util/secrets.go +++ b/packages/util/secrets.go @@ -337,7 +337,7 @@ func GetAllEnvironmentVariables(params models.GetAllSecretsParameters, projectCo params.Environment, params.SecretsPath, params.IncludeImport, params.Recursive, params.TagSlugs, true, params.IncludePersonalOverrides) log.Debug().Msgf("GetAllEnvironmentVariables: Trying to fetch secrets JTW token [err=%s]", err) - if err == nil { + if err == nil && !IsSecretsBackupDisabled() { backupEncryptionKey, err := GetBackupEncryptionKey() if err != nil { return nil, err @@ -348,7 +348,7 @@ func GetAllEnvironmentVariables(params models.GetAllSecretsParameters, projectCo secretsToReturn = res.Secrets errorToReturn = err // only attempt to serve cached secrets if no internet connection and if at least one secret cached - if !isConnected { + if !isConnected && !IsSecretsBackupDisabled() { backupEncryptionKey, _ := GetBackupEncryptionKey() if backupEncryptionKey != nil { backedUpSecrets, err := ReadBackupSecrets(params.WorkspaceId, params.Environment, params.SecretsPath, backupEncryptionKey) @@ -381,6 +381,10 @@ func GetAllEnvironmentVariables(params models.GetAllSecretsParameters, projectCo return secretsToReturn, errorToReturn } +func IsSecretsBackupDisabled() bool { + return os.Getenv(INFISICAL_DISABLE_SECRETS_BACKUP_NAME) != "" +} + func GetBackupEncryptionKey() ([]byte, error) { encryptionKey, err := GetValueInKeyring(INFISICAL_BACKUP_SECRET_ENCRYPTION_KEY) if err != nil {