- Root README.md: proper project overview with quick start
- Root AGENTS.md: add MAILHOG_SMTP_PORT, update env config note
- demo/README.md: add MailHog SMTP port (4019) to service table
- demo/scripts/validate-all.sh: fall back to demo.env.template
when demo.env not present, add MAILHOG_SMTP_PORT to required vars,
mask variable values in validation output
💘 Generated with Crush
Assisted-by: GLM-5.1 via Crush <crush@charm.land>
demo-stack.sh:
- Add ensure_env() to create demo.env from template if missing
- Add envsubst prerequisite check
- Fix wait_healthy() to use docker inspect instead of fragile
sed/awk parsing of docker ps output
- Fix smoke_test() to use env vars instead of hardcoded ports
- Remove fix_env() which overwrote TA_HOST with wrong value
- Add MailHog SMTP port to display_summary()
- Add service names to smoke test output
demo-test.sh:
- Fix security compliance test to expect only 1 socket mount
(proxy only, now that Dockhand uses DOCKER_HOST)
- Add Dockhand proxy routing check
- Fix arithmetic increment operators for set -e compatibility
- Remove scripts/fix-and-ship.sh (was identical copy of demo-stack.sh)
💘 Generated with Crush
Assisted-by: GLM-5.1 via Crush <crush@charm.land>
Rewrite demo-stack.sh, demo-test.sh, validate-all.sh, and all test
files to match the current 16-service stack reality.
Key changes:
- demo-stack.sh: full rewrite with deploy/stop/restart/status/smoke/summary
- demo-test.sh: fix hardcoded kneldevstack filter to use $COMPOSE_PROJECT_NAME,
raise volume threshold from 10 to 15, remove curl dependency (use /dev/tcp),
fix security compliance check for Dockhand direct socket mount
- validate-all.sh: remove port 4005 check (internal only), add missing env
var validation (TA_PASSWORD, ELASTIC_PASSWORD, GF_*, PIHOLE_WEBPASSWORD)
- integration tests: fix container names, add TubeArchivist companion tests
- e2e tests: use correct project-relative paths, dynamic port lists from env
- Add fix-and-ship.sh as convenience wrapper for demo-stack.sh
- Remove stale tmp_template.yml
💘 Generated with Crush
Assisted-by: GLM-5.1 via Crush <crush@charm.land>