How betoespinosa14/proj-uem-bt works
BEACON is a self-hosted, multi-tenant endpoint-management platform. An administrator enrolls endpoints from the web console; agents connect to the control plane, report inventory and telemetry, receive policy and commands, and return results. The server also supports compliance evaluation, scheduled tasks, usage reporting, audit history and outbound webhooks. The graph separates console, API, domain services, persistence and agent runtime. Some subsystem links are documented only at a high level; unsampled implementation details are not inferred.
Main entry points: agent.go Agent connection · server.go HTTP and WS API · core.go Core orchestration · store Persistence
Components 21
Web console
- Console pages
web/app/(console) - Typed API client
web/lib/api.ts
Control plane
- HTTP and WS API
internal/server/api/server.go - Core orchestration
internal/server/core/core.go - Persistence
internal/server/store
Management services
- Audit log
internal/server/audit/audit.go - Compliance engine
internal/server/compliance/rules.go - Scheduled tasks
internal/server/scheduler/scheduler.go - Webhook delivery
internal/server/notify/webhooks.go - Live updates
internal/server/hub/hub.go
Endpoint agent
- Agent service
cmd/agent/main.go - Inventory collector
internal/agent/collect/collect.go - Agent connection
internal/agent/conn/agent.go - Message protocol
internal/protocol/protocol.go - Command execution
internal/agent/exec/exec.go - Usage tracking
internal/agent/usage/usage.go - Agent updates
internal/agent/update/update.go
Other components
- Administrator
- PostgreSQL
- SIEM / ITSM
- Managed endpoint
Connections 26
- Administrator → Console pages: manages fleet
README.md - Console pages → Typed API client: uses API
- Typed API client → HTTP and WS API: sends requests
README.md - Managed endpoint → Agent service: runs agent
README.md - Agent service → Inventory collector: collects facts
cmd/agent/main.go - Agent service → Agent connection: starts runtime
cmd/agent/main.go - Agent connection → Inventory collector: collects inventory
internal/agent/conn/agent.go - Agent connection → Message protocol: sends messages
internal/agent/conn/agent.go - Inventory collector → Message protocol: builds inventory
- Agent connection → Command execution: executes commands
internal/agent/conn/agent.go - Agent connection → Usage tracking: tracks usage
internal/agent/conn/agent.go - Agent connection → Agent updates: updates agent
internal/agent/conn/agent.go - Agent connection → HTTP and WS API: connects by WebSocket
README.md - HTTP and WS API → Core orchestration: dispatches management
internal/server/api/server.go - HTTP and WS API → Persistence: serves data
internal/server/api/server.go - HTTP and WS API → Audit log: records actions
- HTTP and WS API → Scheduled tasks: routes task requests
internal/server/api/server.go - Core orchestration → Persistence: reads and writes
internal/server/core/core.go - Core orchestration → Compliance engine: evaluates rules
internal/server/core/core.go - Core orchestration → Live updates: publishes updates
internal/server/core/core.go - Core orchestration → Webhook delivery: emits events
internal/server/core/core.go - Scheduled tasks → Core orchestration: runs scheduled work
- Webhook delivery → Persistence: loads hooks
internal/server/notify/webhooks.go - Webhook delivery → SIEM / ITSM: delivers events
README.md - Persistence → PostgreSQL: persists records
README.md - HTTP and WS API → Live updates: serves live updates
README.md