Architecture
Components
Master Node
- API server for submitting tasks
- Task distribution coordinator
- Result aggregation
- Worker health monitoring
Workers
- Execute assigned tasks
- Report progress and results
- Auto-reconnect on failure
- Heartbeat to master
Redis
- Task queue storage
- Worker registration
- Result storage
- Pub/Sub for events
Setup
1. Start Redis
2. Start Master
3. Start Workers
On each worker machine:4. Submit Tasks
Configuration
Redis Settings
Inosm-settings.yaml:
Worker Configuration
Workers inherit configuration from localosm-settings.yaml:
Task Distribution
Task Lifecycle
Load Balancing
Tasks are distributed using a pull model:- Workers poll for available tasks
- First available worker claims task
- No central scheduling required
Task Priority
(Future feature) Tasks can have priority levels:- High: Security-critical scans
- Normal: Regular assessments
- Low: Background enumeration
Monitoring
Worker Status
Task Status
Health Checks
Docker Compose Setup
Kubernetes Deployment
Best Practices
- Use persistent Redis for production
- Monitor worker health regularly
- Same tooling on all workers - ensure consistent binaries
- Shared storage for results (S3, NFS)
- Network isolation - secure Redis access
- Resource limits - prevent worker overload
Troubleshooting
Workers not connecting
Tasks stuck
Results not appearing
Next Steps
- Deployment - Server setup
- Server CLI - Server commands
- Scheduling - Automated triggers