Developer Infrastructure & Operations
Internet Computer orchestration for canister fleets.
Canic is a Rust toolkit and operator CLI that brings modern DevOps and platform-engineering practices to Internet Computer deployments — managing canister fleets consistently and safely across their entire lifecycle.
What it is
Operating a fleet of canisters by hand is fragile: deployments drift, topology lives in people's heads, and recovering from a bad upgrade is a scramble. Canic replaces that with repeatable, auditable workflows driven by metadata in your Cargo.toml and a single canic.toml configuration.
It pairs a Rust library — lifecycle and build macros, stable-memory helpers, endpoint guards — with an operator CLI that builds artifacts, installs fleets, captures snapshots, validates backup manifests, and drives guarded restore planning. Teams get the same deployment, every time, with evidence to prove it.
Capabilities
canic::start!() and canic::build! wire IC hooks, endpoint bundles, and compile-time config validation from package metadata.
A validated canic.toml describes subnets, roles, and singleton, replica, shard, warm, scaling, and directory pools.
The CLI stages child artifacts through an implicit wasm_store, keeping them out of the root Wasm for cleaner deployments.
Root signs shard certificates, shards mint user tokens, and verifiers validate tokens with local key material.
Capture topology-aware snapshots, validate backup manifests, and drive guarded restore planning from the operator CLI.
Build provenance, deployment-check envelopes, policy gates, and read-only adoption profiles for existing deployments.
Refresh and inspect cached public subnet, node, node-operator, and node-provider metadata from the NNS registry.
Declare ordinary managed canisters before topology placement, then explicitly attach them before artifact builds or deployment.
Get started
Install the published CLI, then drive a local fleet through the standard loop — start a replica, install, inspect, and run health checks.
# install the operator CLI cargo install --locked canic-cli # the short local loop canic status canic replica start --background canic install --profile fast test canic info list test canic medic test
Who it's for
Canic is the successor to the internal ICU toolkit and is being opened for wider use. Published crates declare a minimum supported Rust version of 1.91. Issues and PRs are currently limited to the core team.
Explore the full documentation, configuration reference, and operator walkthrough on GitHub.