Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Environment variables

Every variable below has an equivalent flag. A flag on the command line overrides the variable.

Corium variables

VariableEquivalent flagUsed by
CORIUM_TOKEN--tokenEvery client command.
CORIUM_SERVE_TOKEN--serve-tokentransactor, peer-server, postgres-server.
CORIUM_AUTHZ_DB--authz-dbtransactor, peer-server, postgres-server.
CORIUM_STORAGE_KEY--storage-keytransactor, peer-server, postgres-server, gc, log.
CORIUM_STORE_PLUGINS--store-plugintransactor, store verify.
CORIUM_PLUGIN_READ_ONLY_CONFIG--plugin-read-only-configtransactor.
CORIUM_POSTGRES_READ_ONLY_URL--postgres-read-only-urltransactor.
CORIUM_S3_READ_ONLY_ACCESS_KEY_ID--s3-read-only-access-key-idtransactor.
CORIUM_S3_READ_ONLY_SECRET_ACCESS_KEY--s3-read-only-secret-access-keytransactor.
CORIUM_S3_READ_ONLY_SESSION_TOKEN--s3-read-only-session-tokentransactor.
CORIUM_S3_READ_ONLY_ROLE_ARN--s3-read-only-role-arntransactor.
CORIUM_S3_READ_ONLY_ROLE_EXTERNAL_ID--s3-read-only-role-external-idtransactor.

CORIUM_STORAGE_KEY accepts a comma-separated list, because one process can hold several keys. The same keyring resolves key-encryption keys and protection class keys.

CORIUM_STORE_PLUGINS accepts a path-separator-delimited list of files and directories. Corium searches a directory for platform dynamic libraries only, and it never adds the working directory.

Rust and AWS variables

VariableEffect
RUST_LOGTracing filter, for example corium_transactor=debug,corium_peer=info.
HOSTNAMESupplies the default --owner value, transactor-$HOSTNAME.
AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEYPrimary S3 credentials.
AWS_PROFILE, AWS_REGION, AWS_ENDPOINT_URLStandard AWS configuration.

The transactor takes its primary S3 credentials from the standard AWS chain, which also covers instance and task roles.

Handling secrets

Process arguments are visible to every user on the host. Three rules follow.

  • Put a token, a password, or a connection URL in an environment variable, or in the configuration file.
  • Set the mode of a key file and of a configuration file so that only the service user can read them.
  • Prefer a file: storage key over an env: storage key. A file has a mode. An environment variable is inherited by child processes.