Tracking issue for the Spring 2026 coder-ddev improvement sprint, now that a Hetzner staging server is coming online.
Phase 1: Quick Wins (no staging required)
Small, safe, additive changes — image rebuild + template push to production.
Phase 2: Staging Server + Template Test Workflow (#77)
Two parallel tracks:
A. Template testing via --activate false on production — push a new template version without activating it, create a named test workspace from that version, validate, then promote. Add ACTIVATE ?= true variable to Makefile to make this easy.
B. Hetzner staging server — needed for image changes, storage path changes, auth config, and anything that carries risk to existing workspaces.
Phase 3: Template / Logic Fixes
Use --activate false workflow or staging to validate before promoting.
Phase 4: Auth Hardening
Test on staging first, then apply to production.
Phase 5: Automated Tests
The enabler for safe future iteration. Needs staging server as E2E target.
Phase 6: Refactor
Requires test coverage from Phase 5 so regressions are caught automatically.
Phase 7: New Features
Lowest urgency.
Tracking issue for the Spring 2026 coder-ddev improvement sprint, now that a Hetzner staging server is coming online.
Phase 1: Quick Wins (no staging required)
Small, safe, additive changes — image rebuild + template push to production.
tmuxto apt install #78 Addtmuxto apt install/usr/local/bin/phpwrapperPhase 2: Staging Server + Template Test Workflow (#77)
Two parallel tracks:
A. Template testing via
--activate falseon production — push a new template version without activating it, create a named test workspace from that version, validate, then promote. AddACTIVATE ?= truevariable to Makefile to make this easy.B. Hetzner staging server — needed for image changes, storage path changes, auth config, and anything that carries risk to existing workspaces.
--activate falseworkflow in MakefilePhase 3: Template / Logic Fixes
Use
--activate falseworkflow or staging to validate before promoting.Phase 4: Auth Hardening
Test on staging first, then apply to production.
CODER_OAUTH2_GITHUB_ALLOWED_ORGS=ddev)Phase 5: Automated Tests
The enabler for safe future iteration. Needs staging server as E2E target.
terraform validate/fmton PRs + E2E workspace smoke test against stagingPhase 6: Refactor
Requires test coverage from Phase 5 so regressions are caught automatically.
lib.shPhase 7: New Features
Lowest urgency.