From 581ffc613c7608ee36f869d96ff4b2e6771d9735 Mon Sep 17 00:00:00 2001 From: Maidul Islam Date: Thu, 18 Apr 2024 15:45:20 -0400 Subject: [PATCH] add go lang add/minus functions and give better example --- cli/packages/cmd/agent.go | 6 ++++++ cli/packages/cmd/export.go | 2 +- docs/cli/commands/export.mdx | 26 +++++++++++++++----------- 3 files changed, 22 insertions(+), 12 deletions(-) diff --git a/cli/packages/cmd/agent.go b/cli/packages/cmd/agent.go index 7e8babb85..03bf9af4d 100644 --- a/cli/packages/cmd/agent.go +++ b/cli/packages/cmd/agent.go @@ -381,6 +381,12 @@ func ProcessTemplate(templateId int, templatePath string, data interface{}, acce funcs := template.FuncMap{ "secret": secretFunction, "dynamic_secret": dynamicSecretFunction, + "minus": func(a, b int) int { + return a - b + }, + "add": func(a, b int) int { + return a + b + }, } templateName := path.Base(templatePath) diff --git a/cli/packages/cmd/export.go b/cli/packages/cmd/export.go index 951d538ba..84015cc02 100644 --- a/cli/packages/cmd/export.go +++ b/cli/packages/cmd/export.go @@ -171,7 +171,7 @@ func init() { 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") - exportCmd.Flags().String("template", "", "The path to the template file to output secrets") + exportCmd.Flags().String("template", "", "The path to the template file used to render secrets") } // Format according to the format flag diff --git a/docs/cli/commands/export.mdx b/docs/cli/commands/export.mdx index 246c674cd..91ed215ef 100644 --- a/docs/cli/commands/export.mdx +++ b/docs/cli/commands/export.mdx @@ -34,7 +34,7 @@ Export environment variables from the platform into a file format. # Export variables to a YAML file infisical export --format=yaml > secrets.yaml - # Export variables from a template + # Render secrets using a custom template file infisical export --template= ``` @@ -61,20 +61,24 @@ Export environment variables from the platform into a file format. ### flags - The --template flag specifies the path to the template file used for rendering secrets. In template mode, you can omit the other flags since the settings are already configured within the template. + The `--template` flag specifies the path to the template file used for rendering secrets. When using templates, you can omit the other format flags. + + ```text my-template-file + {{$secrets := secret "" "" ""}} + {{$length := len $secrets}} + {{- "{"}} + {{- with $secrets }} + {{- range $index, $secret := . }} + "{{ $secret.Key }}": "{{ $secret.Value }}"{{if lt $index (minus $length 1)}},{{end}} + {{- end }} + {{- end }} + {{ "}" -}} + ``` ```bash # Example - infisical export --template="/path/to/template" + infisical export --template="/path/to/template/file" ``` - - ```text my-dot-env-secret-template - {{- with secret "" "" "/" }} - {{- range . }} - {{ .Key }}={{ .Value }} - {{- end }} - {{- end }} - ``` Used to set the environment that secrets are pulled from.