Share sensitive information with cellar. End to end encryption, always free. No sign-up required.

v3.x.x (Current)

[!INFO] This documentation is up to date as of version 3.x.x.

All cellar configuration is handled through API settings, and such API configuration handled through environment variables.

You must configure both the application settings as well as one datastore and one cryptography engine. See below for details.

App

NameTypeDescriptionDefault
APP_CLIENT_ADDRESSstringSpecifies the fully qualified domain name where Cellar will be hosted.http://127.0.0.1:8080
APP_BIND_ADDRESSstringSpecifies the address on which the Cellar API will listen for requests.127.0.0.1:8080
LOGGING_LEVELstringSpecifies the minimum level of logs that Cellar will output. Must be one of the following values: trace, debug, info, warning, error, fatal, panic.info
LOGGING_ENABLE_STDOUTbooleanSpecifies whether Cellar should output logs to standard out.true
LOGGING_DIRECTORY (optional)stringSpecifies a directory where Cellar should write logs. Cellar will create the directory if it does not exist.

Datastore

All datastore settings are contained in a “datastore” section

[!NOTE] Since there is currently only one datastore, it is enabled by default.

Redis

NameTypeDescriptionDefault
DATASTORE_REDIS_HOSTstringSpecifies the host of the Redis database.localhost
DATASTORE_REDIS_PORTintegerSpecifies the host one which to connect to the Redis database.6379
DATASTORE_REDIS_PASSWORD (optional)stringSpecifies the password for the Redis database.
DATASTORE_REDIS_DBintegerSpecifies which database to connect to on the Redis instance.0

Cryptography

All cryptography settings are contained in a “cryptography” section. Each of them contains an “enabled” option. It must be set to true for that cryptography engine to be enabled. However, only one engine can be enabled at a time.

AWS KMS

NameTypeDescriptionDefault
CRYPTOGRAPHY_AWS_ENABLEDbooleanEnables AWS as a cryptography enginefalse
CRYPTOGRAPHY_AWS_REGIONstringSpecifies the AWS region where your kms key is located.
CRYPTOGRAPHY_AWS_KMS_KEY_IDstringSpecifies the ID of the KMS key from AWS to use for encrypting and decrypting.

Vault

NameTypeDescriptionDefault
CRYPTOGRAPHY_VAULT_ENABLEDbooleanEnables vault as a cryptography enginefalse
CRYPTOGRAPHY_VAULT_ADDRESSstringSpecifies the full address to the Vault instance.http://localhost:8200
CRYPTOGRAPHY_VAULT_ENCRYPTION_TOKEN_NAMEstringSpecifies the name of the encryption key from the Vault Transit Secrets ENgine to use for encrypting and decrypting.
CRYPTOGRAPHY_VAULT_AUTH_MOUNT_PATHstringSpecifies the mount path of the auth engine you whish to use to authenticate from Cellar API to vault (see below for more information)

Cellar supports multiple methods of authentication between your api and vault. You must configure exactly one of them.

For more information on how each of these auth methods work, please refer to the Vault Auth Methods documentation.

AppRole Auth

NameTypeDescriptionDefault
CRYPTOGRAPHY_VAULT_ROLE_IDstringSpecifies the role_id to use for authenticating to Vault with AppRole authentication.
CRYPTOGRAPHY_VAULT_SECRET_IDstringSpecifies the secret_id to use for authenticating to Vault with AppRole authentication.

AWS IAM Auth

NameTypeDescriptionDefault
CRYPTOGRAPHY_VAULT_AUTH_AWSIAM_ROLEstringSpecifies the AWS IAM role to use for authenticating to vault with AWS IAM authentication.

GCP IAM Auth

NameTypeDescriptionDefault
CRYPTOGRAPHY_VAULT_AUTH_GCPIAM_ROLEstringSpecifies the GCP IAM role to use for authenticating to vault with GCP IAM authentication.

Kubernetes Auth

NameTypeDescriptionDefault
CRYPTOGRAPHY_VAULT_AUTH_KUBERNETES_ROLEstringSpecifies the K8s role to use for authenticating to vault with K8s authentication.