Changelog

See what's new in Envie.

0.1.4

byilmari-h

Release 0.1.4 introduces a new feature for the envie set command that makes it easy to clone environment variables between environments.

You can now use the --from flag to copy values from one environment to another without having to manually decrypt, copy, and re-encrypt values.

Clone a variable with the same name:

envie set org:proj:production API_KEY --from org:proj:staging

Clone and rename (remap) in one step:

envie set org:proj:dev REDIS_URL=REDIS_ADDRESS--from org:proj:production

Clone multiple variables at once:

envie set org:proj:production API_KEY DB_URL REDIS_HOST --from org:proj:staging

Mix cloning and remapping:

envie set org:proj:dev PUBLIC_API=INTERNAL_API SECRET_KEY DB_PASSWORD --from org:proj:staging

Note: You must have read access to the source environment and write access to the target environment. The --from flag is only for cloning values; to set literal values, use the standard KEY=value syntax without --from.

Read more →

0.1.3

byilmari-h

This release fixes an issue with the set command. It would fail to parse input if the value contained an equals sign.

Read more →

0.1.2

byilmari-h

This release allows you to clone an environment with the clone command:

envie environment clone <environment-to-clone> <new-environment>

Useful if you want to e.g. quickly clone the prod environment for local debugging, but need to change just a few variables like the database connection.

Read more →

0.1.1

byilmari-h

Various small improvements:

  • The CLI will now remind users to upgrade if there is a new version available
  • Improved syntax for access token expiry. You can now pass in an expiry flag like --expiry 1d
  • The set command now supports passing in multiple space-separated KEY=VALUE pairs
Read more →

0.1.0

byilmari-h

Release 0.1.0 involves a major upgrade to access tokens that makes using Envie in CICD pipelines and Dockerfiles easier.

Access tokens no longer require a keypair to be set on the host machine. Instead, each access token itself contains an encoded Ed25519 keypair.

To create an access token run:

envie access-token create <access-token-name>

To use the access token, set the value of ENVIE_ACCESS_TOKEN environment variable to the value of your token.

You can now use CLI commands without having to log in. Instead the access token is used for authentication.

NOTE: you must explicitly grant access to environments for your access tokens:

envie environment set-access <environment-path> <access-token-name>

Your access token inherits the same organzation access as your user account.

Read more →

0.0.15

byilmari-h

Enabled ability to overwrite group environment variables in an environment.

The environment show command displays them as overwritten.

╭─── env:test:prod (1 variable) │ API_KEY=<encrypted> overwrite ╭─── api (1 variable) │ A̶P̶I̶_̶K̶E̶Y̶=̶<e̶n̶c̶r̶y̶p̶t̶e̶d̶> ╭─── postgres (1 variable) │ POSTGRES_URL=<encrypted> ╰────────────────────────────────── Duplicate keys: BIRDEYE_API_KEY (birdeye, access:trade-tracker:prod)
Read more →

0.0.14

byilmari-h

Fixed the show command for variable groups.

Read more →

0.0.13

byilmari-h

Fixed bug with exec command.

Read more →

0.0.12

byilmari-h

This release includes various bug fixes and the rollback command.

Rollback command

You can rollback to a previous version of an environment with:

envie environment rollback <environment-path> <version-number>

This creates a new version that copies the content of the chosen old version, thus preserving version history but allowing you to revert.

To see what versions are available, you can do:

envie environment audit <environment-path>

And to show environment content for a given version, you can do

envie environment show <environment-path>@<version-number>
Read more →

0.0.11

byilmari-h

Introducing variable groups

Variable groups allow users to group environment variables together. Access control rules are defined per group. Groups have the same level of access control as environments (you can define read and write access per user with optional time limits).

Create a variable group:

envie variable-group create <organization>:<group-name> VAR1=value1 VAR2=value2 VAR3=value3

List variable groups:

envie variable-group list

Add variable group to your environment:

Now when ever values in the variable group are updated, they will be reflected in this environment.

envie environment add-group <organization>:<project>:<env> <organization>:group:<group-name>

Improved display of environments

Now when you run envie environment show you get a more stylish and informative view of your environment content, including any variable groups that are tied to the environment.

$ envie environment show acme:project:env --unsafe-decrypt ╭─── acme:project:prod (2 variables) │ TEST1=efg │ TEST2=abc ╭─── acme:group:postgres (2 variables) │ POSTGRES_PASSWORD=secretpassword │ POSTGRES_URL=postgres://database:port/db ╭─── acme:group:github-prod (2 variables) │ GH_APP_ID=githubapp │ GH_CLIENT_SECRET=jdsanfablkmaemm24id ╰───────────────────────────────────────
Read more →