feat: git-based agent version reference and unified outdated badge (0.20.0)

SAC reads latest RDP/ssh-monitor versions from configured git repos for outdated detection, update targets, and settings test-git.
This commit is contained in:
2026-06-20 16:25:53 +10:00
parent d820d941c1
commit f411d8f070
22 changed files with 932 additions and 45 deletions
+13 -6
View File
@@ -202,16 +202,23 @@ function agentLabel(status: string) {
function isVersionOutdated(h: HostSummary): boolean {
if (h.version_status === "outdated") return true;
if (h.version_status === "ok") return false;
const latest = data.value?.latest_agent_versions?.[h.product];
return isAgentVersionOutdated(h.product_version, latest);
const reference =
data.value?.reference_agent_versions?.[h.product] ??
data.value?.latest_agent_versions?.[h.product];
return isAgentVersionOutdated(h.product_version, reference);
}
function versionTitle(h: HostSummary): string {
const latest = data.value?.latest_agent_versions?.[h.product];
const reference =
data.value?.reference_agent_versions?.[h.product] ??
data.value?.latest_agent_versions?.[h.product];
if (!isVersionOutdated(h)) return "";
return latest
? `Устарела относительно последней для ${h.product}: ${latest}`
: "Устаревшая версия агента";
if (!reference) return "Устаревшая версия агента";
const fromSettings = data.value?.reference_agent_versions?.[h.product];
if (fromSettings && fromSettings !== data.value?.latest_agent_versions?.[h.product]) {
return `Устарела относительно эталона ${reference} (настройки SAC)`;
}
return `Устарела относительно эталона ${reference}`;
}
function openHost(id: number) {