Vault secures, stores, and tightly controls access to
tokens, passwords, certificates, API keys, and other
secrets in modern computing. Vault handles leasing, key
revocation, key rolling, and auditing. Through a unified
API, users can access an encrypted Key/Value store and
network encryption-as-a-service, or generate AWS IAM/STS
credentials, SQL/NoSQL databases, X.509 certificates,
SSH credentials, and more.
- security ›
Vault secures, stores, and controls access to tokens,
passwords, certificates, API keys, and other secrets in modern computing. Vault
handles leasing, key revocation, key rolling, and auditing. Through a unified
API, users can access an encrypted key/value store and network
encryption-as-a-service, or generate AWS IAM/STS credentials, SQL/NoSQL
databases, X.509 certificates, SSH credentials, and more.
The charm installs Vault from a snap.
This section covers common configuration options. See file
the full list of options, along with their descriptions and default values.
channel option sets the snap channel to use for deployment (e.g.
'latest/edge'). The default value is 'latest/stable'.
Deploy a single vault unit in this way:
juju deploy vault
Then relate it to either MySQL or PostgreSQL.
For MySQL 5:
juju add-relation vault:shared-db percona-cluster:shared-db
For MySQL 8:
juju deploy mysql-router vault-mysql-router juju add-relation vault-mysql-router:db-router mysql-innodb-cluster:db-router juju add-relation vault-mysql-router:shared-db vault:shared-db
For PostgreSQL, its version and the underlying machine series must be
compatible (e.g. 9.5/xenial or 10/bionic). Use configuration option
with the postgresql charm to select a version. For example,
juju deploy --config version=9.5 --series xenial postgresql juju add-relation vault:db postgresql:db
Once the vault application is deployed the following tasks must be performed:
- Vault initialisation
- Unsealing of Vault
- Charm authorisation
This section lists Juju actions supported by the charm.
Actions allow specific operations to be performed on a per-unit basis.
To display action descriptions run
juju actions vault. If the charm
is not deployed then see file
Please report bugs on Launchpad.
For general charm questions refer to the OpenStack Charm Guide.
- (boolean) Once unsealed, automatically generate a self-signed root CA rather than waiting for an action to be called to either generate one or process a signing request to act as an intermediary CA. Note that this will use all default values for the root CA cert. If you want to adjust those values, you should use the generate-root-ca action instead.
- (string) The snap channel to install from.
- (string) Default TTL to use when generating CA certs.
- (string) Default TTL to use when generating certs.
- (boolean) Set this option only if you are deploying to an environment that does not support the mlock(2) system call. When this option is set, vault will be unable to prevent secrets from being paged out, so use it with extreme caution.
- (string) DNS record to use for DNS HA with MAAS. Do not use vip setting if this is set.
- (string) Hostname to be used for the API URL. This hostname should exist as a DNS record and be resolvable by the charms that will consume the relation with vault.
- (string) Max allowed TTL to use when generating certs (must be greater than the default).
- (string) A string that will be prepended to instance name to set the host name in nagios. So for instance the hostname would be something like: juju-myservice-0 If you're running multiple environments with the same services in them this allows you to differentiate between them.
- (string) Comma separated list of nagios servicegroups for the service checks.
- (string) DEPRECATED. Use snap-http-proxy and snap-https-proxy model configuration settings. HTTP/HTTPS web proxy for Snappy to use when accessing the snap store.
- (string) DEPRECATED. Use snap-store-proxy model configuration setting. The address of a Snap Store Proxy to use for snaps e.g. http://snap-proxy.example.com
- (string) How often snapd handles updates for installed snaps. The default (an empty string) is 4x per day. Set to "max" to check once per month based on the charm deployment date. You may also set a custom string as described in the 'refresh.timer' section here: https://forum.snapcraft.io/t/system-options/87
- (string) The SSL Root CA certificate, base64-encoded.
- (string) The SSL certificate, base64-encoded.
- (string) The SSL chain certificate, base64-encoded.
- (string) The SSL key, base64-encoded.
- (boolean) FOR TESTING ONLY. Initialise vault after deployment and store the keys locally. Locally stored material can be displayed with: juju run --unit vault/0 leader-get
- (string) Virtual IP to use api traffic. You can provide up to two addresses configured on the access or external bindings. If neither binding is used then you can only provide one address that must be configured on the default space.