util: allow configuring VAULT_BACKEND for Vault connection

It seems that the version of the key/value engine can not always be
detected for Hashicorp Vault. In certain cases, it is required to
configure the `VAULT_BACKEND` (or `vaultBackend`) option so that a
successful connection to the service can be made.

The `kv-v2` is the current default for development deployments of
Hashicorp Vault (what we use for automated testing). Production
deployments default to version 1 for now.

Signed-off-by: Niels de Vos <ndevos@redhat.com>
This commit is contained in:
Niels de Vos
2021-07-20 11:18:58 +02:00
committed by mergify[bot]
parent 75b9b9fe6d
commit 82557e3f34
7 changed files with 26 additions and 1 deletions

View File

@ -9,6 +9,7 @@ data:
"vaultAddress": "http://vault.default.svc.cluster.local:8200",
"vaultAuthPath": "/v1/auth/kubernetes/login",
"vaultRole": "csi-kubernetes",
"vaultBackend": "kv-v2",
"vaultPassphraseRoot": "/v1/secret",
"vaultPassphrasePath": "ceph-csi/",
"vaultCAVerify": "false"
@ -16,6 +17,7 @@ data:
"vault-tokens-test": {
"encryptionKMSType": "vaulttokens",
"vaultAddress": "http://vault.default.svc.cluster.local:8200",
"vaultBackend": "kv-v2",
"vaultBackendPath": "secret/",
"vaultTLSServerName": "vault.default.svc.cluster.local",
"vaultCAVerify": "false",
@ -34,6 +36,7 @@ data:
"vault-tenant-sa-test": {
"encryptionKMSType": "vaulttenantsa",
"vaultAddress": "http://vault.default.svc.cluster.local:8200",
"vaultBackend": "kv-v2",
"vaultBackendPath": "shared-secrets",
"vaultTLSServerName": "vault.default.svc.cluster.local",
"vaultCAVerify": "false",

View File

@ -7,6 +7,7 @@ metadata:
name: ceph-csi-kms-config
data:
vaultAddress: "http://vault.default.svc.cluster.local:8200"
vaultBackend: "kv-v1"
vaultBackendPath: "secret/"
vaultTLSServerName: "vault.default.svc.cluster.local"
vaultCAVerify: "false"

View File

@ -21,7 +21,7 @@ data:
vault login ${VAULT_DEV_ROOT_TOKEN_ID}
# create a secret store for the tenant
vault secrets enable -path="tenant" kv
vault secrets enable -version=2 -path="tenant" kv
# create a policy for the tenant
vault policy write "${TENANT_NAMESPACE}" - << EOS

View File

@ -19,5 +19,6 @@ kind: ConfigMap
metadata:
name: ceph-csi-kms-config
data:
vaultBackend: kv-v2
vaultBackendPath: tenant
vaultRole: ceph-csi-tenant