Generate .env files from templates and secrets managers
Project description
T<env>plate
A way to generate .env
files from a template file using remote sources.
Currently supports the following remote sources:
- azure keyvault secrets (assumes the az cli is is installed and configured)
- kubernetes secrets & configmaps (assumes the kubectl cli is installed and configured)
Usage
-
Install the package. I recommend the use of
pipx
to install it in a global and isolated enviroment:pipx 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)
Contributing
To setup the development environment and run linting and testing:
python -m venv .venv
source .venv/Scripts/activate # or .venv/bin/activate on linux
pip install -e .[dev]
poe all
To test the install with pipx pipx install . --force
To build the package: python -m build --wheel
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
Close
Hashes for tenvplate-0.0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 49ac7dafea6dac90c3ff82375857fb5120bb1286d90acf8376a59e09d2ada25e |
|
MD5 | d5a1b5e314903279ebbee1a270dc1117 |
|
BLAKE2b-256 | b14b0a8ae66b069bbf1c6002fc010457835841ff8686abfd28c41ad34330b087 |