Skip to content
/ osapi Public

A CRUD API for managing Linux systems.

License

Notifications You must be signed in to change notification settings

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.


Features

🖥️ System & Network Hostname, uptime, OS info, disk, memory, load, DNS read/update, ping, command execution (exec/shell)
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

License

The MIT License.

About

A CRUD API for managing Linux systems.

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages