Skip to content

feat(docker): add TAXII live reload#40

Open
scotluns wants to merge 2 commits into
nextfrom
feat/live-reload-dev-workflow
Open

feat(docker): add TAXII live reload#40
scotluns wants to merge 2 commits into
nextfrom
feat/live-reload-dev-workflow

Conversation

@scotluns
Copy link
Copy Markdown

@scotluns scotluns commented May 20, 2026

Why

This supports the cross-service hot-reload development workflow by letting TAXII server changes be verified quickly inside the local Compose stack while keeping the runtime path close to the deployed service.

What Changed

  • Updates the TAXII development image to Node 22 and keeps production as a separate multi-stage target.
  • Adds a dedicated build stage derived from the development image so production still copies built dist output.
  • Seeds src for the named volume mount and runs npm run start:dev, which starts Nest watch mode.
  • Enables polling with CHOKIDAR_USEPOLLING=true so synced files are detected reliably in Docker.

How To Verify

Start a developer-mode Compose stack with watch enabled from the deployment repo:

./docker/setup-workbench.sh --accept-defaults --dev-mode --taxii-server --instance-name live-reload-smoke
cd instances/live-reload-smoke
docker compose up --watch --build

Verify TAXII reload:

$EDITOR ../../../attack-workbench-taxii-server/src/taxii/controllers/root/root.controller.ts +21

Temporarily change the ping handler to use HttpStatus.OK and return a string, then run:

curl -i http://localhost:8000/health/ping

Confirm the changed response appears after Compose Watch syncs and Nest watch recompiles/restarts the service. Revert the temporary response change before committing.

Related PRs

Landing

Merge before the deployment live-reload PR.

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