A way to generate .env
files from a template file using remote sources.
Currently, it supports the following remote sources:
- azure keyvault secrets (assumes the az cli is installed and configured)
- kubernetes secrets & configmaps (assumes the kubectl cli is installed and configured)
-
Install the package. I recommend the use of uv tool or pipx to install it in a global and isolated environment:
uv tool install tenvplate
orpipx install tenvplate
-
Create a .env.template with the following format:
# comment, will be ignored FIXED=will-be-left-untouched ENV_VAR_FROM_K8S_SECRET={{kubernetes/<name-space-name>/secrets/<secret-name>/<secret-field>}} ENV_VAR_FROM_K8S_CONFIGMAP={{kubernetes/<name-space-name>/configmaps/<configmap-name>/<configmap-field>}} ENV_VAR_FROM_AZURE_KEYVAULT={{azure-keyvault/<keyvault-name>/secrets/<secret-name>}}
-
Run the following command to generate an environment file simply run
tenvplate
. Optional arguments are:--src-path
to specify the template file (default.env.template
in the working directory)--dst-path
to specify the destination file (default.env
in the same directory as the template file)
See the CONTRIBUTING.md file for more information.