OSAPI turns Linux servers into managed appliances. Install a single binary, point it at a config file, and get a REST API, CLI, and web dashboard for managing system configuration across your fleet.
Hostname, DNS, disk, memory, users, packages, services, cron, sysctl, NTP, certificates, Docker containers, file deploys, process management, network interfaces, routes — all through one consistent API with async job processing.
CLI / SDK / UI → Controller (REST API) → NATS JetStream → Agents
The controller never touches the OS directly. It creates jobs routed through NATS to agents running on each managed host. Target a specific host, broadcast to all, load-balance across any, or route by labels.
| Project | Stars | Description |
|---|---|---|
| osapi | Core API server, agent, CLI, and embedded UI | |
| osapi-orchestrator | Multi-step operation orchestration engine | |
| osapi-justfiles | Shared just recipes for CI and development | |
| nats-client | NATS JetStream client library | |
| nats-server | Embedded NATS server wrapper | |
| gohai | A Go-based system fact collector inspired by Chef Ohai |
# Install and run all three components
osapi start
# Query a host
osapi client node hostname --target web-01
# Broadcast to the fleet
osapi client node user list --target _all
# Open the dashboard
open http://localhost:8080