Skip to content

Home

Krill Logo

Modern DAG orchestrator for robotics: Build on Rust 🦀

GitHub stars Docs

Why Krill?

Built for Robotics

Krill is an orchestrator designed specifically for robotics, built to manage the real-world complexity of modern robotic systems.

ROS / ROS 2 has become a de-facto standard, and Docker is increasingly adopted by roboticists.
But once systems grow beyond a single machine, mixing native processes, containers, hardware drivers, and launch logic quickly becomes brittle.

Krill bridges this gap by providing a unified way to compose, run, and operate complex robotics stacks — from laptops to production robots.

What Krill Solves

One tool. Your entire robotics stack.

  • ROS 2 Native
    First-class support for packages, launch files, lifecycle nodes, and ROS-centric workflows

  • Docker & Pixi Ready
    Mix containerized, virtual-env, and native workloads in a single recipe

  • Smart Orchestration
    DAG-based dependency management ensures deterministic startup, shutdown, and recovery

  • Production-Grade Observability
    Built-in health checks, status propagation, and automatic restart semantics

  • Policy-Driven Operation
    Encode operational constraints, safety rules, and system invariants as policies — not scripts

From local development to production robots — one configuration, zero rewrites.

⚡ Low overhead — native Rust daemon
🔒 Safety aware — critical service semantics

Features

  • TUI integration


    Rich text user interface (TUI) for managing and monitoring processes. The TUI offers a clear and intuitive way to view and interact with your robotics system

  • ROS2 Native


    First-class support for ROS2 packages, and launchers. Either natively supported, via Docker, or via Pixi

  • DAG Orchestration


    Manage complex process dependencies with ease

  • Health Monitoring


    Real-time process health checks and automatic recovery

Quick Start

  • Just installed
  • Cargo installed
  • Pixi installed (not mandatory, but usefulfor running examples)
just install
krill.yaml
services:
  ros_talker:
    execute:
      type: pixi
      task: talker
      working_dir: ./ros2
    dependencies: []
  ros_listener:
    execute:
      type: pixi
      task: listener
      working_dir: ./ros2
    dependencies:
      - ros_talker
krill up krill.yaml

Next Steps