Images
The Images page — the ledger of encrypted .hsi snapshots across your fleet, their integrity and backend, retention policies, and loading a snapshot onto a Node.
Images
The Images page is the ledger of every .hsi point-in-time image captured across your
fleet. Each capture registers a row here, so the control plane can enumerate snapshots,
show what's inside them, prove their integrity, and pick one to load onto a Node. Images
are encrypted before they leave the host and fan out to whatever backends you've connected
— Cloudflare R2, AWS S3, Backblaze B2, Wasabi, MinIO, SFTP, or local disk.
It needs the images.view privilege; without it the page shows a locked notice.
What the page shows
Four stat tiles across the top:
| Tile | Meaning |
|---|---|
| Total images | How many snapshots are in the ledger. |
| Total size | Their combined on-disk size. |
| Verified | How many passed an integrity check, as verified/total. |
| Failed | How many failed integrity — highlighted when greater than zero. |
Retention policies
A card lists the retention policies that govern how long images live before pruning, each bound to a server scope. A policy shows its keep-all or "N images before deletion" rule, its daily / weekly / monthly keeps, and a minimum-free-space floor.
By default your fleet inherits a single House default (keep-all) policy: nothing is pruned automatically. Per-tenant policies and full retention CRUD are a planned deepening — today the page surfaces the house default rather than an empty list. Retention and pruning are covered in Backups & recovery.
The images table
One row per snapshot, with filters above it by integrity (all / verified / unverified / failed) and by backend:
| Column | What it shows |
|---|---|
| Image | The source server name and image ID, with a lock icon when encrypted. |
| Created | How long ago the snapshot was captured. |
| Size | On-disk size. |
| Mode | Transfer mode — offline, peer, or managed (see Backups & recovery). |
| Backend | Where the bytes live — R2, S3, B2, Wasabi, MinIO, SFTP, or local disk. |
| Integrity | verified / unverified / failed. |
| Contents | A manifest summary: databases, volumes, and configs inside. |
| Pinned | Whether the image is pinned (exempt from pruning). |
Click a row to open a detail drawer with the full manifest (image ID, source server, source IP, size), a contents breakdown (databases / volumes / configs), and its lifecycle (created, age, transfer mode, backend, and the retention policy it's bound to, or "unmanaged").
Loading a snapshot onto a Node
Load snapshot (top-right) restores a registered snapshot onto a target Node. Pick a snapshot from the ledger and a connected Node, and HostSSH queues a restore job through the clone engine: it's a non-destructive clone by default, and the source IP is rewritten to the target so the restored workload comes up addressed for its new home. The target agent must be on v0.4.12+ to claim the job. You'll get a toast with the job ID; watch its progress on the Recovery page.
If there are no snapshots yet, or no connected Nodes, the dialog says so plainly — snapshots
appear here once an agent runs hostssh capture and registers the result.
Per-image restore/clone/download/verify are not wired yet. The buttons in an image's detail drawer announce "coming soon" rather than pretending to run — host image operations ship in an upcoming release. To restore today, use Load snapshot above, or the flows on the Recovery page.
Related
- Backups & recovery — capture, restore, clone, relocate, retention, and the
.hsiformat in depth. - Recovery — watch restore/clone/migrate jobs run.
- Connections (BYOK) — connect the storage backends images fan out to.