ui: snapshots SIZE/FILES tooltip when host's restic is < 0.17
Per-snapshot size + file-count come from the embedded summary block restic added to 'snapshots --json' in 0.17 (the source comment in internal/restic/snapshots.go incorrectly said 0.16+). Hosts running 0.16.x leave those columns blank. - Fix the snapshots.go doc comment: '0.16+' -> '0.17+'. - hostDetailPage carries a LegacyRestic bool computed from the host's reported ResticVersion via Env.AtLeastVersion(0, 17). Empty version also counts as legacy (conservative default). - Template attaches title='Needs restic 0.17+ on the agent host. This host runs <ver>.' + cursor:help on the SIZE / FILES headers when the flag is true. Hosts already on 0.17+ get no tooltip and no extra styling. A host upgrading restic to 0.17+ gets the columns populated on the next backup automatically — no further code change needed.
This commit is contained in:
@@ -13,9 +13,11 @@ import (
|
||||
// decode only the fields we project to the server; restic's full
|
||||
// shape has more (parent, tree, program version) that we don't need.
|
||||
//
|
||||
// Summary is only populated by restic 0.16+ (which embeds the backup
|
||||
// summary inside each snapshot). Older clients leave it nil and the
|
||||
// agent reports zero size/file-count — the UI degrades to "—".
|
||||
// Summary is only populated by restic 0.17+ (which embeds the backup
|
||||
// summary inside each snapshot record). Older clients leave it nil
|
||||
// and the agent reports zero size/file-count — the UI degrades to
|
||||
// "—" and the column headers carry a tooltip explaining the version
|
||||
// requirement (see web/templates/pages/host_detail.html).
|
||||
type Snapshot struct {
|
||||
ID string `json:"id"`
|
||||
ShortID string `json:"short_id"`
|
||||
|
||||
Reference in New Issue
Block a user