Env Alias #
Powerful helper utility to create shell alias commands to easily set collections of environment variables often with secret values from a variety of data-sources and data-formats.
Enables complex environment setups to be stored in source-control without secret values which makes it particularly useful in loading secret values into containerized service environments and developer environments alike.
- Data sources: local-file, http-remote, exec-stdout or directly-set
- Source file formats:
- Select using jq-style selectors, xpath selectors or line-numbers
- Reference other env values within configuration
- Content-Type detection for http-remote data-sources to automatically assign appropriate parser
- Run exec helper commands without content assignment for creating setups
- Debug mode output to STDERR
- Easy installation using PyPI
- Plenty of documentation and examples - https://env-alias.readthedocs.io
user@computer:~$ pip3 install env-alias
Command Line Usage #
This tool is typically invoked via an entry in
.bash_aliases with an entry in the form:-
eval $(env-alias env-project-awesome ~/path-to/project-awesome-alias.yml)
This simple one-liner creates a command alias in the name
env-project-awesome that subsequently invokes
an alias-generator that gives effect to the
By naming your alias commands with a common prefix such as
env- it also becomes possible to leverage
shell tab-completion to quickly find aliases that implement the environment settings for your project,
use-case or other situation.
This mechanism is enormously useful in working with large sets of environment variables from encrypted or otherwise secured data-sources which means an environment configuration can be easily committed to source control without the secret values.
Be sure to review the examples that make the benefits of this arrangement clear.
- Github - github.com/ndejong/env-alias
- PyPI - pypi.python.org/pypi/env-alias
- TravisCI - travis-ci.org/github/ndejong/env-alias
- ReadTheDocs - env-alias.readthedocs.io
Copyright © 2021 Nicholas de Jong