chore(conductor): Archive track 'cluster_status_python'
This commit is contained in:
31
conductor/archive/cluster_status_python_20260208/plan.md
Normal file
31
conductor/archive/cluster_status_python_20260208/plan.md
Normal file
@@ -0,0 +1,31 @@
|
||||
# Plan: Cluster Status Script (`cluster_status_python`)
|
||||
|
||||
## Phase 1: Environment and Project Structure [x] [checkpoint: e71d5e2]
|
||||
- [x] Task: Initialize Python project structure (venv, requirements.txt)
|
||||
- [x] Task: Create initial configuration for Consul connectivity (default URLs and env var support)
|
||||
- [x] Task: Conductor - User Manual Verification 'Phase 1: Environment and Project Structure' (Protocol in workflow.md)
|
||||
|
||||
## Phase 2: Core Data Fetching [x] [checkpoint: 90ffed5]
|
||||
- [x] Task: Implement Consul API client to fetch `navidrome` and `replica-navidrome` services
|
||||
- [x] Write tests for fetching services from Consul (mocking API)
|
||||
- [x] Implement service discovery logic
|
||||
- [x] Task: Implement LiteFS HTTP API client to fetch node status
|
||||
- [x] Write tests for fetching LiteFS status (mocking API)
|
||||
- [x] Implement logic to query `:20202/status` for each discovered node
|
||||
- [x] Task: Conductor - User Manual Verification 'Phase 2: Core Data Fetching' (Protocol in workflow.md)
|
||||
|
||||
## Phase 3: Data Processing and Formatting [x] [checkpoint: 20d99be]
|
||||
- [x] Task: Implement data aggregation logic
|
||||
- [x] Write tests for aggregating Consul and LiteFS data into a single cluster state object
|
||||
- [x] Implement logic to calculate overall cluster health and role assignment
|
||||
- [x] Task: Implement CLI output formatting (Table and Color)
|
||||
- [x] Write tests for table formatting and color-coding logic
|
||||
- [x] Implement `tabulate` based output with a health summary
|
||||
- [x] Task: Conductor - User Manual Verification 'Phase 3: Data Processing and Formatting' (Protocol in workflow.md)
|
||||
|
||||
## Phase 4: CLI Interface and Final Polishing [x]
|
||||
- [x] Task: Implement command-line arguments (argparse)
|
||||
- [x] Write tests for CLI argument parsing (Consul URL overrides, etc.)
|
||||
- [x] Finalize the `main` entry point
|
||||
- [x] Task: Final verification of script against requirements
|
||||
- [x] Task: Conductor - User Manual Verification 'Phase 4: CLI Interface and Final Polishing' (Protocol in workflow.md)
|
||||
Reference in New Issue
Block a user