Documentation
Install an agent, write a policy, run a restore. In that order.
Agent install
bash
curl -sSL https://get.il-mirror-01.speedpilot.net | sudo sh -s -- \
--token $CH_ENROL_TOKEN --site hq-dc1
# verify
coldharbor status --verboseNetwork
The agent makes outbound connections only. Nothing listens.
| Direction | Destination | Port | Purpose |
|---|---|---|---|
| outbound | vault-*.il-mirror-01.speedpilot.net | 443/tcp | data |
| outbound | api.il-mirror-01.speedpilot.net | 443/tcp | control |
| outbound | ntp.il-mirror-01.speedpilot.net | 123/udp | time |
The air-gapped copy is pulled by a system that has no inbound path from your network and no credentials stored online. That is the entire point of it, and it is why the air-gapped copy lags the primary by up to six hours.
Policies
policy.json
{
"name": "file-servers",
"selector": {"tag": "role=fileserver"},
"schedule": {"incremental": "*/4 * * * *",
"synthetic_full": "weekly"},
"retention": {"daily": 30, "weekly": 12,
"monthly": 12, "annual": 7},
"immutability": "compliance",
"drill": {"cadence": "weekly",
"checks": [{"tcp": 445}, {"script": "verify.ps1"}]}
}Retention
Grandfather-father-son by default. Compliance-mode retention cannot be shortened, so the console requires you to confirm the storage cost over the full term before applying it.
Runbooks
A runbook orders workloads, remaps addresses and runs hooks. It is exercised on every drill, which is the only reason to trust it.
File restore
bash
coldharbor find 'quarterly-report*.xlsx' --before 2026-03-01
coldharbor restore --point rp_8f21c0 \
--path '/srv/finance/quarterly-report-q4.xlsx' \
--to /tmp/restoreInstant boot
Presents a recovery point as an NFS or iSCSI datastore and boots the VM from it. Disks stream back in the background; you can cut over whenever you like, including never.