Canary Deployments
Safely test configuration changes on isolated canary copies before promoting to production.
Canary Workflow
Canary deployments let you test changes on isolated copies of your agents. Canary agents share the same shared blocks, folders, and tools as production, but get their own agent-specific memory blocks. The workflow is: deploy canaries → test → promote → cleanup.
lettactl apply -f fleet.yaml --canaryOptions
| Flag | Type | Description |
|---|---|---|
| --canary | boolean | Deploy canary copies with CANARY- prefix |
| --canary-prefix | string = CANARY- | Custom prefix instead of CANARY- |
| --promote | boolean | Promote canary config to production agents |
| --cleanup | boolean | Remove canary agents |
| --agent | string | Scope canary operation to a specific agent |
Examples
1. Deploy canaries
lettactl apply -f fleet.yaml --canary2. Test canary agents
lettactl send CANARY-my-agent 'Test message'
lettactl messages CANARY-my-agent3. Inspect canary
lettactl describe agent my-agent --canary
lettactl get agents --canary4. Promote and cleanup
lettactl apply -f fleet.yaml --canary --promote --cleanupNotes
Canary agents share shared blocks/folders/tools with production
Agent-specific memory blocks are isolated to the canary
Running --canary twice updates existing canaries (idempotent)
--promote is equivalent to a normal apply with --skip-first-message
Works with --agent flag for scoped deployments