Block Rollout
The Block Rollout system orchestrates block actions across many workspaces and clusters in waves, with concurrency limits, maintenance window awareness and failure thresholds. Core objects, item statuses and prioritization.
Block Rollout
The Block Rollout system orchestrates block actions (install, uninstall, …) across
many workspaces and clusters — wave-based, with concurrency limits,
maintenance window awareness and failure thresholds.
It is the foundation for operator updates, Loadbalancer deployments and K8sControlplane installations.
Two layers
| Layer | Task |
|---|---|
Trigger (BlockRolloutConfig) |
Detects demand and creates queue entries |
| Scheduler | Processes the queue in waves and starts ActionRuns |
Core objects
| Object | Meaning |
|---|---|
BlockRolloutConfig (BRC) |
Rules: target block, trigger type, concurrency, maintenance window, config template |
BlockRollout |
One wave / group of related items |
BlockRolloutItem (BRI) |
Single queue entry: block + action + status |
BRC kinds
kind |
Role |
|---|---|
trigger |
Triggers rollouts (reconciliation or cron) |
config |
Global default configuration (including concurrency) |
Important fields of a trigger BRC:
block_name,trigger_type(reconciliation/schedule), optionalcron_expressiontarget_organizations/target_workspaces— scopeblock_config_template— Jinja2+YAML for the block config (globals includecredential_get_or_create,backup_schedule_cron)- Bypass of the maintenance window is configurable; manual triggers always bypass the window
Item status
pending → in_progress → completed
→ failed → retrying → …
→ skipped
Idempotency: if an active item already exists for the same block, no duplicate is
created. CLI-managed blocks can be marked as skipped on conflict; a
Block Takeover migrates CLI blocks to API/BRC management.
Priority & waves
- Dispatch is prioritized by workspace Criticality (
highbeforemediumbeforelow). - Waves are separated when blocks belong to an owner (
managed_by) — e.g. Loadbalancer and Controlplane do not block each other.
Operator & UI
- A seeded system BRC installs/updates the Polycrate Operator fleet-wide — see Operator Deployment.
- The dashboard shows counters: Total = Done + In Progress + Pending + Failed + Skipped.