Merge pull request #1663 from Infisical/daniel/cli-improvements

Feat: CLI Improvements
This commit is contained in:
vmatsiiako
2024-04-05 18:42:18 -07:00
committed by GitHub
2 changed files with 30 additions and 4 deletions

View File

@@ -44,6 +44,11 @@ var exportCmd = &cobra.Command{
util.HandleError(err) util.HandleError(err)
} }
includeImports, err := cmd.Flags().GetBool("include-imports")
if err != nil {
util.HandleError(err)
}
projectId, err := cmd.Flags().GetString("projectId") projectId, err := cmd.Flags().GetString("projectId")
if err != nil { if err != nil {
util.HandleError(err) util.HandleError(err)
@@ -75,10 +80,11 @@ var exportCmd = &cobra.Command{
} }
request := models.GetAllSecretsParameters{ request := models.GetAllSecretsParameters{
Environment: environmentName, Environment: environmentName,
TagSlugs: tagSlugs, TagSlugs: tagSlugs,
WorkspaceId: projectId, WorkspaceId: projectId,
SecretsPath: secretsPath, SecretsPath: secretsPath,
IncludeImport: includeImports,
} }
if token != nil && token.Type == "service-token" { if token != nil && token.Type == "service-token" {
@@ -129,6 +135,7 @@ func init() {
exportCmd.Flags().Bool("expand", true, "Parse shell parameter expansions in your secrets") exportCmd.Flags().Bool("expand", true, "Parse shell parameter expansions in your secrets")
exportCmd.Flags().StringP("format", "f", "dotenv", "Set the format of the output file (dotenv, json, csv)") 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().Bool("secret-overriding", true, "Prioritizes personal secrets, if any, with the same name over shared secrets")
exportCmd.Flags().Bool("include-imports", true, "Imported linked secrets")
exportCmd.Flags().String("token", "", "Fetch secrets using the Infisical Token") exportCmd.Flags().String("token", "", "Fetch secrets using the Infisical Token")
exportCmd.Flags().StringP("tags", "t", "", "filter secrets by tag slugs") 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("projectId", "", "manually set the projectId to fetch secrets from")

View File

@@ -427,6 +427,12 @@ func getSecretsByNames(cmd *cobra.Command, args []string) {
if err != nil { if err != nil {
util.HandleError(err, "Unable to parse flag") 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") tagSlugs, err := cmd.Flags().GetString("tags")
if err != nil { if err != nil {
util.HandleError(err, "Unable to parse flag") 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 { if showOnlyValue && len(requestedSecrets) > 1 {
util.PrintErrorMessageAndExit("--raw-value only works with one secret.") 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("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("projectId", "", "manually set the projectId to fetch folders from for machine identity")
secretsGetCmd.Flags().String("path", "/", "get secrets within a folder path") 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("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") secretsGetCmd.Flags().Bool("recursive", false, "Fetch secrets from all sub-folders")
secretsCmd.AddCommand(secretsGetCmd) secretsCmd.AddCommand(secretsGetCmd)