Skip to main content

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.

Project description

Env Alias

PyPi Python Versions Build Status Read the Docs License

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.

Features

  • Data sources: local-file, http-remote, exec-stdout or directly-set
  • Source file formats: text, ini, json, yaml
  • 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 pip
  • Plenty of documentation and examples - https://env-alias.readthedocs.io

Installation

user@computer:~$ pip 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 .yml configurations(s).

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.

Project


Copyright © 2021 Nicholas de Jong

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for env-alias, version 0.3.6
Filename, size File type Python version Upload date Hashes
Filename, size env_alias-0.3.6-py3-none-any.whl (21.8 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size env-alias-0.3.6.tar.gz (10.5 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page