diff --git a/site/data/severity.toml b/site/data/severity.toml index 8b69bbc..8f56240 100644 --- a/site/data/severity.toml +++ b/site/data/severity.toml @@ -11,3 +11,17 @@ degraded-performance = "warning" partial-outage = "warning" major-outage = "danger" + +[levels] + 0 = "ok" + 1 = "under-maintenance" + 2 = "degraded-performance" + 3 = "partial-outage" + 4 = "major-outage" + +[levels_reverse] + ok = 0 + under-maintenance = 1 + degraded-performance = 2 + partial-outage = 3 + major-outage = 4 diff --git a/site/layouts/partials/systems.html b/site/layouts/partials/systems.html index d4e0c17..e35d41d 100644 --- a/site/layouts/partials/systems.html +++ b/site/layouts/partials/systems.html @@ -9,15 +9,19 @@
{{- $name -}} {{ if $.incidents }} + {{ $.content.Scratch.Set "max" 0 }} {{ range $.incidents }} {{ if in .Params.affectedsystems $name }} - {{ $alert := index .Site.Data.severity.alerts .Params.severity }} - {{ $desc := index .Site.Data.severity.descriptions .Params.severity }} - {{ partial "status-badge" (dict "alert" $alert "description" $desc) }} - {{ else }} - {{ partial "status-badge" (dict "alert" $okAlert "description" $okDesc) }} + {{ $level := index .Site.Data.severity.levels_reverse .Params.severity }} + {{ if gt $level ($.content.Scratch.Get "max") }} + {{ $.content.Scratch.Set "max" $level }} + {{ end }} {{ end }} {{ end }} + {{ $severity := index $.content.Site.Data.severity.levels (string ($.content.Scratch.Get "max")) }} + {{ $alert := index $.content.Site.Data.severity.alerts $severity }} + {{ $desc := index $.content.Site.Data.severity.descriptions $severity }} + {{ partial "status-badge" (dict "alert" $alert "description" $desc) }} {{ else }} {{ partial "status-badge" (dict "alert" $okAlert "description" $okDesc) }} {{ end }}