Celilo treats a backup as a self-describing envelope: everything needed to
reconstruct a system — its module configs, secrets, and the Terraform state that
knows what was provisioned — travels together in one encrypted artifact. You
don’t reassemble a machine from scattered notes; you hand celilo restore one
file and it rebuilds.
Why an envelope
A backup that only captures application data is a trap: you restore the files but lose the shape of the deployment — which zone it lived in, what IP it held, what secrets it depended on. The envelope captures that shape alongside the data, so a restore lands in a known-good state instead of a half-configured one.
What’s inside
- Module configuration — the declared state of every deployed module.
- Secrets — encrypted at rest, never in plaintext in the envelope.
- Terraform state — so celilo knows exactly what infrastructure existed.
Restoring
celilo restore <envelope>
One command. The envelope describes itself, so restore doesn’t need flags telling it what kind of system it’s rebuilding — it reads that from the artifact.