flex-auth/deploy/flex-auth-tenant-engine.yaml
tegwick 68b3d74df3
All checks were successful
CI Smoke / host-smoke (push) Successful in 1s
CI Smoke / container-smoke (push) Successful in 1s
deploy: record tenant-engine live digest 05a03a87 promoted 2026-09-11
The 25712f2 promotion moved values/tenant-engine.yaml to sha256:05a03a87
but left the emergency kubectl manifest and both rollback tables on
138aa347, so an emergency re-apply would have silently downgraded the pin
and dropped portal onboarding. The manifest now kubectl-diffs clean against
live; 138aa347 is recorded as the rollback target. Raised by net-kingdom
NK-WP-0039.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 307130@bnt-lap001
Assistant-Session: 270c79f7-0823-4b0d-990d-aad5af9935ce
2026-09-23 19:54:34 +02:00

127 lines
3.1 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
serviceAccountName: flex-auth-tenant-engine
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
- --caller-auth-mode
- enforce
- --caller-kubernetes-url
- https://10.43.0.1
- --caller-binding
- tenant-engine=system:serviceaccount:tenant-engine:tenant-engine
image: forgejo.coulomb.social/coulomb/flex-auth@sha256:05a03a8790c2210c48ea92391441c77ddf640d0cd32f5ec09838f5393171fcbd
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
volumeMounts:
- mountPath: /var/run/secrets/flex-auth-reviewer
name: flex-auth-reviewer
readOnly: true
securityContext:
fsGroup: 65532
runAsGroup: 65532
runAsNonRoot: true
runAsUser: 65532
seccompProfile:
type: RuntimeDefault
volumes:
- name: flex-auth-reviewer
projected:
defaultMode: 0440
sources:
- serviceAccountToken:
expirationSeconds: 3600
path: token
- configMap:
items:
- key: ca.crt
path: ca.crt
name: kube-root-ca.crt
---
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:
- ports:
- port: 443
protocol: TCP
- port: 6443
protocol: TCP
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