mirror of
https://github.com/Infisical/infisical.git
synced 2025-03-27 09:40:45 +00:00
Merge pull request #1326 from quinton11/feat/cli-export-with-tag-slugs
feat: cli export allow filtering with tags
This commit is contained in:
@ -87,16 +87,12 @@ var exportCmd = &cobra.Command{
|
||||
|
||||
var output string
|
||||
if shouldExpandSecrets {
|
||||
substitutions := util.ExpandSecrets(secrets, infisicalToken, "")
|
||||
output, err = formatEnvs(substitutions, format)
|
||||
if err != nil {
|
||||
util.HandleError(err)
|
||||
}
|
||||
} else {
|
||||
output, err = formatEnvs(secrets, format)
|
||||
if err != nil {
|
||||
util.HandleError(err)
|
||||
}
|
||||
secrets = util.ExpandSecrets(secrets, infisicalToken, "")
|
||||
}
|
||||
secrets = util.FilterSecretsByTag(secrets, tagSlugs)
|
||||
output, err = formatEnvs(secrets, format)
|
||||
if err != nil {
|
||||
util.HandleError(err)
|
||||
}
|
||||
|
||||
fmt.Print(output)
|
||||
|
@ -220,6 +220,30 @@ func InjectImportedSecret(plainTextWorkspaceKey []byte, secrets []models.SingleE
|
||||
return secrets, nil
|
||||
}
|
||||
|
||||
func FilterSecretsByTag(plainTextSecrets []models.SingleEnvironmentVariable, tagSlugs string) []models.SingleEnvironmentVariable {
|
||||
if tagSlugs == "" {
|
||||
return plainTextSecrets
|
||||
}
|
||||
|
||||
tagSlugsMap := make(map[string]bool)
|
||||
tagSlugsList := strings.Split(tagSlugs, ",")
|
||||
for _, slug := range tagSlugsList {
|
||||
tagSlugsMap[slug] = true
|
||||
}
|
||||
|
||||
filteredSecrets := []models.SingleEnvironmentVariable{}
|
||||
for _, secret := range plainTextSecrets {
|
||||
for _, tag := range secret.Tags {
|
||||
if tagSlugsMap[tag.Slug] {
|
||||
filteredSecrets = append(filteredSecrets, secret)
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return filteredSecrets
|
||||
}
|
||||
|
||||
func GetAllEnvironmentVariables(params models.GetAllSecretsParameters, projectConfigFilePath string) ([]models.SingleEnvironmentVariable, error) {
|
||||
var infisicalToken string
|
||||
if params.InfisicalToken == "" {
|
||||
|
Reference in New Issue
Block a user