Skip to content

harden: externalize secrets, pin images, add healthcheck + CI smoke test#1

Merged
amitpaz1 merged 1 commit into
mainfrom
harden/secrets-ci-pinning
Jun 19, 2026
Merged

harden: externalize secrets, pin images, add healthcheck + CI smoke test#1
amitpaz1 merged 1 commit into
mainfrom
harden/secrets-ci-pinning

Conversation

@amitpaz1

Copy link
Copy Markdown
Member

What

Hardens the agentkit-stack meta-repo — previously a single docker-compose.yml with a committed secret and no CI.

Security

  • Removed the committed real-format LORE_API_KEY (plus dev ADMIN_API_KEY / JWT_SECRET) from docker-compose.yml; they're now read from a gitignored .env via ${VAR:?...} (compose refuses to start if unset). Added .env.example + .gitignore.
  • ⚠️ The previously-committed lore_sk_… key is in git history — revoke it on the Lore side, it should be treated as compromised. (That part is yours; I can't issue a new key.)

Reproducibility / correctness

  • Pinned all four images off :latestagentlens:0.12.2, agentgate:0.12.1, lore:1.1.1, agentkit-mesh:1.3.0.
  • Added a healthcheck to agentgate (node-based — the image has no curl) and gated agentlens on agentgate + mesh being healthy for deterministic startup.
  • Fixed the README/compose contradiction (it claimed Lore/Mesh build locally; all four actually pull from Docker Hub) and documented the .env step.

CI

  • Added a smoke-test workflow: compose configup --wait (health-gated) → poll the 4 /health endpoints → down -v. The repo had no CI before.

Verification

Brought the full stack up locally with the externalized .env: all 5 containers healthy, all 4 health endpoints return 200.

🤖 Generated with Claude Code

Security:
- Remove the committed real-format LORE_API_KEY plus the dev ADMIN_API_KEY /
  JWT_SECRET from docker-compose.yml; read them from a gitignored .env
  (${VAR:?...} so compose refuses to start if unset). Add .env.example +
  .gitignore. NOTE: the previously-committed lore_sk_ key must be revoked on
  the Lore side — it is in git history and should be treated as compromised.

Reproducibility / correctness:
- Pin all four images off :latest (agentlens 0.12.2, agentgate 0.12.1,
  lore 1.1.1, agentkit-mesh 1.3.0).
- Add a healthcheck to agentgate (node-based probe; the image has no curl) and
  gate agentlens on agentgate + mesh being healthy, so startup is deterministic.
- Fix the README/compose contradiction (it claimed Lore/Mesh build locally;
  all four actually pull from Docker Hub) and document the .env step.

CI:
- Add a smoke-test workflow: docker compose config, up --wait (health-gated),
  poll the four documented /health endpoints, down -v. The repo previously had
  no CI verifying the stack composes.

Verified locally: all 5 containers report healthy and all four health endpoints
return 200.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@amitpaz1 amitpaz1 merged commit 9109a5b into main Jun 19, 2026
1 check passed
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.

1 participant