diff --git a/cli/packages/cmd/secrets.go b/cli/packages/cmd/secrets.go index 95ac6c5bb..b333931a3 100644 --- a/cli/packages/cmd/secrets.go +++ b/cli/packages/cmd/secrets.go @@ -116,6 +116,9 @@ var secretsCmd = &cobra.Command{ secrets = util.ExpandSecrets(secrets, authParams, "") } + // convert secrets to the same order as the keys + secrets = util.SortSecretsByKeys(secrets) + util.HandleSendTestSecrets(cmd, secrets) visualize.PrintAllSecretDetails(secrets) Telemetry.CaptureEvent("cli-command:secrets", posthog.NewProperties().Set("secretCount", len(secrets)).Set("version", util.CLI_VERSION)) diff --git a/cli/packages/util/helper.go b/cli/packages/util/helper.go index e5b8ab6d9..33e22e040 100644 --- a/cli/packages/util/helper.go +++ b/cli/packages/util/helper.go @@ -53,6 +53,19 @@ func GetBase64DecodedSymmetricEncryptionDetails(key string, cipher string, IV st }, nil } +func SortSecretsByKeys(secrets []models.SingleEnvironmentVariable) []models.SingleEnvironmentVariable { + // sort secrets by key + for i := 0; i < len(secrets); i++ { + for j := i + 1; j < len(secrets); j++ { + if secrets[i].Key > secrets[j].Key { + secrets[i], secrets[j] = secrets[j], secrets[i] + } + } + } + + return secrets +} + func IsSecretEnvironmentValid(env string) bool { if env == "prod" || env == "dev" || env == "test" || env == "staging" { return true