From 5e7622b229e50e4eb8c6293c7d2e3c40a60d57cb Mon Sep 17 00:00:00 2001 From: Tom Scanlan Date: Sat, 16 May 2026 19:28:58 -0400 Subject: [PATCH] fix(docker): drop ingest target so release stays default build stage MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PR #582 appended `FROM release AS ingest` at the end of the Dockerfile. deploy-to-dev.yml's `docker build` runs without `--target`, so Docker defaults to the LAST stage in the Dockerfile — silently flipped the API image to the ingest variant (CMD `npm run contrail:ingest`). New API pods on b518567 crashloop because no HTTP server binds to port 3000 and the readiness probe gets connection refused. The `ingest` target was never load-bearing: the Phase E Deployment manifest overrides `command: ["npm", "run", "contrail:ingest"]` on the single-replica ingest pod, so the same `release` image works for both roles. Dropping the extra target restores `release` as the default and unblocks the dev rollout. --- Dockerfile | 9 --------- 1 file changed, 9 deletions(-) diff --git a/Dockerfile b/Dockerfile index 6e02986f..eb8021dc 100644 --- a/Dockerfile +++ b/Dockerfile @@ -59,12 +59,3 @@ EXPOSE 3000 # CMD npm run migration:run:prod && npm run seed:run:prod && npm run start:prod CMD npm run start:prod - - -# ---- Ingest ---- -# Same artifact as `release`, different default command. The contrail live-ingest -# Deployment streams ATProto records from Jetstream into Postgres continuously; -# no HTTP port. Process liveness is the sole health signal (kubelet restarts on -# exit). See src/contrail/ingest.ts and the Phase D plan. -FROM release AS ingest -CMD ["npm", "run", "contrail:ingest"]