Documentation

Install the CLI, learn the model and look up every command.

Guides

storeenv run

Inject secrets into any command without writing a file.

Guides 1 min read

storeenv run decrypts the environment and starts your command with the values in its environment. Nothing is written to disk.

$ storeenv run -- npm start
$ storeenv run --env production -- node server.js
$ storeenv run --service backend -- python manage.py migrate

Which environment

The same as pull: --env, then STOREENV_ENV, then storeenv env use, then a branch rule, then default.

What run refuses

  • Process control variables (NODE_OPTIONS, PATH, LD_*, DYLD_*, BASH_ENV, GIT_SSH_COMMAND, PYTHONSTARTUP, JAVA_TOOL_OPTIONS, STOREENV_* and more), unless you allow one by name with --allow-env.
  • Any value that isn't signed by a trusted writer. --allow-unsigned doesn't apply to run.

Signals and exit codes

Ctrl+C, and SIGTERM and SIGHUP (for example from docker stop), are passed to your command; run waits for it and exits with its exit code, or 128 + the signal number if it was killed by a signal. That makes it safe as a container's main process.