31 lines
1.5 KiB
Markdown
31 lines
1.5 KiB
Markdown
# 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.
|
|
|
|
```bash
|
|
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.
|