net-kingdom/sso-mfa/k8s/user-engine
tegwick 62b1ea3d59
All checks were successful
CI Smoke / host-smoke (push) Successful in 1s
CI Smoke / container-smoke (push) Successful in 2s
Deploy tenant authority for user portal
2026-08-09 01:39:57 +02:00
..
backup.yaml Add user-engine backup and rollback verification 2026-07-30 00:00:14 +02:00
ingress.yaml Deploy KeyCape-backed portal login edge 2026-07-28 00:39:22 +02:00
openbao-runtime.yaml Move identity secret stores to local OpenBao 2026-08-03 21:37:17 +02:00
README.md Complete user-engine runtime custody 2026-07-30 00:40:43 +02:00
restore-drill.yaml Add user-engine backup and rollback verification 2026-07-30 00:00:14 +02:00
runtime.yaml Deploy tenant authority for user portal 2026-08-09 01:39:57 +02:00
verify-operability.sh Move portal workloads to registry digests 2026-07-30 00:25:16 +02:00

user-engine portal on reef-railiance

This is a stateful rail-kubernetes platform workload. It intentionally has no public Ingress until the KeyCape authorization-code/PKCE edge and user-engine-portal client are configured. Direct access to protected routes must remain impossible because the application accepts identity only from a trusted edge marker plus verified claims.

The portal image is published through the activity-core workload-scoped Forgejo package credential and deployed from forgejo.coulomb.social/coulomb/user-engine by immutable digest. The public package read was verified without an image pull Secret; publishing still uses the ExternalSecret-backed credential and temporary client state.

The CloudNativePG operator creates user-engine-pg-app, including its uri field. OpenBao is authoritative for the portal edge marker and provisioner service token at platform/workloads/user-engine/runtime. The openbao-runtime.yaml stores and ExternalSecrets deliver those values into the existing namespaced Secret names without changing application interfaces.

kubectl apply -f openbao-runtime.yaml
kubectl apply -f runtime.yaml
kubectl -n user-engine rollout status deployment/user-engine
kubectl -n user-engine get cluster,pod,service,networkpolicy

Rollback sets the Deployment image to the preceding immutable digest. Database migrations are additive and run before serving; restore uses the standard CNPG recovery contract once the offsite object-store reference is attached.