DEVOPS

Scheduled Worker canary promotion after a clean bake period

On a timer, checks the current Cloudflare Worker canary against Axiom logs and automatically promotes it to full traffic once it has stayed below the error threshold…

CategoryDevOps
Enginesim
Difficultyintermediate
Triggerschedule
Steps6
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerSchedule: every 15 min during bake
  • ActionRead canary state from PostgresPostgreSQLPostgres
  • ActionQuery Axiom for canary error rateAxiom
  • LogicUpdate clean-streak count vs. threshold
  • ActionPromote canary to 100% when streak metCloudflareCloudflare
  • OutputRecord decision in Postgres and DiscordPostgreSQLPostgres

What it does

Watches a Worker that is already serving partial canary traffic and decides, on a schedule, whether it has earned full rollout. Each run pulls the canary's recent error and latency metrics from Axiom; once the version has been clean across enough consecutive checks, the flow promotes it to 100% and stops watching.

When to use it

Use it for low-urgency rollouts where you want a long, hands-off soak rather than an immediate staged push. It is ideal for off-hours promotions where nobody is watching but you still want a clean-bake guarantee before going to full traffic.

How it works

  1. 1A schedule fires every 15 minutes during the bake window.
  2. 2The flow reads canary state (current %, version ID, consecutive-clean count) from Postgres.
  3. 3Axiom is queried for the canary version's error rate since the last check.
  4. 4A logic step increments the clean count if under threshold, or resets it to zero on a breach.
  5. 5When the clean count crosses the promote target, Cloudflare sets the split to 100% canary.
  6. 6State is written back to Postgres and a Discord note records the decision.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect AxiomLog streams, queries, dashboards.
  2. 2
    Connect CloudflareWorkers, Pages, R2, KV — the edge stack.
  3. 3
    Connect PostgresAny Postgres URL — query, write, migrate.
  4. 4
    Connect DiscordCommunity channels + voice + bots.
  5. 5
    Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
  6. 6
    Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
  7. 7
    Test, then turn it onRun once against a sample, confirm the output, then enable the trigger.

Run this workflow in your colony.

14-day trial. No DevOps. No Sales call. Provisioned in under a minute.