From 3626ef2ec2d872ac9b53c0ff08de133a8617d8a1 Mon Sep 17 00:00:00 2001 From: Maidul Islam Date: Thu, 15 Dec 2022 14:20:20 -0500 Subject: [PATCH] add yaml export --- cli/packages/cmd/export.go | 13 ++++++++++++- cli/packages/cmd/root.go | 2 +- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/cli/packages/cmd/export.go b/cli/packages/cmd/export.go index a0d89301f..f25a726e7 100644 --- a/cli/packages/cmd/export.go +++ b/cli/packages/cmd/export.go @@ -19,6 +19,7 @@ const ( FormatDotenv string = "dotenv" FormatJson string = "json" FormatCSV string = "csv" + FormatYaml string = "yaml" ) // exportCmd represents the export command @@ -101,8 +102,10 @@ func formatEnvs(envs []models.SingleEnvironmentVariable, format string) (string, return formatAsJson(envs), nil case FormatCSV: return formatAsCSV(envs), nil + case FormatYaml: + return formatAsYaml(envs), nil default: - return "", fmt.Errorf("invalid format flag: %s", format) + return "", fmt.Errorf("invalid format type: %s. Available format types are [%s]", format, []string{FormatDotenv, FormatJson, FormatCSV, FormatYaml}) } } @@ -127,6 +130,14 @@ func formatAsDotEnv(envs []models.SingleEnvironmentVariable) string { return dotenv } +func formatAsYaml(envs []models.SingleEnvironmentVariable) string { + var dotenv string + for _, env := range envs { + dotenv += fmt.Sprintf("%s: %s\n", env.Key, env.Value) + } + return dotenv +} + // Format environment variables as a JSON file func formatAsJson(envs []models.SingleEnvironmentVariable) string { // Dump as a json array diff --git a/cli/packages/cmd/root.go b/cli/packages/cmd/root.go index 99f7d384d..7317b3eea 100644 --- a/cli/packages/cmd/root.go +++ b/cli/packages/cmd/root.go @@ -15,7 +15,7 @@ var rootCmd = &cobra.Command{ Short: "Infisical CLI is used to inject environment variables into any process", Long: `Infisical is a simple, end-to-end encrypted service that enables teams to sync and manage their environment variables across their development life cycle.`, CompletionOptions: cobra.CompletionOptions{DisableDefaultCmd: true}, - Version: "0.1.10", + Version: "0.1.11", } // Execute adds all child commands to the root command and sets flags appropriately.