audit-core/deploy
tegwick 21b7d7cae9 Wave-2 right-sizing: audit-core CPU request 50m->10m (AUDIT-WP-0016)
Request only; limits and 64Mi memory unchanged.
Evidence: resource-control 2026-10-21 node budget (3d9b1bd).

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

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 276069@bnt-lap001
Assistant-Session: 2e192b3d-b3e8-4403-94d4-d55a2c8b476c
2026-10-22 00:00:33 +02:00
..
attest-cronjob.yaml Operate scheduled chain-head attestation (AUDIT-WP-0009-T12) 2026-09-15 21:18:17 +02:00
audit-core.yaml Wave-2 right-sizing: audit-core CPU request 50m->10m (AUDIT-WP-0016) 2026-10-22 00:00:33 +02:00
clustersecretstore.yaml Read mounted DB credentials from a Kubernetes snapshot 2026-08-13 12:25:32 +02:00
externalsecret-senders.yaml fix(security): prevent ESO copying source annotations (CUST-WP-0073) 2026-09-28 15:56:50 +02:00
externalsecrets.yaml Stand up railiance01 receiver without founder bao kv put 2026-08-13 10:27:13 +02:00
migrate-egress.yaml Retain narrow migration egress and pin cadence-capable receiver release 2026-10-15 21:32:15 +02:00
migrate-job.yaml Retain narrow migration egress and pin cadence-capable receiver release 2026-10-15 21:32:15 +02:00
networkpolicies.yaml Operate scheduled chain-head attestation (AUDIT-WP-0009-T12) 2026-09-15 21:18:17 +02:00
qonto-collector-ingress.yaml Prepare guarded cadence registry updates and Qonto receiver admission 2026-10-15 21:19:05 +02:00
README.md Retain narrow migration egress and pin cadence-capable receiver release 2026-10-15 21:32:15 +02:00
senders-scope.json Register informed-decision.memo.posed for the platform tenant. 2026-10-03 21:18:13 +02:00
senders-scope.yaml Register informed-decision.memo.posed for the platform tenant. 2026-10-03 21:18:13 +02:00

railiance01 package

Target: railiance01 only. The workstation kubeconfig that talks to that API is the k3s-api-railiance01 tunnel (local port 16444). ~/.kube/config-hosteurope currently points at 16443 (coulombcore); rewrite the server port or export a copy before applying.

Apply order is documented in docs/operator-runbook.md. Do not apply the Deployment until:

  1. The image digest is pinned (currently sha256:b479801b… built from source commit 5227fb14e47f26a01930be4611360fd90f740662).
  2. Secrets audit-core-database, audit-core-database-migrate, and audit-core-senders exist. ConfigMap audit-core-senders-scope is applied (deploy/senders-scope.yaml) before the Deployment mounts it.
  3. Apply deploy/migrate-egress.yaml before starting the migration Job. The default-deny policy selects every pod, while the receiver egress policy deliberately selects component receiver only. Migration pods need their own exact component migrate exception: DNS TCP/UDP53 to kube-dns in kube-system and PostgreSQL TCP5432 to platform-pg pods in databases. No API-server access or service account token is needed.
  4. Job audit-core-migrate has completed and ledger includes 0007-import-receipts before the current receiver image is released.
make image-build
make deploy-dry-run

The 2026-10-15 NK-WP-0035 migration retries exposed this missing dedicated egress exception: the first two attempts could not resolve/reach PostgreSQL. The bounded policy is retained as source so future releases do not depend on an undocumented repair. Both receiver and migration Job pin immutable image forgejo.coulomb.social/coulomb/audit-core@sha256:b479801b0bc76df66a36a85376c45aaf399c6d82feade9ba81430b774c4a8271, built from source 5227fb14e47f26a01930be4611360fd90f740662; this follow-up changes deployment configuration only and requires no image rebuild. Migration 0007 adds import receipts and indexes without changing existing event rows.