IT OPS

Cloudflare WAF Pull Request Preflight Baseline Guard

Triggers when a pull request edits the WAF baseline file, validates the proposed rules against Cloudflare and lint policy.

CategoryIT Ops
Enginesim
Difficultyadvanced
Triggerevent
Steps4
Setup~25 min

How it runs

The automated pipeline, trigger to output.

  • TriggerGitHub PR opened that edits the WAF baselineGitHubGitHub
  • ActionRead proposed baseline and pull live Cloudflare zone configCloudflareCloudflare
  • LogicLint proposed rules and flag risky changes
  • OutputPost pass/fail status check and PR comment to GitHubGitHubGitHub

What it does

Shifts WAF change control left into code review. When a developer opens a pull request that edits the committed WAF baseline, this workflow parses the proposed ruleset, dry-validates it against the live Cloudflare zone, and writes back a pass or fail status check so a bad rule never merges to the approved baseline.

When to use it

Use it when your WAF baseline already lives in Git and you want every edit gated before merge. It stops malformed expressions, overly broad blocks, or rules that conflict with the live zone from sneaking through review.

How it works

  1. 1A GitHub pull-request event fires when the WAF baseline file changes.
  2. 2The workflow reads the proposed baseline from the PR head and pulls the live zone config from Cloudflare for comparison.
  3. 3A logic step lints the proposed rules and flags risky changes such as broad allow rules or removed managed protections.
  4. 4Pass or fail is posted back to GitHub as a commit status check and a summary comment on the PR.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect GitHubRepos, issues, pull requests, actions.
  2. 2
    Connect CloudflareWorkers, Pages, R2, KV — the edge stack.
  3. 3
    Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
  4. 4
    Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
  5. 5
    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.