Canic - run and manage applications across a fleet of canisters

Canic - run and manage applications across a fleet of canisters

RustOperator CLIcrates.io: canic-cliMIT licensed

What it is

One place to run every part of your app

On the Internet Computer, software runs inside little self-contained units called canisters - each one holds a piece of your app's code and its data. A real application is usually made of many of them working together. The catch is that someone then has to build them, wire them up, keep them topped up with fuel, put each one in the right place, watch over them, recover them if something breaks, and update them all without knocking the app over.

Canic takes care of all of that from one place. You describe what the app should look like; Canic works out what needs to change, shows you the plan before anything happens, and then makes it so - and keeps the whole thing running as a single system afterwards. In the ordinary cloud, big companies use a tool called Kubernetes to manage huge fleets of servers this way; Canic is, in effect, decentralised Kubernetes - that same role, built for the Internet Computer.

How it works

From your code to a running app

You describe the app and build it, Canic checks its plan against what's really running, then rolls it out - and looks after all the parts together as one system.

Canic build and deploy: Rust canister code and app configuration (canic.toml) feed canic build, producing Wasm artifacts and evidence; the desired fleet, a plan-review-apply step and live IC observations then deploy a fleet on the IC.
IC fleet structure: the fleet on the IC is coordinated by a Fleet Coordinator down to a root on each occupied subnet, which holds the Wasm Store and the application components.

Who it's for

Who it's for & why

  • Anyone building an Internet Computer app out of more than one part
  • Teams who want launches to be repeatable and reviewable, not nerve-wracking
  • Projects that need confidence they can back up and recover if something goes wrong
  • Tools that spin up lots of these parts automatically and need to manage them all

Open source, in daily use

Canic runs the canister fleets behind our own platform and games, which is how its rough edges get found and fixed. It's open-source and being opened up for wider use - full documentation lives on GitHub.