From fa33f35fcd2825b1b5d513008956105aa295cf9e Mon Sep 17 00:00:00 2001 From: Daniel Hougaard <62331820+DanielHougaard@users.noreply.github.com> Date: Tue, 26 Mar 2024 23:31:35 +0100 Subject: [PATCH] Feat: Export support for Machine Identities --- cli/packages/cmd/export.go | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/cli/packages/cmd/export.go b/cli/packages/cmd/export.go index 1a34219ebf..2a11274a16 100644 --- a/cli/packages/cmd/export.go +++ b/cli/packages/cmd/export.go @@ -60,11 +60,16 @@ var exportCmd = &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, "Authentication with universal auth failed") + } + tagSlugs, err := cmd.Flags().GetString("tags") if err != nil { util.HandleError(err, "Unable to parse flag") @@ -75,7 +80,7 @@ var exportCmd = &cobra.Command{ util.HandleError(err, "Unable to parse flag") } - secrets, err := util.GetAllEnvironmentVariables(models.GetAllSecretsParameters{Environment: environmentName, InfisicalToken: infisicalToken, TagSlugs: tagSlugs, WorkspaceId: projectId, SecretsPath: secretsPath}, "") + secrets, err := util.GetAllEnvironmentVariables(models.GetAllSecretsParameters{Environment: environmentName, UniversalAuthAccessToken: identityAccessToken, InfisicalToken: infisicalToken, TagSlugs: tagSlugs, WorkspaceId: projectId, SecretsPath: secretsPath}, "") if err != nil { util.HandleError(err, "Unable to fetch secrets") } @@ -111,6 +116,8 @@ func init() { exportCmd.Flags().StringP("format", "f", "dotenv", "Set the format of the output file (dotenv, json, csv)") exportCmd.Flags().Bool("secret-overriding", true, "Prioritizes personal secrets, if any, with the same name over shared secrets") exportCmd.Flags().String("token", "", "Fetch secrets using the Infisical Token") + exportCmd.Flags().String("universal-auth-client-id", "", "Machine Identity universal auth client ID") + exportCmd.Flags().String("universal-auth-client-secret", "", "Machine Identity universal auth client secret") exportCmd.Flags().StringP("tags", "t", "", "filter secrets by tag slugs") exportCmd.Flags().String("projectId", "", "manually set the projectId to fetch secrets from") exportCmd.Flags().String("path", "/", "get secrets within a folder path")