Backup hover names the check and the capture separately

This commit is contained in:
2026-08-13 13:35:17 -04:00
parent 376b8df0fb
commit 7517146238
3 changed files with 58 additions and 11 deletions

View File

@@ -960,7 +960,7 @@ def _asset_facts(hostnames):
'toolpluginid': None,
'displayrole': None,
'backupkind': None, 'backuplastseen': None,
'backuplastseenat': None,
'backuplastseenat': None, 'backupcollectedat': None,
}
_attach_controlled_assets(facts, assetidtohost)
@@ -1083,6 +1083,14 @@ def _attach_backup_state(facts, hostnames):
# Raw value kept beside the wire string so the verdict compares
# datetimes rather than re-parsing its own output.
entry['backuplastseenat'] = revision.lastseenat
# collectedat is when this configuration was CAPTURED, and it only
# moves when the config actually changed. Pairing it with lastseenat
# is what lets the hover say "checked X, and what it verified is
# still the backup taken at Y" instead of one date that has to mean
# both and ends up meaning neither.
entry['backupcollectedat'] = (
revision.collectedat.isoformat() + 'Z'
if revision.collectedat else None)
def _backup_ok(lastseenat, cutoff):
@@ -1225,6 +1233,7 @@ def list_reports():
# trust; the date alone reads as "nothing has happened since", which
# is the healthy steady state and looks like neglect.
'backupok': _backup_ok(known.get('backuplastseenat'), backupcutoff),
'backupcollectedat': known.get('backupcollectedat'),
'backupstaleafterdays': backupafterdays,
'scopename': report.scopename,
'phase': report.phase,