Skip to content

Containerize the gateway — 4 images + compose + Helm + docs#81

Open
Kaushik985 wants to merge 2 commits into
AlphaBitCore:mainfrom
Kaushik985:feature/container-deploy
Open

Containerize the gateway — 4 images + compose + Helm + docs#81
Kaushik985 wants to merge 2 commits into
AlphaBitCore:mainfrom
Kaushik985:feature/container-deploy

Conversation

@Kaushik985

Copy link
Copy Markdown

Four product images (console, hub, ai-gateway, compliance-proxy) + a db-migrate helper; docker-compose.full.yml (dev/demo); Helm chart deploy/helm/nexus-gateway (production); .github/workflows/docker-publish.yml with build + vectorscan self-test + compose-smoke gates; new container-deployment-architecture.md + deployment-models.md + README Docker section.

Verified locally: all images build; vectorscan hs-selfcheck passes at build AND runtime (scanRC=0 matches=1); full compose stack comes up healthy end-to-end; helm lint + dev/prod render valid.

Note: image publishing needs the Docker Hub org + DOCKERHUB_USERNAME/DOCKERHUB_TOKEN Actions secrets — not required to review/merge (publish runs post-merge). Fork PR, so the publish workflow won't run here.

🤖 Generated with Claude Code

KashSetty and others added 2 commits July 3, 2026 23:53
Package Nexus Gateway as four Docker images (console, hub, ai-gateway,
compliance-proxy) plus a db-migrate utility image, with a full-stack
docker-compose for dev/demo and a Helm chart for production.

- 4 product Dockerfiles under alphabitcore/nexus-*; ai-gateway and
  compliance-proxy link Vectorscan (libhs) statically via the vsstatic
  build tag with FAT_RUNTIME=OFF + BUILD_AVX512=OFF, and hard-fail the
  build unless the engine self-test passes and the binary carries the
  vectorscan tag. The hs-selfcheck binary ships in each image for runtime
  verification.
- nexus-console: nginx + control-plane + UI dist in one image with
  env-parameterized upstreams and two-process supervision.
- docker-compose.full.yml + scripts/compose-init.sh (shared-secret
  generation, incl. HUB_CONFIG_TOKEN); coexists with the dev-infra compose.
- deploy/helm/nexus-gateway: 4 deployments + services + ingress + shared
  secret + db-init pre-install hook; in-cluster or external datastores.
- .github/workflows/docker-publish.yml: tag-triggered publish gated by
  build self-test, runtime hs-selfcheck, and a full-stack compose smoke.
- Docs: container-deployment-architecture.md + arch README trigger row +
  deployment-models.md + README Docker section.

Verified locally: all 5 images build, both vectorscan images self-test
(scanRC=0 matches=1) at build and runtime, the full compose stack comes up
healthy with config-sync working, and the Helm chart lints and renders.
Images are not yet pushed (needs the Docker Hub org token as GH secrets).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…sk2 prep)

Arena Nexus boxes pull from private Amazon ECR (decision of record; Docker Hub
public stays James-gated). ecr-publish.sh mirrors docker-publish.yml's build
recipe exactly — same 5 images/Dockerfiles, same vectorscan Gate B (hs-selfcheck
runtime scan proof) blocking the push of the two scanning images — but targets
<acct>.dkr.ecr.<region> with an IMMUTABLE git-sha tag and records digests for run
provenance. ecr-pull-policy.json is the minimal pull-only instance-role policy
for the boxes (GetAuthorizationToken + layer/image reads scoped to the 5 nexus-*
repos).

Authored + syntax-checked (bash -n, JSON valid); NOT yet run — needs AWS creds
and a green build test (CC-Task1) first. A red scan path must never publish.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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