Fast and efficient
osquery management

osctrl is an open-source osquery fleet manager, implementing the osquery remote API as a TLS endpoint. Full visibility and control over your endpoints — from hundreds to hundreds of thousands of nodes.

MIT Licensed Written in Go Powered by osquery Production ready at scale
What is osctrl?

One control plane for your entire osquery fleet

osquery gives you a SQL interface to every endpoint. osctrl makes that fleet manageable: enrollment, configuration, queries, logs and file carving — all from a modern operator UI, a REST API, or the CLI.

Monitor everything

Track every system running osquery in real time — node status, activity, enrollment state and health across all your environments.

📦

Distribute configuration

Push osquery configuration and scheduled query packs to your entire fleet in seconds, organized by environment and tags.

📊

Collect all logs

Ingest status and result logs from every node and route them to your logging pipeline of choice.

Run on-demand queries

Launch distributed queries across any subset of nodes and get results back fast — with optional accelerated query reads.

🖥️

Node console

Open a read-only, shell-like console against any node, backed by osquery: ls, ps, stat, sql, .tables and more.

🗂️

Carve files & directories

Retrieve files and directories from remote endpoints for forensics and incident response, with permission-checked access.

Components

Purpose-built services, one shared core

Every osctrl component is a small, focused service built on shared Go packages, backed by PostgreSQL and Redis.

osctrl-tls

The TLS endpoint implementing the osquery remote API. Handles node enrollment, configuration delivery, log ingestion, distributed queries and file carving for your entire fleet.

osctrl-api

The REST API service, secured with JWT authentication by default, with trusted proxy controls and audit logging. Powers the operator UI and any automation you build. Fully documented with OpenAPI.

Operator Frontend New

A modern React single-page application: nodes, environments, live and saved queries, carves, users, settings, node activity, posture data and the node console — all in one UI.

osctrl-cli

The operator command-line interface for scripting and administration — manage environments, nodes, queries and users from your terminal or CI, via API or direct DB mode.

Explore the architecture and technology stack →

Why osctrl?

Built for security teams that operate at scale

⚙️

Massive scale

Proven from hundreds to hundreds of thousands of nodes without compromising performance.

🔐

Security-first defaults

JWT auth by default, trusted proxy controls, audit logging and authenticated access throughout.

🧭

Rich context

Optional posture ingestion, MaxMind GeoIP country enrichment and node activity tracking.

🆓

Open source

MIT licensed, actively developed, and already used in production environments.

See what teams use osctrl for →

Quick start

Up and running in minutes

Spin up the full stack locally with Docker Compose — TLS endpoint, API, frontend, PostgreSQL and Redis included.

# Clone the repository
$ git clone https://github.com/jmpsec/osctrl.git
$ cd osctrl

# Build and run everything in Docker
$ make docker_dev

Frontend at https://localhost:8444 · Legacy admin UI at https://localhost:8443

Full installation options: Docker, provisioning script, or building from source →

Take control of your osquery fleet

Free, open source, and ready to deploy today.