deploy: add verified secrets-engine production policy pin
Some checks are pending
CI Smoke / host-smoke (push) Waiting to run
CI Smoke / container-smoke (push) Waiting to run

Assistant: codex
Assistant-Model: gpt-6-astra
Assistant-Session: 01a0726e-5232-73f2-aaca-2c05ceb62efb
This commit is contained in:
tegwick 2026-09-06 19:45:40 +02:00
parent b7cc96b7b2
commit 0b4e5c28bc
3 changed files with 59 additions and 1 deletions

View file

@ -110,3 +110,14 @@ or re-apply the last-known-good digest in `deploy/README.md`.
| `flex-auth-user-engine` | `sha256:138aa3471c46bca6e814691fa1e6520aedda3dffd743e6b09141ab433afdb64b` | **live** — caller-auth enforce (FLEX-WP-0015-T02), CI `main-3de72fe`, A2 probe 2026-08-19 |
| `flex-auth-user-engine` *(previous)* | `sha256:1f5290376dc5fcf456dc7a785e394d8b90949dabecd1d3e856f38557149bb5f4` | FLEX-WP-0009-T04, nine fixtures, live 2026-08-16 |
| `flex-auth-user-engine` *(previous)* | `sha256:a31961c45215aa6baf3bc748c6741ab703c2c8325e61aa7983a355026195e51b` | FLEX-WP-0009-T03, six fixtures |
## Secrets-engine production pin (2026-09-06)
`values/secrets-engine.yaml` deploys the independent release
`flex-auth-secrets-engine` in namespace `flex-auth`. Service DNS is
`flex-auth-secrets-engine.flex-auth.svc.cluster.local:8080`, package
`secrets-engine.catalog-lane.lifecycle` v1. Revision 1 uses CI main-dd3ce4c
by immutable digest, caller-auth warn, and ingress restricted to namespace
secrets-engine/pod label app.kubernetes.io/name=secrets-engine. Do not promote
to enforce until the consumer identity is adopted and verified. See
FLEX-WP-0021 for positive/negative policy and network evidence.

View file

@ -0,0 +1,21 @@
# Dedicated secrets-engine policy service; CI build main-dd3ce4c.
name: flex-auth-secrets-engine
image:
repository: forgejo.coulomb.social/coulomb/flex-auth
digest: sha256:89086c02c74a931068423e70937d03df7850fa0db9c63e70be56b3558f1756af
args:
- serve
- --addr
- 0.0.0.0:8080
- --registry
- /opt/flex-auth/examples/secrets-engine/registry_snapshot.json
- --policy
- /opt/flex-auth/examples/secrets-engine/policy_package.md
callerAuth:
mode: warn
kubernetesURL: https://10.43.0.1
binding: secrets-engine=system:serviceaccount:secrets-engine:secrets-engine
consumer:
isolated: false
namespace: secrets-engine
podName: secrets-engine

View file

@ -168,7 +168,7 @@ consumer asserting it is always present would pass on one and fail on the other.
```task
id: FLEX-WP-0021-T04
status: wait
status: done
priority: high
state_hub_task_id: "f4e8709a-65dd-5172-97ae-e7c3432afb22"
```
@ -232,3 +232,29 @@ Owner: `flex-auth`.
Gate: secrets-engine can set its required configuration to published values and
reach a pin; nothing about the fallback-free shape of that configuration changed.
## Production deployment — 2026-09-06
User authorized production deployment in the Glas session. Installed dedicated
Helm release `flex-auth-secrets-engine`, namespace `flex-auth`, revision 1,
using values/secrets-engine.yaml. CI tag main-dd3ce4c resolves to immutable
digest sha256:89086c02c74a931068423e70937d03df7850fa0db9c63e70be56b3558f1756af.
Chart lint and server dry-run passed; deployment available 1/1. Existing three
consumer deployment specifications were compared before/after and unchanged.
Five published requests returned two allows and three expected denies via
local port-forward. Network probes: namespace secrets-engine with pod label
app.kubernetes.io/name=secrets-engine succeeded after initial propagation
retry; wrong pod label and wrong namespace remained denied across retries.
All six temporary probes and the port-forward were removed. Created the
secrets-engine namespace for the intended consumer identity; no workload or
credential was installed there.
Service: http://flex-auth-secrets-engine.flex-auth.svc.cluster.local:8080.
Policy: secrets-engine.catalog-lane.lifecycle / v1. Caller authentication is
warn, per this task's rollout plan; this is not enforced caller authentication.
Network ingress admits only the specified namespace/pod selector. T05 remains
waiting on consumer configuration/adoption and the owner handoff. Approval
service, KeyCape clients and real credential-lane activation are not supplied
by this deployment. First-install rollback is removal of this dedicated Helm
release, leaving the three existing consumers untouched.