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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file envchain-shellenv-1.0.2.tar.gz.

File metadata

  • Download URL: envchain-shellenv-1.0.2.tar.gz
  • Upload date:
  • Size: 6.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.2.1 CPython/3.10.5 Darwin/22.1.0

File hashes

Hashes for envchain-shellenv-1.0.2.tar.gz
Algorithm Hash digest
SHA256 c169f58058234ab14553088c691c27158bc984e7a2a9a7432f31e537655e3a44
MD5 edb579f69f8c7bd76868cedbc990ce90
BLAKE2b-256 d08c300eb7152eb3a5c445bd1c239290d6f2929f10b21c4003b636dc05172d1d

See more details on using hashes here.

File details

Details for the file envchain_shellenv-1.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for envchain_shellenv-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 3096bb62e34ef3c0463a12e887436a962f9acd48e7bbdc10bab817cc1ebfb273
MD5 5d9e545227942d7431a171169cdbc0fa
BLAKE2b-256 853c3ce100d115be4ba7a6235575f98da80e729be512ef29f3d05654b0150d91

See more details on using hashes here.

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