Skip to content

osapi-io/osapi

release codecov go report card license build powered by conventional commits openapi initiative Linux gitHub commit activity

OS API

(OSAPI /ˈoʊsɑːpi/ - Oh-sah-pee) A CRUD API for managing Linux systems.

This project provides basic management capabilities to Linux systems, enabling them to be used as appliances.


OSAPI demo

✨ Features

🖥️ Node Management Hostname, uptime, OS info, disk, memory, load
🌐 Network Management DNS read/update, ping
⚙️ Command Execution Remote exec and shell across managed hosts
📊 System Facts Agent-collected system facts — architecture, kernel, FQDN, CPUs, network interfaces, service/package manager
Async Job System NATS JetStream with KV-first architecture — broadcast, load-balanced, and label-based routing across hosts
💚 Health & Metrics Liveness, readiness, system status endpoints, Prometheus /metrics
📋 Audit Logging Structured API audit trail in NATS KV with 30-day retention and admin-only read access
🔐 Auth & RBAC JWT with fine-grained resource:verb permissions, built-in and custom roles, direct permission grants
🔍 Distributed Tracing OpenTelemetry with trace context propagation across HTTP and NATS
🖥️ CLI Parity Every API operation has a CLI equivalent with --json for scripting
🏢 Multi-Tenant Namespace isolation lets multiple deployments share a single NATS cluster

📖 Documentation

Features | Architecture | Getting Started | API | Usage | Roadmap

🔗 Sister Projects

Project Description
osapi-sdk Go SDK for OSAPI — client library and orchestration primitives
osapi-orchestrator A Go package for orchestrating operations across OSAPI-managed hosts — typed operations, chaining, conditions, and result decoding built on top of the osapi-sdk engine
nats-client A Go package for connecting to and interacting with a NATS server
nats-server A Go package for running an embedded NATS server

📄 License

The MIT License.

About

A Linux system management API with async job processing over NATS JetStream.

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages