5.6 KiB
| description |
|---|
| Task list for feature 001-add-dokploy-deploy |
Tasks: Dokploy deployment (001-add-dokploy-deploy)
Input: Design documents in specs/001-add-dokploy-deploy/ (spec.md, checklists/)
Phase 1: Setup (Shared Infrastructure)
- T001 Create
specs/001-add-dokploy-deploy/plan.mdusing.specify/scripts/bash/setup-plan.sh(output path: specs/001-add-dokploy-deploy/plan.md) - T002 [P] Create
specs/001-add-dokploy-deploy/quickstart.mdwith a minimal deploy verification procedure (file: specs/001-add-dokploy-deploy/quickstart.md) - T003 [P] Add
specs/001-add-dokploy-deploy/contracts/dokploy-webhook.jsondocumenting the Dokploy webhook URL and expected payload (file: specs/001-add-dokploy-deploy/contracts/dokploy-webhook.json) - T004 Initialize
specs/001-add-dokploy-deploy/checklists/deployment-credentials.mddescribing how to add Dokploy project-level secrets (file: specs/001-add-dokploy-deploy/checklists/deployment-credentials.md)
Phase 2: Foundational (Blocking Prerequisites)
- T005 [P] Create
specs/001-add-dokploy-deploy/data-model.mddescribing Repository, Webhook, Deployment entities (file: specs/001-add-dokploy-deploy/data-model.md) - T006 [P] Create
specs/001-add-dokploy-deploy/research.mdcapturing Dokploy access requirements and integration notes (file: specs/001-add-dokploy-deploy/research.md) - T007 Create
specs/001-add-dokploy-deploy/dokploy-config.mdwith canonical compose file path (docker-compose.yml) and Dokploy project config (file: specs/001-add-dokploy-deploy/dokploy-config.md) - T008 [P] Add
specs/001-add-dokploy-deploy/contracts/gitea-webhook-setup.mdwith step-by-step instructions for creating the Gitea webhook pointing to Dokploy (file: specs/001-add-dokploy-deploy/contracts/gitea-webhook-setup.md)
Phase 3: User Story 1 - Auto-deploy on repository push (Priority: P1) [US1] 🎯 MVP
Goal: Configure automatic Dokploy compose deployments when commits are pushed to main.
Independent Test: Push a test commit to main and verify a Dokploy deployment run starts and completes per specs/001-add-dokploy-deploy/quickstart.md.
- T009 [US1] Add
specs/001-add-dokploy-deploy/contracts/push-to-deploy.mddocumenting the exact Gitea -> Dokploy webhook flow and required repo settings (file: specs/001-add-dokploy-deploy/contracts/push-to-deploy.md) - T010 [P] [US1] Add a test helper script
scripts/test_dokploy_webhook.shthat sends a representative push webhook to the Dokploy URL (file: scripts/test_dokploy_webhook.sh) - T011 [US1] Add
specs/001-add-dokploy-deploy/quickstart.mdstep to verify deployment and application health check commands (file: specs/001-add-dokploy-deploy/quickstart.md) - T012 [US1] Add Dokploy project-level secret instructions in
specs/001-add-dokploy-deploy/checklists/deployment-credentials.mdincluding where to store the webhook URL (file: specs/001-add-dokploy-deploy/checklists/deployment-credentials.md)
Phase 4: User Story 2 - Manual deploy trigger (Priority: P2) [US2]
Goal: Allow operators to manually trigger deployments for a specific commit or tag via Dokploy.
Independent Test: Trigger a manual deploy for a specified commit/tag and verify deployed commit matches requested commit.
- T013 [US2] Create
specs/001-add-dokploy-deploy/manual-deploy.mddocumenting manual deploy steps in the Dokploy UI and example payloads (file: specs/001-add-dokploy-deploy/manual-deploy.md) - T014 [P] [US2] Add
specs/001-add-dokploy-deploy/contracts/manual-deploy-payload.jsonas an example payload for manual triggers (file: specs/001-add-dokploy-deploy/contracts/manual-deploy-payload.json)
Phase 5: User Story 3 - Failed-deploy notification (Priority: P3) [US3]
Goal: Provide clear failure visibility and runbooks for operators when deployments fail.
Independent Test: Simulate a failing deploy and verify logs and notification entries are available per runbook.
- T015 [US3] Create
specs/001-add-dokploy-deploy/runbooks/failed-deploy.mddescribing how to investigate Dokploy failures and roll back (file: specs/001-add-dokploy-deploy/runbooks/failed-deploy.md) - T016 [P] [US3] Add
scripts/simulate_failed_deploy.shto simulate a bad compose deploy for testing failure paths (file: scripts/simulate_failed_deploy.sh)
Phase N: Polish & Cross-Cutting Concerns
- T017 [P] Update repository
README.mdwith a "Deployment" section linking tospecs/001-add-dokploy-deploy/quickstart.md(file: README.md) - T018 Commit and push branch
001-add-dokploy-deployincludingspec.md,tasks.md, and all created docs/scripts (file: N/A - repo action)
Dependencies & Execution Order
- Phase 1 (Setup): start immediately
- Phase 2 (Foundational): depends on Phase 1 completion
- Phases 3+ (User stories): depend on Phase 2 completion; once foundation is ready, user stories can be worked on in parallel
- Final polish: after user stories complete
Parallel Execution Examples
- While Phase 2 is in progress, tasks marked
[P](e.g., T002, T003, T005, T006, T010, T014, T016) can be executed in parallel by different contributors. - User story implementation tasks (US1, US2, US3) can proceed concurrently once foundational tasks complete.
Implementation Strategy
- MVP: Implement Phase 1 + Phase 2 + Phase 3 (US1) first. Validate auto-deploy works end-to-end, then add US2 and US3.
- Iterative: After US1 is validated, perform US2 and US3 in parallel or by priority depending on team capacity.
Files created by tasks: All referenced files should be created under specs/001-add-dokploy-deploy/ unless specified otherwise (e.g., scripts/).