How namtrungdn310/sentinelx works
SentinelX is a planned Linux infrastructure monitoring and automated-defense platform. The documented workflow is dashboard/API management, node telemetry collection and push, controller-side detection and policy decisions, then agent-side local validation and defense execution. The checked-in runtime is only a controller foundation: its implemented API exposes system health, with configuration and request-correlation support. The agent, load balancer, dashboard, storage, and business-domain modules are documented capabilities, not demonstrated implementations in the sampled source; their links reflect documented architecture only.
Main entry points: main.py Controller entry · app.py FastAPI application · __init__.py Linux node agent · modules Management and telemetry
Components 20
Controller
- Controller entry
src/sentinelx_controller/main.py - FastAPI application
src/sentinelx_controller/app.py - Correlation middleware
src/sentinelx_controller/api/middleware/correlation.py - Versioned API router
src/sentinelx_controller/api/v1/router.py - System health API
src/sentinelx_controller/modules/system/router.py - Health response schema
src/sentinelx_controller/modules/system/schemas.py - Management and telemetry
src/sentinelx_controller/modules - Anomaly detection
src/sentinelx_controller/modules - Incidents and policy
src/sentinelx_controller/modules - Defense and recovery
src/sentinelx_controller/modules
Node runtime
- Linux node agent
src/sentinelx_agent/__init__.py - Resource and network collection
src/sentinelx_agent/__init__.py - Local defense executor
src/sentinelx_agent/__init__.py
Shared services
- Controller settings
src/sentinelx_controller/config.py - YAML configuration
src/sentinelx_common/config/yaml_loader.py - Structured logging
src/sentinelx_common/observability/logging.py
External systems
- HTTP load balancer
src/sentinelx_lb/__init__.py - PostgreSQL
Other components
- Operator
- Management dashboard
Connections 22
- Operator → Management dashboard: manages
- Management dashboard → Controller entry: REST requests
- Management dashboard → Controller entry: WebSocket updates
- HTTP load balancer → Controller entry: proxies HTTP
- Controller entry → Controller settings: loads settings
- Controller entry → FastAPI application: creates app
- FastAPI application → Structured logging: configures logging
- FastAPI application → Correlation middleware: installs
- FastAPI application → Versioned API router: mounts
- Correlation middleware → Versioned API router: dispatches requests
- Versioned API router → System health API: routes health
- System health API → Health response schema: returns response
- Controller settings → YAML configuration: reads YAML
- Linux node agent → Controller entry: pushes telemetry
- Resource and network collection → Linux node agent: feeds telemetry
- Controller entry → Management and telemetry: manages nodes
- Management and telemetry → PostgreSQL: stores records
- Management and telemetry → Anomaly detection: provides telemetry
- Anomaly detection → Incidents and policy: raises incidents
- Incidents and policy → Defense and recovery: selects actions
- Defense and recovery → Linux node agent: pushes commands
- Linux node agent → Local defense executor: validates and executes