Files
vault/bank-vaults/README.md

2.0 KiB
Raw Blame History

Bank-vault (от banzai-cloud)

почитать тут

  1. helm upgrade --install --create-namespace -n vault vault helm/vault

Vaults webhooks

helm upgrade --install --create-namespace --namespace vswh --wait vault-secrets-webhook oci://ghcr.io/bank-vaults/helm-charts/vault-secrets-webhook --set configMapMutation=true
kubectl kustomize https://github.com/bank-vaults/vault-operator/deploy/rbac | kubectl apply -f -
  1. после запуска идем в первый vault-0 и инитим его (и открываем сразу)
vault operator init -key-shares=1 -key-threshold=1
vault operator unseal <key1>
vault login <key1>
  1. настроим k8s для работы с вольтом
vault auth enable kubernetes
vault write auth/kubernetes/config \
  token_reviewer_jwt="$(cat /var/run/secrets/kubernetes.io/serviceaccount/token)" \
  kubernetes_host="https://${KUBERNETES_SERVICE_HOST}:${KUBERNETES_SERVICE_PORT}" \
  kubernetes_ca_cert=@/var/run/secrets/kubernetes.io/serviceaccount/ca.crt
  1. создаем политику доступа
vault policy write vault-test - <<EOF
path "kv/data/myenvs" {
  capabilities = ["read"]
}
EOF
  1. создаем роль
vault write auth/kubernetes/role/vault-test \
        bound_service_account_names=vault \
        bound_service_account_namespaces=vault-test,vswh  \
        policies=vault-test \
        ttl=2h
vault write auth/kubernetes/role/default \
        bound_service_account_names=* \
        bound_service_account_namespaces=*  \
        policies=vault-test \
        ttl=2h
  1. импортируем секрет и запускаем деплой

создаем kv

vault secrets enable -path=kv -version=2 kv

создаем секрет myenvs, содержимое можно взять из примера keys.json

kubectl bank-vaults/vault-test.yaml