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), optional cron_expression
  • target_organizations / target_workspaces — scope
  • block_config_template — Jinja2+YAML for the block config (globals include credential_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 (high before medium before low).
  • 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.

Related topics