From a1b41ca4541a3d220b1376dc9dcd41961733393e Mon Sep 17 00:00:00 2001 From: Sheen Capadngan Date: Tue, 11 Jun 2024 00:52:59 +0800 Subject: [PATCH] Revert "feature: added offline support for infisical export" This reverts commit 88a4fb84e66c5a68d7e6c9819f59c48713a060a5. --- cli/packages/cmd/export.go | 85 +++++++++++++----------------------- cli/packages/cmd/secrets.go | 13 +++++- cli/packages/util/secrets.go | 18 -------- 3 files changed, 43 insertions(+), 73 deletions(-) diff --git a/cli/packages/cmd/export.go b/cli/packages/cmd/export.go index 271509b0c..983c19255 100644 --- a/cli/packages/cmd/export.go +++ b/cli/packages/cmd/export.go @@ -93,33 +93,10 @@ var exportCmd = &cobra.Command{ IncludeImport: includeImports, } - - var secrets []models.SingleEnvironmentVariable - var isUserSession bool - var infisicalDotJson models.WorkspaceConfigFile - var userBackupSecretsEncryptionKey []byte - var loggedInUserDetails util.LoggedInUserDetails - if token != nil && token.Type == util.SERVICE_TOKEN_IDENTIFIER { request.InfisicalToken = token.Token } else if token != nil && token.Type == util.UNIVERSAL_AUTH_TOKEN_IDENTIFIER { request.UniversalAuthAccessToken = token.Token - } else { - isUserSession = true - loggedInUserDetails, err = util.GetCurrentLoggedInUserDetails() - if err != nil { - util.HandleError(err) - } - - projectConfig, err := util.GetWorkSpaceFromFile() - if err != nil { - util.HandleError(err) - } - - infisicalDotJson = projectConfig - - userBackupSecretsEncryptionKey = []byte(loggedInUserDetails.UserCredentials.PrivateKey)[0:32] - secrets = util.GetBackupSecretsIfDisconnected(infisicalDotJson.WorkspaceId, environmentName, userBackupSecretsEncryptionKey) } if templatePath != "" { @@ -132,6 +109,10 @@ var exportCmd = &cobra.Command{ accessToken = token.Token } else { log.Debug().Msg("GetAllEnvironmentVariables: Trying to fetch secrets using logged in details") + loggedInUserDetails, err := util.GetCurrentLoggedInUserDetails() + if err != nil { + util.HandleError(err) + } accessToken = loggedInUserDetails.UserCredentials.JTWToken } @@ -143,44 +124,40 @@ var exportCmd = &cobra.Command{ return } - if len(secrets) == 0 { - secrets, err = util.GetAllEnvironmentVariables(request, "") - if err != nil { - util.HandleError(err, "Unable to fetch secrets") - } - - if secretOverriding { - secrets = util.OverrideSecrets(secrets, util.SECRET_TYPE_PERSONAL) - } else { - secrets = util.OverrideSecrets(secrets, util.SECRET_TYPE_SHARED) - } - - if shouldExpandSecrets { - - authParams := models.ExpandSecretsAuthentication{} - - if token != nil && token.Type == util.SERVICE_TOKEN_IDENTIFIER { - authParams.InfisicalToken = token.Token - } else if token != nil && token.Type == util.UNIVERSAL_AUTH_TOKEN_IDENTIFIER { - authParams.UniversalAuthAccessToken = token.Token - } - - secrets = util.ExpandSecrets(secrets, authParams, "") - } - secrets = util.FilterSecretsByTag(secrets, tagSlugs) - secrets = util.SortSecretsByKeys(secrets) - - if isUserSession { - util.WriteBackupSecrets(infisicalDotJson.WorkspaceId, environmentName, userBackupSecretsEncryptionKey, secrets) - } + secrets, err := util.GetAllEnvironmentVariables(request, "") + if err != nil { + util.HandleError(err, "Unable to fetch secrets") } - output, err := formatEnvs(secrets, format) + if secretOverriding { + secrets = util.OverrideSecrets(secrets, util.SECRET_TYPE_PERSONAL) + } else { + secrets = util.OverrideSecrets(secrets, util.SECRET_TYPE_SHARED) + } + + var output string + if shouldExpandSecrets { + + authParams := models.ExpandSecretsAuthentication{} + + if token != nil && token.Type == util.SERVICE_TOKEN_IDENTIFIER { + authParams.InfisicalToken = token.Token + } else if token != nil && token.Type == util.UNIVERSAL_AUTH_TOKEN_IDENTIFIER { + authParams.UniversalAuthAccessToken = token.Token + } + + secrets = util.ExpandSecrets(secrets, authParams, "") + } + secrets = util.FilterSecretsByTag(secrets, tagSlugs) + secrets = util.SortSecretsByKeys(secrets) + + output, err = formatEnvs(secrets, format) if err != nil { util.HandleError(err) } fmt.Print(output) + // Telemetry.CaptureEvent("cli-command:export", posthog.NewProperties().Set("secretsCount", len(secrets)).Set("version", util.CLI_VERSION)) }, } diff --git a/cli/packages/cmd/secrets.go b/cli/packages/cmd/secrets.go index d5ad8b403..4b65a11db 100644 --- a/cli/packages/cmd/secrets.go +++ b/cli/packages/cmd/secrets.go @@ -105,6 +105,8 @@ var secretsCmd = &cobra.Command{ util.HandleError(err) } + isConnected := util.CheckIsConnectedToInfisicalAPI() + projectConfig, err := util.GetWorkSpaceFromFile() if err != nil { util.HandleError(err) @@ -112,7 +114,16 @@ var secretsCmd = &cobra.Command{ infisicalDotJson = projectConfig userBackupSecretsEncryptionKey = []byte(loggedInUserDetails.UserCredentials.PrivateKey)[0:32] - secrets = util.GetBackupSecretsIfDisconnected(infisicalDotJson.WorkspaceId, environmentName, userBackupSecretsEncryptionKey) + + if !isConnected { + secrets, err = util.ReadBackupSecrets(infisicalDotJson.WorkspaceId, environmentName, userBackupSecretsEncryptionKey) + if err != nil { + util.HandleError(err) + } + if len(secrets) > 0 { + util.PrintWarning("Unable to fetch latest secret(s) due to connection error, serving secrets from last successful fetch. For more info, run with --debug") + } + } } if len(secrets) == 0 { diff --git a/cli/packages/util/secrets.go b/cli/packages/util/secrets.go index e97dda9b0..2e9b0ffd2 100644 --- a/cli/packages/util/secrets.go +++ b/cli/packages/util/secrets.go @@ -426,24 +426,6 @@ func getSecretsByKeys(secrets []models.SingleEnvironmentVariable) map[string]mod return secretMapByName } -func GetBackupSecretsIfDisconnected(workspaceId string, environment string, encryptionKey []byte) ([]models.SingleEnvironmentVariable) { - isConnected := CheckIsConnectedToInfisicalAPI() - - if !isConnected { - secrets, err := ReadBackupSecrets(workspaceId, environment, encryptionKey) - if err != nil { - HandleError(err) - } - if len(secrets) > 0 { - PrintWarning("Unable to fetch latest secret(s) due to connection error, serving secrets from last successful fetch. For more info, run with --debug") - } - - return secrets - } - - return nil -} - func ExpandSecrets(secrets []models.SingleEnvironmentVariable, auth models.ExpandSecretsAuthentication, projectConfigPathDir string) []models.SingleEnvironmentVariable { expandedSecs := make(map[string]string) interpolatedSecs := make(map[string]string)