New to KubeVault? Please start here.
In Swift storage backend, Vault data will be stored in OpenStack Swift Container. Vault documentation for Swift storage can be found in here.
apiVersion: kubevault.com/v1alpha1
kind: VaultServer
metadata:
name: vault-with-swift
namespace: demo
spec:
replicas: 1
version: "1.2.0"
backend:
swift:
authURL: "https://auth.cloud.ovh.net/v2.0/"
container: "my-vault-container"
credentialSecret: "os-credential"
region: "BHS1"
tenant: "123456789999"
To use Swift as backend storage in Vault specify spec.backend.swift in VaultServer CRD.
spec:
backend:
swift:
authURL: <auth_url>
container: <container_name>
credentialSecret: <secret_name>
region: <region_name>
tenant: <tenant_name>
tenantID: <tenant_id>
domain: <domain>
projectDomain: <project_domain>
storageURL: <storage_url>
authTokenSecret: <secret_name>
Here, we are going to describe the various attributes of the spec.backend.swift field.
swift.authURL is a required field that specifies the OpenStack authentication endpoint.
spec:
backend:
swift:
authURL: "https://auth.cloud.ovh.net/v2.0/"
swift.container is a required field that specifies the name of the Swift container.
spec:
backend:
swift:
container: "my-vault-container"
swift.credentialSecret is a required field that specifies the name of the secret containing the OpenStack account/username and password. The secret contains the following keys:
usernamepasswordspec:
backend:
swift:
credentialSecret: "os-credential"
swift.tenant is an optional field that specifies the name of the tenant. If it is not specified, then Vault will set the value to the default tenant of the username.
spec:
backend:
swift:
tenant: "123456789"
swift.region is an optional field that specifies the name of the region.
spec:
backend:
swift:
region: "BHS1"
swift.tenantID is an optional field that specifies the id of the tenant.
spec:
backend:
swift:
tenantID: "11111111"
swift.domain is an optional field that specifies the name of the user domain.
spec:
backend:
swift:
domain: "my-domain"
swift.domain is an optional field that specifies the name of the project’s domain.
spec:
backend:
swift:
projectDomain: "my-project-domain"
swift.trustID is an optional field that specifies the id of the trust.
spec:
backend:
swift:
trustID: "trust-id"
swift.storageURL is an optional field that specifies the storage URL from alternate authentication.
spec:
backend:
swift:
storageURL: "storage.com"
swift.authTokenSecret is an optional field that specifies the name of the secret containing auth token from alternate authentication.
spec:
backend:
swift:
authTokenSecret: "auth-token-secret"
maxParallel is an optional field that specifies the maximum number of parallel operations to take place. This field accepts integer value. If this field is not specified, then Vault will set value to 128.
spec:
backend:
swift:
maxParallel: 124