BD-6 Prerequisites Checklist
Sign-off document for BD-6.0 (oep-stg end-to-end deploy + parity verify).
All items must be ticked with evidence before BD-6.1 execution begins.
Scripted checks: scripts/bd4-preflight.sh covers the cluster/platform layer (items 1-7).
Items 8-16 are manual.
Date signed off: pending
Signed off by: pending
| # |
Check |
Pass/Fail |
Evidence |
| 1 |
kubeconfig set to do-ams3-oep-prd-cluster (kubectl config current-context) |
|
|
| 2 |
Argo CD port-forward works: kubectl --context do-ams3-oep-prd-cluster -n argocd port-forward svc/argo-cd-argocd-server 8080:80 |
|
|
| 3 |
argocd app list shows root + all platform apps Synced/Healthy |
|
|
| 4 |
3 ClusterSecretStore resources Valid (kubectl get clustersecretstore) |
|
|
| 5 |
Doppler oep-stg config populated >= 45 keys |
|
|
| 6 |
Gateway listeners :443 + :6001 Accepted + ResolvedRefs |
|
|
| 7 |
Gateway LB IP known and noted here: |
|
|
DOCR + image readiness
| # |
Check |
Pass/Fail |
Evidence |
| 8 |
DOCR basic tier (doctl registry get -o json \| jq -r '.[0].subscription_tier_slug' = basic) |
|
|
| 9 |
Image v1.0.2 present in DOCR (doctl registry repository list-tags api \| grep v1.0.2) |
|
|
Chart + CI
| # |
Check |
Pass/Fail |
Evidence |
| 10 |
apps/laravel/ chart on unipuka-infra-ops master, helm-lint.yml CI passing |
|
|
| 11 |
values-oep-stg.yaml, values-mansety-prd.yaml, values-us-prd.yaml all committed |
|
|
GitHub Actions secrets + environments
| # |
Check |
Pass/Fail |
Evidence |
| 12 |
GH repo secrets set on unipuka/soa: DIGITALOCEAN_TOKEN, INFRA_OPS_DEPLOY_TOKEN, SENTRY_AUTH_TOKEN, SLACK_WEBHOOK_URL |
|
|
| 13 |
GH Environments oep-stg, mansety-prd, us-prd exist in unipuka/soa settings |
|
|
| 14 |
GH Environment secret BUGSNAG_API_KEY set per-env (see Doppler oep/<tenant> → BUGSNAG_API_KEY) |
|
|
Smoke test prerequisites
| # |
Check |
Pass/Fail |
Evidence |
| 15 |
Test account exists on oep-stg: phone + password known to operator |
|
|
| 16 |
REVERB_APP_KEY for oep-stg available from Doppler (doppler secrets get REVERB_APP_KEY --project oep --config oep-stg --plain) |
|
|
Gate commands (run in order)
# 1. kubeconfig
kubectl config current-context
# expect: do-ams3-oep-prd-cluster
# 2-3. Argo access + health (run port-forward in bg first)
kubectl --context do-ams3-oep-prd-cluster \
-n argocd port-forward svc/argo-cd-argocd-server 8080:80 &
sleep 3
argocd login localhost:8080 \
--username admin \
--password "$(doppler secrets get ARGOCD_ADMIN_PASSWORD --plain --project oep --config base)" \
--plaintext --insecure
argocd app list
# 4. ClusterSecretStores
kubectl --context do-ams3-oep-prd-cluster get clustersecretstore
# 5. Doppler key count
doppler secrets --project oep --config oep-stg --only-names 2>/dev/null | wc -l
# expect: >= 45
# 6-7. Gateway
kubectl --context do-ams3-oep-prd-cluster -n gateway get gateway shared -o jsonpath='{.status.listeners}' | jq .
kubectl --context do-ams3-oep-prd-cluster -n gateway get svc -o jsonpath='{.items[0].status.loadBalancer.ingress[0].ip}'
# 8. DOCR tier
doctl registry get -o json | jq -r '.[0].subscription_tier_slug'
# expect: basic
# 9. Image tag
doctl registry repository list-tags api | grep v1.0.2
Ticks added as BD-6 tickets land
| Ticket |
Checklist item to tick |
| BD-6.1 |
Argo root + platform Synced/Healthy confirmed (item 3) |
| BD-6.2 |
ApplicationSet applied, 3 tenant apps visible |
| BD-6.3 |
AppProjects platform + tenants created |
| BD-6.4 |
First deploy v1.0.2 to oep-stg: all 4 pods Running |
| BD-6.5 |
scripts/smoke.sh oep-stg exits 0 |
| BD-6.7 |
Bugsnag dashboard shows release per deploy |