From 4123177133bb9c6bbc7c0f54d4a9d2a923835496 Mon Sep 17 00:00:00 2001 From: Daniel Hougaard <62331820+DanielHougaard@users.noreply.github.com> Date: Tue, 26 Mar 2024 23:33:33 +0100 Subject: [PATCH] Feat: Run cmd support for Machine Identities --- cli/packages/cmd/run.go | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/cli/packages/cmd/run.go b/cli/packages/cmd/run.go index cb44e3d7e..fe5afb782 100644 --- a/cli/packages/cmd/run.go +++ b/cli/packages/cmd/run.go @@ -63,7 +63,10 @@ var runCmd = &cobra.Command{ } infisicalToken, err := util.GetInfisicalServiceToken(cmd) - + if err != nil { + util.HandleError(err, "Unable to parse flag") + } + identityAccessToken, err := util.GetInfisicalUniversalAuthAccessToken(cmd) if err != nil { util.HandleError(err, "Unable to parse flag") } @@ -73,6 +76,11 @@ var runCmd = &cobra.Command{ util.HandleError(err, "Unable to parse flag") } + projectId, err := cmd.Flags().GetString("projectId") + if err != nil { + util.HandleError(err, "Unable to parse flag") + } + secretOverriding, err := cmd.Flags().GetBool("secret-overriding") if err != nil { util.HandleError(err, "Unable to parse flag") @@ -103,7 +111,7 @@ var runCmd = &cobra.Command{ util.HandleError(err, "Unable to parse flag") } - secrets, err := util.GetAllEnvironmentVariables(models.GetAllSecretsParameters{Environment: environmentName, InfisicalToken: infisicalToken, TagSlugs: tagSlugs, SecretsPath: secretsPath, IncludeImport: includeImports, Recursive: recursive}, projectConfigDir) + secrets, err := util.GetAllEnvironmentVariables(models.GetAllSecretsParameters{Environment: environmentName, InfisicalToken: infisicalToken, UniversalAuthAccessToken: identityAccessToken, TagSlugs: tagSlugs, SecretsPath: secretsPath, IncludeImport: includeImports, Recursive: recursive}, projectConfigDir) if err != nil { util.HandleError(err, "Could not fetch secrets", "If you are using a service token to fetch secrets, please ensure it is valid") @@ -204,6 +212,9 @@ func filterReservedEnvVars(env map[string]models.SingleEnvironmentVariable) { func init() { rootCmd.AddCommand(runCmd) runCmd.Flags().String("token", "", "Fetch secrets using the Infisical Token") + runCmd.Flags().String("universal-auth-client-id", "", "Machine Identity universal auth client ID") + runCmd.Flags().String("universal-auth-client-secret", "", "Machine Identity universal auth client secret") + runCmd.Flags().String("projectId", "", "manually set the projectId to fetch folders from for machine identity") runCmd.Flags().StringP("env", "e", "dev", "Set the environment (dev, prod, etc.) from which your secrets should be pulled from") runCmd.Flags().Bool("expand", true, "Parse shell parameter expansions in your secrets") runCmd.Flags().Bool("include-imports", true, "Import linked secrets ")