Cloudflare runs Workers at ~310 points-of-presence around the world. You can deploy a Valpero probe as a Worker, point Cloudflare's cron at it, and effectively get a probe at any colo Cloudflare has — for free inside the Workers free tier.
This is great when you want a probe in a region we don't ship with (Africa, South Asia, Oceania) or when you're already on Cloudflare and want to keep infra footprint to one vendor.
What the Worker does
Every minute (cron * * * * *):
- Pulls due tasks from
valpero.com/api/probe/tasks?region=<your-region>. - Runs the checks via the Worker's
fetch()API. - Posts results back to
valpero.com/api/probe/report.
It's stateless, sub-1ms CPU per task, and stays inside the free tier even with 30+ monitors.
Limitations
Workers can't open raw TCP sockets — so the Worker probe handles only:
| Check type | Works? |
|---|---|
| HTTP / HTTPS | yes |
| TCP / Port | no |
| Ping (ICMP) | no |
For TCP/port checks use a managed region or a self-hosted probe.
Setup
1. Create a probe node
Dashboard → Probe nodes → New node. Pick a region code like
cfw-eu or cfw-asia. Copy the token.
2. Install wrangler (Cloudflare CLI) if you don't have it
npm install -g wrangler
wrangler login
3. Deploy
git clone https://github.com/valpero/valpero-probe.git
cd valpero-probe/cloudflare-worker
wrangler secret put VALPERO_TOKEN
# paste the prb_node_… token
wrangler secret put VALPERO_REGION
# type your region code, e.g. cfw-eu
wrangler deploy
That's it. Cloudflare will fire the cron every minute.
4. Assign monitors
Same as managed regions — open any monitor, Settings → Regions, tick your CF region. Within a minute you'll see the first results.
How CF colo selection works
A scheduled Worker invocation runs in some Cloudflare colo. Cloudflare picks based on internal sharding — it isn't necessarily where your account is registered. To run multi-region from CF:
- Deploy one Worker per intended region with a different
VALPERO_REGION. - Each gets its own stable identity in Valpero so we can show them as distinct vantage points.
Cost
Cloudflare's free tier gives you 100k requests/day and 10ms CPU per request. A typical install (10 monitors per region, 1-min interval) uses about 14k requests/day — well inside the free tier.
If you're a heavy user (50+ monitors, multi-region) the paid tier is $5/month per Workers account regardless of volume.
Multiple Workers across the world
The straightforward way to use this for global coverage:
# Worker 1
wrangler deploy --name valpero-probe-eu
# (set VALPERO_REGION=cfw-eu)
# Worker 2 — same code, different secrets
wrangler deploy --name valpero-probe-us
# (set VALPERO_REGION=cfw-us)
Each Worker reports to a different region label. The Cloudflare cron will spread the invocations across colos automatically.
Where the source lives
Public on GitHub: github.com/valpero/valpero-probe — see the
cloudflare-worker/ directory. ~80 lines of JavaScript.