https://github.com/ra0x3/systemg
A general-purpose program orchestrator.
https://github.com/ra0x3/systemg
agent agentic ai orchestrator process-management process-manager process-orchestration process-orchestrator rust service-manager
Last synced: 5 days ago
JSON representation
A general-purpose program orchestrator.
- Host: GitHub
- URL: https://github.com/ra0x3/systemg
- Owner: ra0x3
- Created: 2025-02-28T21:41:31.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2026-06-11T01:14:55.000Z (7 days ago)
- Last Synced: 2026-06-11T02:22:23.537Z (7 days ago)
- Topics: agent, agentic, ai, orchestrator, process-management, process-manager, process-orchestration, process-orchestrator, rust, service-manager
- Language: Rust
- Homepage: https://sysg.dev
- Size: 2.37 MB
- Stars: 8
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Security: docs/security.mdx
Awesome Lists containing this project
README
# systemg
A general-purpose program orchestrator.
[](https://github.com/ra0x3/systemg/actions/workflows/ci.yaml)
[](https://github.com/ra0x3/systemg/actions)
[](https://docs.rs/systemg)
[](https://github.com/ra0x3/systemg/releases)
[](https://crates.io/crates/systemg)

[](https://deps.rs/crate/systemg)
[](LICENSE)
[//]: # (
)
## Table of Contents
1. [Read the Docs](https://sysg.dev)
2. [Getting Started](#getting-started)
- 2.1 [Installation](#installation)
- 2.2 [Usage](#usage)
3. [Why systemg](#why-systemg)
- 3.1 [Features](#features)
4. [How systemg Compares](#how-systemg-compares)
## Getting Started
### Installation

```sh
$ curl --proto '=https' --tlsv1.2 -fsSL https://sh.sysg.dev/ | sh
```
System deployments: `scripts/install-systemg.sh` sets up `/usr/bin/sysg`, `/etc/systemg`, `/var/lib/systemg`. See [security guide](docs/docs/security.md).
### Usage
| Command | Description |
|---------|-------------|
| `sysg start` | Start the default `systemg.yaml` in the foreground. |
| `sysg start --config my.yaml` | Start a specific config file. |
| `sysg start --daemonize` | Launch the supervisor in the background. |
| `sysg status` | Check the running supervisor's service state. |
| `sysg logs --service api` | View logs for a specific service. |
| `sysg restart --service api` | Restart one service without restarting everything. |
> **Tip:** `--stderr` redirects stderr from supervised processes to stdout with a `[service_name:stderr]` prefix, which is useful for debugging and CI pipelines.
By default, systemg captures service stdout/stderr through pipes and persists a local copy under its log directory. For high-output services, configure logging explicitly:
```yaml
logs:
sink: file
max_bytes: 10485760
max_files: 5
status:
snapshot_mode: summary
snapshot_interval_secs: 5
services:
noisy_worker:
command: "worker --verbose"
logs:
sink: none
```
`sink: none` discards service output without creating systemg log-writer threads or files, which is useful when another production logging pipeline already collects process output.
`status.snapshot_mode: summary` keeps `sysg status` and `sysg inspect`
inexpensive while still reading current persisted state such as cron history.
Use `detailed` only when you need process tree and runtime command details for
diagnostics. Add `--live` to `sysg status` or `sysg inspect` when a single
request should force immediate runtime collection instead of the configured
snapshot mode.
---
## Why systemg
Compose programs into systems with explicit dependencies and health checks.
### Features
- **Dependencies** - Topological startup order with health-aware cascading
- **Rolling Deployments** - Blue-green swaps with health validation
- **Environment** - `.env` file propagation
- **Webhooks** - Event notifications ([docs](docs/docs/webhooks.md))
- **Cron** - Scheduled tasks with overlap detection
- **Spawning** - Dynamic child process tracking
- **OS Integration** - systemd/cgroups when available
- **Single Binary** - No runtime dependencies
## How systemg Compares
| Feature | systemg | systemd | Supervisor | Docker Compose |
|---------|---------|---------|------------|----------------|
| **Focus** | Program composition | System management | Process supervision | Container orchestration |
| **Configuration** | Declarative YAML | Unit files | INI files | YAML |
| **Dependencies** | Topological with health checks | Complex unit chains | Manual ordering | Service links |
| **Deployments** | Built-in rolling workflows | External tooling | Manual restarts | Recreate/rolling |
| **Runtime deps** | None | DBus, journal | Python | Docker daemon |
| **OS integration** | Optional | Required | None | Container runtime |