AutoCoder Engine entered CrashLoopBackOff after deploying image gitea.app.lan/autocoder/autocoder-engine:sha-915f019dc1ac because the new in-cluster PostgreSQL dependency had not been bootstrapped in Kubernetes.
The engine startup failed while resolving the Postgres service hostname. The repository had been updated to place Postgres in namespace autocoder-engine, but the deploy workflow had only reconciled k8s/05-deployment-service-ingress.yaml, leaving Service/autocoder-postgres, Deployment/autocoder-postgres, and Postgres network policies absent from the live cluster.
After the pod recovered, the /accounts page showed zero Codex accounts because the new Postgres-backed codex_accounts table was empty. Legacy auth.json files still existed on the workspace PVC and needed migration into Postgres.
The first frontend artifact redeploy attempt failed because the deploy workflow used cargo test --locked, which invoked doctests and required rustdoc; the runner image did not provide rustdoc. The workflow was updated to run unit tests with cargo test --locked --lib --bins.
A later AutoCoder self-update loop exposed two validation problems: the runtime image lacked native build tools such as cc, and CI was correctly failing on a Rust feature-gating bug where hydrate_application_page was exported without the hydrate feature.
/home/ax_julian/AutoCoder-Engine to main commit 915f019.autocoder-engine for both AutoCoder Engine and Postgres.KUBECONFIG=/home/ax_julian/.kube/config kubectl apply -f /home/ax_julian/AutoCoder-Engine/k8s/09-postgres.yaml
KUBECONFIG=/home/ax_julian/.kube/config kubectl apply -f /home/ax_julian/AutoCoder-Engine/k8s/04-network-policies.yaml
KUBECONFIG=/home/ax_julian/.kube/config kubectl -n autocoder-engine delete pod -l app=autocoder-engine
auth.json files from the workspace PVC into codex_accounts as separate enabled legacy records. The migration used path-derived IDs to avoid collapsing separate legacy slots that may share token account metadata.gitea.app.lan/autocoder/autocoder-engine:sha-187fe80e28d1 via Gitea Actions.hydrate_application_page unless the hydrate feature is enabled.cc, pkg-config, make, rustdoc, and rustfmt during image build.gitea.app.lan/autocoder/autocoder-engine:sha-010d00785788 via Gitea Actions.Deployment/autocoder-postgres: 1/1 available.Deployment/autocoder-engine: 1/1 available on image sha-010d00785788.Service/autocoder-postgres exists with a live endpoint.codex_accounts contains four active legacy account records.GET /api/codecartography/codex/accounts.cc, gcc, g++, make, pkg-config, cargo, rustc, rustdoc, and rustfmt available on PATH.Update the deploy workflow so repository-managed infrastructure required by new runtime dependencies is applied before image rollout. Avoid blindly applying k8s/02-config-and-secrets.yaml until live-only Codex auth configuration is reconciled into a managed source, because the live ConfigMap/autocoder-config currently contains operational keys not present in the repo manifest.
Add a first-start migration or explicit operator runbook for importing legacy auth.json files into codex_accounts when moving from file-backed Codex auth slots to Postgres-backed web-managed accounts.