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

NameTypeMin VersionDescriptionDefault
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
APP_MAX_FILE_SIZE_MBintegerv3.2.0Specifies the maximum file size in megabytes for v2 file uploads. See Security Best Practices for details.8
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_FORMATstringv3.1.0Specifies the format in which Cellar will output logs. Must be either json or texttext
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

NameTypeMin VersionDescriptionDefault
DATASTORE_REDIS_HOSTstringv3.0.0Specifies the host of the Redis database.localhost
DATASTORE_REDIS_PORTintegerv3.0.0Specifies the host one which to connect to the Redis database.6379
DATASTORE_REDIS_PASSWORD (optional)stringv3.0.0Specifies the password for the Redis database.
DATASTORE_REDIS_DBintegerv3.0.0Specifies 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

NameTypeMin VersionDescriptionDefault
CRYPTOGRAPHY_AWS_ENABLEDbooleanv3.0.0Enables AWS as a cryptography enginefalse
CRYPTOGRAPHY_AWS_REGIONstringv3.0.0Specifies the AWS region where your kms key is located.
CRYPTOGRAPHY_AWS_KMS_KEY_IDstringv3.0.0Specifies the ID of the KMS key from AWS to use for encrypting and decrypting.

Vault

NameTypeMin VersionDescriptionDefault
CRYPTOGRAPHY_VAULT_ENABLEDbooleanv3.0.0Enables vault as a cryptography enginefalse
CRYPTOGRAPHY_VAULT_ADDRESSstringv3.0.0Specifies the full address to the Vault instance.http://localhost:8200
CRYPTOGRAPHY_VAULT_ENCRYPTION_TOKEN_NAMEstringv3.0.0Specifies the name of the encryption key from the Vault Transit Secrets ENgine to use for encrypting and decrypting.
CRYPTOGRAPHY_VAULT_AUTH_MOUNT_PATHstringv3.0.0Specifies 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

NameTypeMin VersionDescriptionDefault
CRYPTOGRAPHY_VAULT_ROLE_IDstringv3.0.0Specifies the role_id to use for authenticating to Vault with AppRole authentication.
CRYPTOGRAPHY_VAULT_SECRET_IDstringv3.0.0Specifies the secret_id to use for authenticating to Vault with AppRole authentication.

AWS IAM Auth

NameTypeMin VersionDescriptionDefault
CRYPTOGRAPHY_VAULT_AUTH_AWSIAM_ROLEstringv3.0.0Specifies the AWS IAM role to use for authenticating to vault with AWS IAM authentication.

GCP IAM Auth

NameTypeMin VersionDescriptionDefault
CRYPTOGRAPHY_VAULT_AUTH_GCPIAM_ROLEstringv3.0.0Specifies the GCP IAM role to use for authenticating to vault with GCP IAM authentication.

Kubernetes Auth

NameTypeMin VersionDescriptionDefault
CRYPTOGRAPHY_VAULT_AUTH_KUBERNETES_ROLEstringv3.0.0Specifies the K8s role to use for authenticating to vault with K8s authentication.