You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This EPIC coordinates the implementation of the destroy command through two sequential phases following Domain-Driven Design (DDD) principles.
The destroy command will provide comprehensive infrastructure teardown capabilities, enabling users to cleanly remove deployed environments and their associated resources.
🎯 Goals
Phase 1: Implement core destroy functionality in DDD Application Layer
Phase 2: Add user-facing CLI interface with proper UX
Ensure complete infrastructure cleanup (OpenTofu, Ansible, state files)
Maintain separation between application logic and UI concerns
Provide comprehensive E2E testing and documentation
🏗️ Implementation Strategy
This follows an inside-outside approach:
Phase 1 (App Layer): Build and test core business logic first
Phase 2 (UI Layer): Add CLI interface after core functionality is solid
This approach ensures we can validate the destroy functionality with E2E tests before exposing it to users through the CLI.
Epic Type: Parent Epic (Coordinates Task 1.2)
Status: Planning
Related Roadmap: Section 1.2
Parent Issue: #2 (Scaffolding for main app)
Roadmap Section: 1.2 - Create command
torrust-tracker-deployer destroy📋 Epic Overview
This EPIC coordinates the implementation of the
destroycommand through two sequential phases following Domain-Driven Design (DDD) principles.The destroy command will provide comprehensive infrastructure teardown capabilities, enabling users to cleanly remove deployed environments and their associated resources.
🎯 Goals
🏗️ Implementation Strategy
This follows an inside-outside approach:
This approach ensures we can validate the destroy functionality with E2E tests before exposing it to users through the CLI.
📦 Child EPICs
1. App Layer Destroy Command
Document:
9-epic-app-layer-destroy-command.mdStatus: Not Started
Focus: Core destroy functionality in DDD Application Layer
Implements the essential destroy command logic including:
DestroyCommandimplementation2. UI Layer Destroy Command
Document:
10-epic-ui-layer-destroy-command.mdStatus: Not Started
Dependencies: Child Epic #9 must be completed first
Implements the user-facing CLI interface, including:
🔄 Workflow
The EPICs must be completed sequentially:
🧪 Testing Strategy
📋 Acceptance Criteria
🔗 Dependencies
📊 Child Epic Issues
🚀 Success Criteria
Implementation Notes
Note: Issue #2 contains the scaffolding foundation that this destroy command builds upon. Complete issue #2 before proceeding.
Next Steps: Create GitHub issues for both child EPICs and link them to parent issue #2
Epic Document: docs/issues/8-epic-destroy-command.md