chore(HNT-2086): add local-dev config, compose, and docs - #40
Draft
mmiermans wants to merge 1 commit into
Draft
Conversation
mmiermans
force-pushed
the
claude/hnt-2086-dev-plumbing
branch
from
July 6, 2026 15:18
28a6a9d to
0edaf9e
Compare
mmiermans
force-pushed
the
claude/hnt-2086-agent-main
branch
from
July 6, 2026 17:09
038ecc5 to
5074306
Compare
mmiermans
force-pushed
the
claude/hnt-2086-dev-plumbing
branch
from
July 6, 2026 17:09
0edaf9e to
32e0d0e
Compare
mmiermans
force-pushed
the
claude/hnt-2086-dev-plumbing
branch
from
August 3, 2026 16:51
32e0d0e to
c3bc5b7
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Goal
HNT-2086
Add the developer plumbing for running each service by hand against local infrastructure, and refresh the README with local setup prerequisites, per-service run instructions for the agent and both worker roles, and the package layout the split produced. The change is configuration and documentation only: an
.env.examplefor each service that documents every variable it reads, adocker-compose.ymlthat brings up the Pub/Sub emulator and Redis, per-roledevscripts on the worker and agent, and README updates.See docs/ARCHITECTURE.md in #14 for the worker flow the README summarizes.
Implementation decisions
docker-compose.ymlbrings up the Pub/Sub emulator and Redis for running a service by hand, and the tests do not use it because they start their own emulator via Testcontainers.env.examplefiles carry no secrets and set only local defaults.env<env>-gke-app-secretsinto every workload for secrets, while non-secret config comes from the chart configMap, so these examples exist for local runs only and must never hold a real key.devscript per worker role rather than a singledevdev:articleanddev:discoverysetWORKER_ROLEand load.envthroughtsx --env-file-if-exists, withdev:discoveryon a second portWORKER_ROLE, so each role needs its own entry point;--env-file-if-existsloads.envwhen present without failing when it is absent, and the second port lets both roles run side by side.