Skip to main content

A tool for managing AWS Parameter Store environments

Project description

psenv

psenv is a CLI tool for managing environment variables using AWS Parameter Store. It allows you to fetch, inject, and sync environment variables for your projects, making it easy to manage secrets and configuration across different projects.

Key Features

  • Fetch environment variables from AWS Parameter Store
  • Inject variables into your shell or process
  • Sync variables to and from .env files

Example Workflow

1. Onboarding a New Developer

A new developer can fetch environment variables for their environment using:

psenv get --env dev

This will create a .env file in the configured directory with the following content:

SOME_VARIABLE1=123
SOME_VARIABLE2=234

#<private>
GITHUB_TOKEN=<REPLACE-WITH-YOUR-PERSONAL-GH-TOKEN>

Variables under the #<private> section are user-specific and should be set by each developer. These are not shared between users.

Command Reference

  • psenv get --env <env>: Fetches environment variables for the specified environment.
  • psenv inject --env <env>: Injects environment variables from your shell into a .env file.
  • psenv put --env <env> --sync: Syncs your local .env file to the parameter store.
  • psenv put --env <env> --add: Adds new parameters from your .env file to the parameter store.
  • psenv put --env <env> --update: Adds new and updates existing parameters in the parameter store from your .env file.
  • psenv put --env <env> --dry-run --sync: Shows what would be changed without making any modifications.

Notes

  • You do not need a .env file to run commands with parameters; values are pulled directly from the parameter store.
  • .env files can be used for syncing environments, as well as used locally for development. Ideally .env files are not kept locally long term and the psenv exec --env <env> command is used to inject variables form the parameter store at runtime.
  • The #<private> section in the .env file is for user-specific / developer secrets and should not be shared between developers.
  • No variables in the #<private> section will be synced to the parameter store.
  • NEVER commit your .env file to version control, as it may contain sensitive information.

See Also

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

pytoolbelt_psenv-0.1.0.tar.gz (15.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pytoolbelt_psenv-0.1.0-py3-none-any.whl (20.1 kB view details)

Uploaded Python 3

File details

Details for the file pytoolbelt_psenv-0.1.0.tar.gz.

File metadata

  • Download URL: pytoolbelt_psenv-0.1.0.tar.gz
  • Upload date:
  • Size: 15.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pytoolbelt_psenv-0.1.0.tar.gz
Algorithm Hash digest
SHA256 7c3a376668c67183cb3baeabf28e1b0059863646122a84e869726d0673cf6732
MD5 4eae1732f3c87d017ac6ed907e01bfba
BLAKE2b-256 4cca10d8cc453147faa7fa21c28ac046fac4269489e2f3ec79107c053a62e0f9

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytoolbelt_psenv-0.1.0.tar.gz:

Publisher: release.yml on pytoolbelt/pytoolbelt-psenv

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pytoolbelt_psenv-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for pytoolbelt_psenv-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 82f2d41c3aa78700c710f713e4b6366662e203a5ea2b04abb73fc0aa27d72ec0
MD5 4b6fdf425cc6dce32eaaa8688170bf7a
BLAKE2b-256 198e4658fa13bc1536ae0c4d9fcaddd87f8c9e099e8bdc0aac04f940d87b0f82

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytoolbelt_psenv-0.1.0-py3-none-any.whl:

Publisher: release.yml on pytoolbelt/pytoolbelt-psenv

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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