flex-auth/deploy/flex-auth-tenant-engine.yaml
tegwick 3dc6223cc2
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 2s
Roll flex-auth-tenant-engine onto the FLEX-WP-0010 policy image
CI-built image from e9911eb, digest
sha256:9320df394a642eff24da8af4a0ee8886a7bb78b0f14d8ee1deeb30ea8eeeaba7,
verified in a throwaway container before pinning and then probed again
against the live Service after rollout:

  tenant.retire    allow write_api_policy_matched  decision:491bbef2db999c02
  tenant.create    allow write_api_policy_matched  decision:fa3ba90e9cccb5aa
  tenant.retired   deny  unknown_action            decision:c5ee185de439ffe5
  unknown subject  deny  unknown_subject           decision:a98c59c6a34f84ad

tenant.retire has flipped from deny unknown_action to allow in
production, which is what TEN-WP-0005-T05 was waiting on.

Only flex-auth-tenant-engine was rolled. flex-auth-user-engine stays
pinned to a31961c4 -- its policy is unchanged and there is no reason to
move it. Previous tenant-engine digest kept in the runbook as the
rollback target.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-11 10:41:25 +02:00

95 lines
2.2 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
name: flex-auth-tenant-engine
namespace: flex-auth
spec:
replicas: 1
selector:
matchLabels:
app.kubernetes.io/name: flex-auth-tenant-engine
template:
metadata:
labels:
app.kubernetes.io/name: flex-auth-tenant-engine
spec:
automountServiceAccountToken: false
containers:
- args:
- serve
- --addr
- 0.0.0.0:8080
- --registry
- /opt/flex-auth/examples/tenant-engine/registry_snapshot.json
- --policy
- /opt/flex-auth/examples/tenant-engine/policy_package.md
image: forgejo.coulomb.social/coulomb/flex-auth@sha256:9320df394a642eff24da8af4a0ee8886a7bb78b0f14d8ee1deeb30ea8eeeaba7
livenessProbe:
httpGet:
path: /healthz
port: http
periodSeconds: 20
name: flex-auth
ports:
- containerPort: 8080
name: http
readinessProbe:
httpGet:
path: /healthz
port: http
periodSeconds: 5
resources:
limits:
cpu: 300m
memory: 192Mi
requests:
cpu: 25m
memory: 32Mi
securityContext:
allowPrivilegeEscalation: false
capabilities:
drop:
- ALL
readOnlyRootFilesystem: true
securityContext:
runAsNonRoot: true
seccompProfile:
type: RuntimeDefault
---
apiVersion: v1
kind: Service
metadata:
name: flex-auth-tenant-engine
namespace: flex-auth
spec:
ports:
- name: http
port: 8080
targetPort: http
selector:
app.kubernetes.io/name: flex-auth-tenant-engine
---
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: flex-auth-tenant-engine
namespace: flex-auth
spec:
egress: []
ingress:
- from:
- namespaceSelector:
matchLabels:
kubernetes.io/metadata.name: tenant-engine
podSelector:
matchLabels:
app.kubernetes.io/name: tenant-engine
ports:
- port: 8080
protocol: TCP
podSelector:
matchLabels:
app.kubernetes.io/name: flex-auth-tenant-engine
policyTypes:
- Ingress
- Egress