feat: Fleet Forge UEM - device management, agent, remote desktop (VNC), TLS reverse proxy
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
# ADR-003: Go for Forge Agent
|
||||
|
||||
## Status
|
||||
Accepted
|
||||
|
||||
## Context
|
||||
The agent needs to run on Linux, Windows, and macOS with minimal dependencies and resource usage.
|
||||
|
||||
## Decision
|
||||
Write the agent in Go, producing statically-linked binaries for each platform.
|
||||
|
||||
## Rationale
|
||||
- Go compiles to a single binary with no runtime dependencies
|
||||
- Excellent cross-compilation support (GOOS/GOARCH)
|
||||
- Small memory footprint suitable for resource-constrained devices
|
||||
- gopsutil library provides cross-platform system metrics
|
||||
- Strong standard library for HTTP, JSON, and OS interaction
|
||||
|
||||
## Consequences
|
||||
- Agent is built separately from the TypeScript monorepo
|
||||
- Agent version is tracked in the source code and reported in heartbeats
|
||||
- Future: could use Go plugins for platform-specific adapters
|
||||
Reference in New Issue
Block a user