From dcbbb67f030419c99bbac98dea0d09540e7e4851 Mon Sep 17 00:00:00 2001 From: Daniel Hougaard <62331820+DanielHougaard@users.noreply.github.com> Date: Fri, 5 Apr 2024 17:30:19 -0700 Subject: [PATCH] Feat: Added secret interpolation to get secret by name command --- cli/packages/cmd/secrets.go | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/cli/packages/cmd/secrets.go b/cli/packages/cmd/secrets.go index 8c28b4cbcb..29f4ea4554 100644 --- a/cli/packages/cmd/secrets.go +++ b/cli/packages/cmd/secrets.go @@ -427,6 +427,12 @@ func getSecretsByNames(cmd *cobra.Command, args []string) { if err != nil { util.HandleError(err, "Unable to parse flag") } + + shouldExpand, err := cmd.Flags().GetBool("expand") + if err != nil { + util.HandleError(err, "Unable to parse flag") + } + tagSlugs, err := cmd.Flags().GetString("tags") if err != nil { util.HandleError(err, "Unable to parse flag") @@ -488,6 +494,18 @@ func getSecretsByNames(cmd *cobra.Command, args []string) { } } + if shouldExpand { + + authParams := models.ExpandSecretsAuthentication{} + if token != nil && token.Type == "service-token" { + authParams.InfisicalToken = token.Token + } else if token != nil && token.Type == "universal-auth-token" { + authParams.UniversalAuthAccessToken = token.Token + } + + requestedSecrets = util.ExpandSecrets(requestedSecrets, authParams, "") + } + if showOnlyValue && len(requestedSecrets) > 1 { util.PrintErrorMessageAndExit("--raw-value only works with one secret.") } @@ -750,6 +768,7 @@ func init() { secretsGetCmd.Flags().String("token", "", "Fetch secrets using the Infisical Token") secretsGetCmd.Flags().String("projectId", "", "manually set the projectId to fetch folders from for machine identity") secretsGetCmd.Flags().String("path", "/", "get secrets within a folder path") + secretsGetCmd.Flags().Bool("expand", true, "Parse shell parameter expansions in your secrets") secretsGetCmd.Flags().Bool("raw-value", false, "Returns only the value of secret, only works with one secret") secretsGetCmd.Flags().Bool("recursive", false, "Fetch secrets from all sub-folders") secretsCmd.AddCommand(secretsGetCmd)