The sanctioned Helm chart could not promote ADR 0004 at all, and the emergency manifests selected enforce. That made a FLEX-WP-0011 apply either a no-op or a global 401. First production pin is now warn, per consumer, on CI digest sha256:138aa347… . Enforce stays a later per-consumer flip so USER-WP-0023-T03 can close without waiting on tenant-engine.
32 lines
1.8 KiB
Bash
Executable file
32 lines
1.8 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
# Stage 1 overlay render: contract + helm template of every independently
|
|
# rollable values file. Does not contact the cluster.
|
|
set -euo pipefail
|
|
cd "$(dirname "${BASH_SOURCE[0]}")/.."
|
|
|
|
python3 tests/validate_app_toml.py
|
|
|
|
for values in values/stage1.yaml values/stage2-canary.yaml values/stage3-production.yaml \
|
|
values/user-engine.yaml values/tenant-engine.yaml; do
|
|
echo "helm template ${values}"
|
|
helm template flex-auth charts/flex-auth -f "${values}" --namespace flex-auth >/dev/null
|
|
done
|
|
|
|
user_render="$(helm template flex-auth-user-engine charts/flex-auth -f values/user-engine.yaml --namespace flex-auth)"
|
|
echo "$user_render" | grep -q -- '--caller-auth-mode' || { echo "user-engine render omits caller-auth-mode" >&2; exit 1; }
|
|
echo "$user_render" | grep -A1 -- '--caller-auth-mode' | grep -q warn || { echo "user-engine first pin must be warn" >&2; exit 1; }
|
|
echo "$user_render" | grep -q tokenreviews || { echo "user-engine render omits TokenReview RBAC" >&2; exit 1; }
|
|
echo "$user_render" | grep -q flex-auth-reviewer || { echo "user-engine render omits reviewer projection" >&2; exit 1; }
|
|
|
|
tenant_render="$(helm template flex-auth-tenant-engine charts/flex-auth -f values/tenant-engine.yaml --namespace flex-auth)"
|
|
echo "$tenant_render" | grep -A1 -- '--caller-auth-mode' | grep -q warn || { echo "tenant-engine first pin must be warn" >&2; exit 1; }
|
|
echo "$tenant_render" | grep -q 'tenant-engine=system:serviceaccount:tenant-engine:tenant-engine' \
|
|
|| { echo "tenant-engine render omits its exact binding" >&2; exit 1; }
|
|
|
|
canary_render="$(helm template flex-auth-canary charts/flex-auth -f values/stage2-canary.yaml --namespace flex-auth)"
|
|
if echo "$canary_render" | grep -q tokenreviews; then
|
|
echo "isolated canary must not create TokenReview RBAC" >&2
|
|
exit 1
|
|
fi
|
|
|
|
echo "stage1 overlay render ok"
|