Fix vault oidc-job
This commit is contained in:
parent
bca20ad827
commit
f2051ed79c
@ -14,7 +14,7 @@ spec:
|
||||
args:
|
||||
- |
|
||||
set -e
|
||||
echo "⏳ Waiting for Vault to become available..." &&
|
||||
echo "⏳ Waiting for Vault to become available..."
|
||||
until curl -s http://vault.dev-tools.svc.cluster.local:8200/v1/sys/health | grep '"initialized":true'; do
|
||||
sleep 2
|
||||
done
|
||||
@ -29,7 +29,7 @@ spec:
|
||||
fi
|
||||
|
||||
echo "🔐 Enabling OIDC auth method..."
|
||||
vault auth enable oidc || true # ok if already enabled
|
||||
vault auth enable oidc || true
|
||||
|
||||
echo "🔧 Configuring OIDC connection to Keycloak..."
|
||||
vault write auth/oidc/config \
|
||||
@ -55,23 +55,34 @@ spec:
|
||||
echo 'path "*" { capabilities = ["create", "read", "update", "delete", "list", "sudo"] }' > /tmp/vault-admin.hcl
|
||||
vault policy write vault-admin /tmp/vault-admin.hcl
|
||||
|
||||
echo "🎯 Creating OIDC role named 'vault-admins'..."
|
||||
cat >/tmp/bound_claims.json <<'JSON'
|
||||
{"groups": ["vault-admins"]}
|
||||
echo "🎯 Creating OIDC role named 'vault-admins' via API..."
|
||||
cat >/tmp/vault-admins-role.json <<'JSON'
|
||||
{
|
||||
"bound_audiences": ["vault"],
|
||||
"allowed_redirect_uris": [
|
||||
"https://vault.dvirlabs.com/ui/vault/auth/oidc/oidc/callback",
|
||||
"http://localhost:8250/oidc/callback"
|
||||
],
|
||||
"user_claim": "sub",
|
||||
"groups_claim": "groups",
|
||||
"bound_claims": { "groups": ["vault-admins"] },
|
||||
"oidc_scopes": ["profile","email","groups"],
|
||||
"policies": ["vault-admin"],
|
||||
"ttl": "1h"
|
||||
}
|
||||
JSON
|
||||
|
||||
vault write auth/oidc/role/vault-admins \
|
||||
bound_audiences="vault" \
|
||||
allowed_redirect_uris="https://vault.dvirlabs.com/ui/vault/auth/oidc/oidc/callback" \
|
||||
user_claim="sub" \
|
||||
groups_claim="groups" \
|
||||
bound_claims=@/tmp/bound_claims.json \
|
||||
oidc_scopes="profile email groups" \
|
||||
policies="vault-admin" \
|
||||
ttl="1h"
|
||||
curl -sS \
|
||||
-H "X-Vault-Token: $VAULT_TOKEN" \
|
||||
-H "Content-Type: application/json" \
|
||||
-X PUT "$VAULT_ADDR/v1/auth/oidc/role/vault-admins" \
|
||||
--data @/tmp/vault-admins-role.json
|
||||
|
||||
echo "🔎 Verifying role..."
|
||||
curl -sS -H "X-Vault-Token: $VAULT_TOKEN" \
|
||||
"$VAULT_ADDR/v1/auth/oidc/role/vault-admins" | sed 's/"client_secret".*"/"client_secret":"***"/'
|
||||
|
||||
echo "✅ All OIDC setup completed successfully."
|
||||
|
||||
volumeMounts:
|
||||
- name: vault-token
|
||||
mountPath: /vault/secrets
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user