Operate
Provision, patch, image, place, and retire compute under capacity and approval policy.
Ryuki turns requests into signed, reviewable evidence across every site—from draft to retire. Dry-run first. Live execution only after a human gate.
One governed path for the four jobs that matter: operate, protect, observe, and prove. Named integrations stay visible because infrastructure claims should be inspectable.
Provision, patch, image, place, and retire compute under capacity and approval policy.
Track backup coverage, test restores, orchestrate recovery, and expose repository risk.
Enroll hosts, route alerts, open maintenance windows, and detect drift across the fleet.
Reconcile inventory and seal approval, execution, CMDB, and physical-site evidence.
Every request moves through the same implemented control path. A failed request is terminal and keeps its evidence. Break-glass changes move faster, but they do not become invisible.
An attributed role-based decision binds the reviewed plan to the change record before a live grant can exist.
The browser never calls a provider. The portal keeps a same-origin boundary; the API owns policy and request state; secrets resolve by handle; agents execute on infrastructure the operator controls.
Default deny. Explicit egress only to PostgreSQL, Vault, the execution agent, and approved provider endpoints. Provider credentials do not pass through the browser or control-plane evidence.
| Component | Stack | Control responsibility |
|---|---|---|
| Portal boundary | Leptos / Axum | SSR, role-filtered navigation, and same-origin browser access. |
| Policy plane | Axum / Rust | Authorization, validation, request state, and evidence generation. |
| Execution edge | Agent / Runner | Operator-deployed execution using short-lived signed grants. |
| State & secrets | PostgreSQL / Vault | Durable records and secret handles without browser credential flow. |
Every domain can plan, validate, and record evidence without touching live systems. Live Terraform and Ansible execution runs through an operator-deployed agent only after the trust gate closes around one reviewed plan.
The agent runs a live plan against the real backend and returns scrubbed evidence plus a digest. Nothing mutates.
An admin approves that exact digest. The control plane mints a short-lived signed grant bound to the request and approver.
The agent refuses bad signatures, wrong requests, expired grants, digest changes, or disabled live mode—and reports the refusal.
The agent applies the saved plan bytes, then returns redacted result evidence. Production access remains an operator decision.
Bring up PostgreSQL and verify the workspace build. The field guide carries the full API, portal, configuration, and first-test sequence.
The default posture is safe for evaluation. Real provider credentials and live execution remain opt-in, explicitly configured, and operator-owned.
# Clone, start state, and verify the workspace
$ git clone https://github.com/mvandenbulcke/ryuki.io.git && cd ryuki.io
$ docker compose -f deploy/compose/compose.yaml up -d platform-db
$ cp .env.example .env
$ cargo build --workspace
Self-hosted, open source, and built for the system engineers who have to explain what changed after the maintenance window closes.
Request. Plan. Approve. Execute. Evidence.