mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-08 04:27:38 +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,17 +87,13 @@ var exportCmd = &cobra.Command{
|
|||||||
|
|
||||||
var output string
|
var output string
|
||||||
if shouldExpandSecrets {
|
if shouldExpandSecrets {
|
||||||
substitutions := util.ExpandSecrets(secrets, infisicalToken, "")
|
secrets = util.ExpandSecrets(secrets, infisicalToken, "")
|
||||||
output, err = formatEnvs(substitutions, format)
|
|
||||||
if err != nil {
|
|
||||||
util.HandleError(err)
|
|
||||||
}
|
}
|
||||||
} else {
|
secrets = util.FilterSecretsByTag(secrets, tagSlugs)
|
||||||
output, err = formatEnvs(secrets, format)
|
output, err = formatEnvs(secrets, format)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
util.HandleError(err)
|
util.HandleError(err)
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
fmt.Print(output)
|
fmt.Print(output)
|
||||||
|
|
||||||
|
|||||||
@@ -220,6 +220,30 @@ func InjectImportedSecret(plainTextWorkspaceKey []byte, secrets []models.SingleE
|
|||||||
return secrets, nil
|
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) {
|
func GetAllEnvironmentVariables(params models.GetAllSecretsParameters, projectConfigFilePath string) ([]models.SingleEnvironmentVariable, error) {
|
||||||
var infisicalToken string
|
var infisicalToken string
|
||||||
if params.InfisicalToken == "" {
|
if params.InfisicalToken == "" {
|
||||||
|
|||||||
Reference in New Issue
Block a user