-
-
Notifications
You must be signed in to change notification settings - Fork 0
Quick Start
This walks a single zone from read-only assessment all the way to a gated cutover. Every step before the DNS flip is non-destructive and produces artifacts you can review in git.
You will need: a running edge host (its public IP), and a target stack to point at. No box yet? The Deploy / Landing Zone page stands one up with a single
docker compose up.
export CLOUDFLARE_API_TOKEN=… # a read-only token
flareover extract example.com > zone.snapshot.jsonextract only reads. The snapshot is a faithful, provider-native capture of the zone — DNS records, TLS/SSL settings, WAF and rate-limit rules, page rules, transforms, redirects, object-storage buckets, and more.
Migrating a whole account? flareover zones lists every zone the token can see.
flareover assess zone.snapshot.json # human-readable
flareover assess zone.snapshot.json --md # Markdown (drop into a PR)
flareover assess zone.snapshot.json --json # machine-readable findings
flareover assess zone.snapshot.json --html # self-contained shareable reportEvery setting gets exactly one verdict — AUTO, ASK, or MANUAL (see The Contract). assess is CI-friendly:
| Exit code | Meaning |
|---|---|
0 |
Everything is AUTO — a clean, fully-deterministic migration |
11 |
There are ASK items to answer (no MANUAL) |
10 |
There are MANUAL items to handle by hand |
flareover resolve zone.snapshot.json --defaults > decisions.lockresolve walks each ASK question into a decisions.lock. On a terminal it is interactive; --defaults accepts the safe default for each, and --merge <file> layers onto an existing lock. Anything you leave unanswered simply is not generated — never guessed.
flareover cost zone.snapshot.json --vps 12 # your EU VPS price, €/moCompares the managed-edge tier/add-on spend against a flat EU-sovereign stack.
flareover prepare zone.snapshot.json \
--decisions decisions.lock \
--edge-ip 203.0.113.10 \
--ca actalis \
--out ./out --validateThis writes the deployable artifacts (Caddyfile, caddy-waf rules, PowerDNS zone, …) plus a MIGRATION.md report — a table of every element found and exactly what it became (1:1 AUTO / answered-ASK / MANUAL). --validate proves the generated Caddyfile and zone actually parse.
Generation is a pure function of
snapshot + decisions.lock: run it twice, get byte-identical config. Review./outingitbefore anything goes live.
export PDNS_API_KEY=… CERTMATE_TOKEN=…
flareover doctor \
--pdns-url http://pdns:8081 \
--certmate-url http://certmate:8000 \
--check-caddy # GO / NO-GO — exit 0 only when every target is readyflareover provision --snapshot zone.snapshot.json --decisions decisions.lock \
--edge-ip 203.0.113.10 \
--pdns-url http://pdns:8081 --nameservers ns1.example.eu,ns2.example.eu \
--certmate-url http://certmate:8000 \
--certmate-dns cloudflare # pre-cutover: NS still at the source, so solve DNS-01 thereSwap --pdns-url … for --dns <target> to use a managed DNS backend instead of self-hosting (see DNS Targets). Object storage is a separate step: flareover storage buckets.json --out ./out (see Object Storage).
flareover present zone.snapshot.json --after-addr 203.0.113.10:443Probes the live edge vs the staged edge and diffs status codes, redirects, headers, and body. HARD divergences block the cutover (exit 12); SOFT ones are surfaced for review.
The final NS move at your registrar stays an explicit human step — flareover never touches your registrar. Afterwards:
flareover guard --url https://example.com --interval 30s \
--on-unhealthy "…rollback command…"guard health-watches the new edge and can trigger rollback/failover.
Next: The Contract · CLI Reference · Coverage Matrix
flareover — deterministic migration off the orange cloud to EU-sovereign, self-hosted infrastructure · 📖 Docs · Repository · Releases · AGPL-3.0-only · © Fabrizio Salmi
Start here
Concepts
Reference
Help