Skip to main content

envchain shellenv - prints export statements for your secrets in the keychain

Project description

envchain shellenv

Injecting secrets from envchain / keychain into your shell as environment variables, in batch.

envchain-shellenv - prints export statements for your secrets in the keychain

so that you can do eval "$(envchain-shellenv)".

Use with envchain for maximum convenience.

Quick Start

# install envchain first, and add your secrets to your keychain app via envchain
# for macOS with Homebrew, run `brew install envchain'.
# see https://github.com/sorah/envchain for more details.

# install envchain-shellenv
pipx install envchain-shellenv || pip install envchain-shellenv

# creates an example config at ~/.config/envchain-shellenv/keychain.ini
envchain-shellenv --create-example-config
# edit config file with your favorite editor
vim ~/.config/envchain-shellenv/keychain.ini

# export your envchain secrets in the current shell
eval "$(envchain-shellenv)"
# optionally add this line to your shell startup file

Installation

Prerequisites

  • Required:
  • Optional:
    • keyring

      keyring is installed by default if you install envchain-shellenv with pipx.

      To use keyring when installing with pip, do pip install 'envchain-shellenv[keyring]'.

pipx

This is the recommended installation method.

$ pipx install envchain-shellenv

pip

$ pip install envchain-shellenv

Usage:

envchain-shellenv prints export statements for your secrets in the keychain,

when you need your secrets in your shell env, just do eval "$(envchain-shellenv)".

$ eesh -h # `eesh' is just an alias for `envchain-shellenv', you can use either.

usage: envchain-shellenv [-h] [-c CONFIG] [--create-example-config] [-u {envchain,keyring}] [--version]

envchain shellenv - prints export statements for your secrets in the keychain

options:
  -h, --help            show this help message and exit
  -c CONFIG, --config CONFIG
                        config file (default: /Users/tscp/.config/envchain-shellenv/keychain.ini)
  --create-example-config
                        create example config file (default: False)
  -u {envchain,keyring}, --use {envchain,keyring}
                        What to use to extract secrets (default: envchain)
  --version, -V         show program's version number and exit

Created by Teddy Xinyuan Chen || Homepage: https://github.com/tddschn/envchain-shellenv

Example

Example config file

test:
  TEST: TEST_SEC
  MULTILINE:
aws: # the envchain namespace
  AWS_SECRET_KEY:
  AWS_ROOT_PW: envchain-aws-root-pw
  # sets AWS_ROOT_PW env var to envchain-aws-root-pw in the aws namespace of envchain
no-item:
  # this will be skipped

Develop

$ git clone https://github.com/tddschn/envchain-shellenv.git
$ cd envchain-shellenv
$ poetry install

Project details


Download files

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

Source Distribution

envchain-shellenv-1.0.2.tar.gz (6.5 kB view hashes)

Uploaded Source

Built Distribution

envchain_shellenv-1.0.2-py3-none-any.whl (7.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page