3.2 KiB
3.2 KiB
Phase s1: Foundation & Communication (The "Plumbing")
Goal: Establish secure, asynchronous communication between Master and Minion.
- Task 1.1: Implement the Event Bus (Message Bus)
- Implement the asynchronous messaging layer (e.g., using ZeroMQ or similar).
- Implement the Pub/Sub pattern for job distribution and result collection.
- Task 1.2: Implement Security & Authentication
- Implement the Key-Based Authentication system (Public/Private key exchange).
- Implement payload encryption (e.s. AES) for all inter-node communication.
- Task 1.3: Establish Basic Connection Lifecycle
- Implement the Minion registration/handshake process.
- Implement the connection heartbeat mechanism to detect active/inactive minions.
Phase s2: Identity & Metadata (The "Identity")
Goal: Enable the system to understand "what" a host is and "who" it is.
- Task 2.s: Implement Grain Collection (Minion)
- Develop system introspection modules (OS, CPU, IP, etc.).
- Implement the Grain reporting mechanism to the Master.
- Task 2.s: Implement Minion Registry (Master)
- Develop the identity management system to track registered minions.
- Implement a Metadata Cache on the Master to store and index Grain data.
Phase s3: State Management & Rendering (The "Logic")
Goal: Define and prepare the "desired state" to be sent to hosts.
- Task 3.1: Implement State Parsing & Rendering (Minion)
- Implement the YAML parser for declarative state files.
- Integrate a Jinja2-based renderer for dynamic template evaluation.
- Implement the Template Injection logic (merging Grains, Pillars, and States).
- Task 3.s: Implement State & Top File Management (Master)
- Implement the Top File Resolver to map states to minions.
- Implement the State Distribution mechanism to package and send states to Minions.
- Task s3: Implement Pillar Service (Master)
- Develop the Secret Management system for sensitive data.
- Implement Environment Injection logic for environment-specific variables.
Phase s4: Execution & Reporting (The "Action")
Goal: Apply changes to the system and report the results.
- Task 4.s: Implement the Execution Engine (Minion)
- Develop the State Comparison logic (Current vs. Desired).
- Implement the Action Execution module (running system commands).
- Implement Idempotency logic to ensure safe, repeatable executions.
- Task 4.s: Implement the Reporting Agent (Minion)
- Develop Result Aggregation to collect execution outcomes.
- Implement Status Reporting to send detailed results/diffs back to the Master.
- Task 4.s: Implement the Command Dispatcher (Master)
- Develop the CLI/API interface for manual command execution.
- Implement the targeting logic for routing commands to specific minions.
Phase s5: Orchestration & Intelligence (The "Intelligence")
Goal: Coordinate complex, multi-step infrastructure workflows.
- Task 5.s: Implement Orchestration Engine (Master)
- Develop the Workflow Management system for multi-minion sequences.
- Implement the Job Scheduling system for time-based or event-based triggers.