{{/* fleet_update_inner — inner panel for /settings/fleet-update. Rendered both as part of the full page and as the htmx polling fragment via /settings/fleet-update/partial. Expects .Page to be a fleetUpdatePage struct (see fleet_update.go). */}} {{define "fleet_update_inner"}} {{$page := .Page}}
{{if and $page.Active (eq $page.Active.Status "running")}} {{/* ---------- running state ---------- */}}
fleet update running {{$page.Active.ID}}
target {{$page.Active.TargetVersion}} · started {{relTime $page.Active.StartedAt}} {{if $page.Active.CurrentHostID}} · waiting on {{index $page.HostNames $page.Active.CurrentHostID}} {{end}}
{{template "fleet_update_rows" $page}} {{else if $page.Active}} {{/* ---------- terminal state (completed / halted / cancelled) ---------- */}}
last fleet update {{if eq $page.Active.Status "completed"}} completed {{else if eq $page.Active.Status "halted"}} halted {{else if eq $page.Active.Status "cancelled"}} cancelled {{else}} {{$page.Active.Status}} {{end}} {{$page.Active.ID}}
target {{$page.Active.TargetVersion}} · started {{relTime $page.Active.StartedAt}} {{if $page.Active.CompletedAt}} · finished {{relTime $page.Active.CompletedAt}}{{end}}
{{if $page.Active.HaltedReason}}
{{$page.Active.HaltedReason}}
{{end}}
{{template "fleet_update_rows" $page}} {{if gt (len $page.OutOfDateHosts) 0}}
{{template "fleet_update_idle_panel" $page}}
{{end}} {{else}} {{template "fleet_update_idle_panel" $page}} {{end}}
{{end}} {{define "fleet_update_rows"}} {{$page := .}}
#
Host
Status
Job
Detail
{{range $page.ActiveRows}}
{{.Position}}
{{if .HostName}}{{.HostName}}{{else}}{{.HostID}}{{end}}
{{if eq .Status "pending"}}pending {{else if eq .Status "running"}}running… {{else if eq .Status "succeeded"}}succeeded {{else if eq .Status "failed"}}failed {{else if eq .Status "skipped"}}skipped {{else}}{{.Status}}{{end}}
{{if .JobID}}{{.JobID}}{{else}}{{end}}
{{.FailedReason}}
{{end}}
{{end}} {{define "fleet_update_idle_panel"}} {{$page := .}}
{{if eq (len $page.OutOfDateHosts) 0}}
All hosts are up to date.
Every online agent matches server version {{$page.TargetVersion}}.
{{else}}

{{len $page.OutOfDateHosts}} host{{if ne (len $page.OutOfDateHosts) 1}}s{{end}} out of date

target {{$page.TargetVersion}}
{{end}}
{{end}}