How benediktschackenberg/octofleet works
Octofleet is a self-hosted endpoint-management platform. Administrators use its web dashboard to enroll and monitor a fleet, inspect inventory and security posture, then deploy jobs, packages, patches, or provisioning workflows; agents collect endpoint data and receive remote work. The backend exposes the API and persists fleet state. The README documents additional capabilities—including content lifecycle, query, metering, reports, and SQL Server management—that are included as product branches. Some subsystem connections are documented rather than verified in sampled implementation, so those edges are dashed.
Main entry points: main.py REST API · NodeWorker.cs Octofleet agent · page.tsx Fleet dashboard · api-client.ts API client
Components 30
Web console
- Fleet dashboard
frontend/src/app/page.tsx - API client
frontend/src/lib/api-client.ts - Inventory and monitoring
frontend/src/app/nodes/page.tsx - Deployments and jobs
frontend/src/app/deployments/page.tsx - Patch explorer
frontend/src/app/patches/explorer/page.tsx - Provisioning console
frontend/src/app/provisioning/page.tsx - Query workspace
frontend/src/app/query/page.tsx - Query state hooks
frontend/src/hooks/useQueryEngine.ts
API and fleet services
- REST API
backend/main.py - Authentication and RBAC
backend/auth.py - Inventory and metrics
backend/routers/inventory.py - Jobs and deployments
backend/routers/jobs.py - Patch management
backend/routers/patches.py - Provisioning services
backend/routers/provisioning.py - Content lifecycle
backend/routers/content_lifecycle.py - Query engine
backend/routers/query_engine.py - Software metering
backend/routers/software_metering.py - Reports and exports
backend/routers/reports.py - Fleet database
backend/main.py - SQL Server management
backend/routers/mssql.py
Security and compliance
- Security center
frontend/src/app/security/page.tsx - Monitoring and findings
backend/routers/monitoring_mgmt.py - Vulnerability management
backend/routers/vulnerabilities.py - Configuration baselines
backend/routers/baselines.py
Endpoint agents
- Octofleet agent
src/OctofleetAgent.Service/NodeWorker.cs - Inventory collectors
src/OctofleetAgent.Service/Inventory/InventoryCollector.cs - Job execution
src/OctofleetAgent.Service/JobPoller.cs - Patch scanner
src/OctofleetAgent.Service/PatchScanner.cs - Remote access
src/OctofleetAgent.Service/Screen/ScreenStreamService.cs
Other components
- Administrator
Connections 31
- Administrator → Fleet dashboard: manages fleet
README.md - Fleet dashboard → API client: uses
- API client → REST API: calls API
- Fleet dashboard → Inventory and monitoring: opens
- Inventory and monitoring → REST API: requests inventory
- Deployments and jobs → REST API: requests deployment
- Patch explorer → REST API: requests patches
- Provisioning console → REST API: requests provisioning
- Query workspace → Query state hooks: uses hooks
- Query state hooks → Query engine: executes queries
- REST API → Authentication and RBAC: authenticates requests
backend/main.py - REST API → Fleet database: reads and writes
backend/main.py - REST API → Inventory and metrics: routes inventory
backend/main.py - REST API → Jobs and deployments: routes jobs
backend/main.py - REST API → Patch management: routes patches
backend/main.py - REST API → Provisioning services: routes provisioning
backend/main.py - REST API → Content lifecycle: routes content
backend/main.py - REST API → Query engine: routes queries
backend/main.py - REST API → Software metering: routes metering
backend/main.py - REST API → Reports and exports: routes reports
backend/main.py - Security center → Monitoring and findings: views security posture
- Monitoring and findings → REST API: serves security data
backend/main.py - REST API → Vulnerability management: routes vulnerability data
backend/main.py - REST API → Configuration baselines: routes baselines
backend/main.py - Octofleet agent → Inventory collectors: collects inventory
src/OctofleetAgent.Service/NodeWorker.cs - Octofleet agent → Job execution: polls jobs
- Octofleet agent → Patch scanner: scans updates
- Octofleet agent → REST API: sends fleet data
- REST API → Octofleet agent: dispatches work
- Octofleet agent → Remote access: provides remote access
- REST API → SQL Server management: routes SQL management
backend/main.py