EnvKey secures and simplifies configuration and secrets management.


Keywords
configuration, environment variables, encryption, security, config, configuration-management, devops, docker, end-to-end-encryption, environment-variables, golang, infrastructure, kubernetes, nodejs, python, ruby, secrets-management, shell-scripts
License
MIT
Install
npm install envkey@2.5.1

Documentation

Magical secure app config

  • End-to-end encryption for API keys and other secrets.

  • Live reload for environment variables.

  • Fixes configuration sprawl and sloppy secrets management.

  • Prevents config bugs and saves countless engineer-hours.

EnvKey UI

EnvKey CLI

Easy integration

$ envkey-source -- any-shell-command
# That's it! Your command runs with the latest environment variables.

$ es -- any-shell-command
# To type less, use the `es` alias.

$ es -- ping '$DATABASE_URL'
# You can reference EnvKey variables in your shell command by wrapping them in single quotes.

$ es -w -- ./start-server
# Your server automatically restarts when there's a change.

$ es -w --rolling -- ./start-server
# Avoid downtime with rolling reloads across all connected processes.

$ es -r ./reload-env -- ./start-server
# Run custom reload logic when there's a change.

$ eval "$(es)"
# Set environment variables in the current shell.

$ echo $'\n\neval "$(es --hook bash)"\n' >> ~/.bash_profile
# Auto-load the latest environment in any EnvKey-enabled directory.

Check out the integration quickstart for more details.

The cross-platform envkey-source tool works with any language and offers the most integration options.

That said, language-specific wrappers are also available for Node.js, Go, Python, and Ruby.

Why EnvKey?

  • Open source, cross-platform, language-agnostic, end-to-end encrypted with NaCl.

  • Set environment variables + manage apps, environments, branches, servers, people, devices, and access control all in one place.

  • User-friendly UI + developer-friendly CLI.

  • Easy integration wherever you need it.

  • Cloud + self-hosting options.

  • Version control, audit logs, re-usable blocks, branches, environment inheritance, customizable environments, local development environments, change hooks, device-based auth, OS keyring integration, and more.

Install

You can download the latest versions of the EnvKey UI and CLI for your platform by going to EnvKey's homepage and clicking the big Download button at the top of the page. Install it when it's finished downloading.

The first time you open the app, EnvKey's CLI and the envkey-source integration tool will also be installed for you. Both can also be installed individually on a server.

You can also go to releases in this repo and find the latest release of envkey-desktop for your platform.

Here's a quick overview on verifying releases with minisign.

Docs

Check out the docs, including a brief getting started overview.

Coming from v1?

Check out the v1 migration overview

Security

Read our security overview.

Status

See the current status of our services here.

Bugs

Please post an issue if you encounter a bug, even a small one. We'll do our best to fix it as soon as possible.

Discussion and Community

Jump in and ask a question, leave some feedback, ask for new features, or help out another EnvKey user.

Support

Email us: support@envkey.com

Business plans include priority support.

License

All the code in this repo is free and open source under the MIT License.

EnvKey's Cloud and Business Self-Hosted products include commercially licensed server-side extensions for battle-ready infrastructure and advanced user management.

Contributing

Contributions to EnvKey are welcome, though we can't guarantee that we'll be able to accept or review every contribution.

Before submitting a pull request, we suggest starting a discussion to get feedback and buy-in from the core team and community. This will greatly improve the chances that your PR will be reviewed and accepted.

Development

Here's an overview on setting up a dev environment to work on EnvKey.