Home
A CRUD API for managing Linux systems.
This project provides basic management capabilities to Linux systems, enabling them to be used as appliances. You install a single binary, point it at a config file, and get a REST API and CLI for querying and changing system configuration — hostname, DNS, disk usage, memory, load averages, and more.
Quickstart
Install OSAPI and start all three processes:
# Start the embedded NATS server
osapi nats server start &
# Start the API server
osapi api server start &
# Start a worker
osapi job worker start &
Generate a token and configure the CLI:
# Generate a signing key
export OSAPI_API_SERVER_SECURITY_SIGNING_KEY=$(openssl rand -hex 32)
# Generate a bearer token
osapi token generate -r admin -u [email protected]
# Set the token for CLI use
export OSAPI_API_CLIENT_SECURITY_BEARER_TOKEN=<token from above>
Query the system:
# Get the hostname
osapi client system hostname
# Check system status
osapi client system status
# View health
osapi client health
Explore the Docs
- Features — what OSAPI can manage and how each feature works
- Architecture — how the three processes (NATS, API server, worker) fit together
- Configuration — full
osapi.yamlreference - API — OpenAPI documentation for all endpoints
- CLI Usage — command reference with examples
- Roadmap — current capabilities and what's next