Skip to content

feat(acquire-worker): container image + /healthz for k8s - #571

Merged
mdheller merged 3 commits into
masterfrom
feat/acquire-worker-image
Aug 4, 2026
Merged

feat(acquire-worker): container image + /healthz for k8s#571
mdheller merged 3 commits into
masterfrom
feat/acquire-worker-image

Conversation

@mdheller

@mdheller mdheller commented Aug 4, 2026

Copy link
Copy Markdown
Member

Containerizes the governed acquisition worker for sovereign (prophet-platform) deployment.

  • Dockerfile (build context socioprophet-web/): copies the acquisition core it imports from the sibling client-vue package (features/acquisition + data/{dataSources,countries}) at their real relative paths, npm ci, runs tsx src/server.ts.
  • /healthz + /readyz on the worker's HTTP server, so the k8s Deployment has real liveness/readiness probes independent of any upstream.

Validated: server boots in the simulated image layout with all cross-package imports resolved; /healthz → 200. CI builds the image → referenced by the prophet-platform manifests (separate PR).

🤖 Generated with Claude Code

Comment thread socioprophet-web/server/test/admission.test.mjs Fixed
Dockerfile (build context socioprophet-web/) copies the acquisition core it imports
from the sibling client-vue package (features/acquisition + data/{dataSources,
countries}) at their real relative paths, npm ci, runs `tsx src/server.ts`. Adds
GET /healthz + /readyz so the k8s Deployment has real liveness/readiness probes
independent of any upstream. Validated: server boots in the simulated image layout
with all cross-package imports resolved; /healthz → 200.
@mdheller
mdheller force-pushed the feat/acquire-worker-image branch from 1ed46b0 to 4dba16d Compare August 4, 2026 19:07
…image

Adds `npm run bundle` (esbuild → dist/server.cjs) that inlines the client-vue
acquisition core AND undici into one self-contained CJS. The Dockerfile is now
two-stage: build bundles, runtime is just node:20-alpine + server.cjs — no
cross-repo tree, no node_modules in the final image. This decouples the worker's
runtime from client-vue entirely and lets the image build cleanly from any CI
(socbase/socioprophet/prophet-platform) without vendoring. Verified: bundle is
780KB self-contained; `node dist/server.cjs` boots, /healthz → 200.
…l repo → ghcr

The robust, consistent path (matching Noetica#622 for the agent-machine, and how
sherlock-search builds in-repo): build the worker image HERE via its self-contained
Dockerfile (esbuild bundle, context socioprophet-web/) → ghcr.io/socioprophet/
acquire-worker (:latest+:sha) with provenance + SBOM + keyless cosign. Supersedes
the prophet-platform vendor path — prophet-platform infra/k8s/acquire-worker just
references the published image, no vendoring/drift.

HUMAN REVIEW REQUIRED: packages:write + id-token:write.
@mdheller
mdheller merged commit f96e2ab into master Aug 4, 2026
15 checks passed
@mdheller
mdheller deleted the feat/acquire-worker-image branch August 4, 2026 21:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants