{{define "registry_page"}} {{template "html_head" .}}
{{template "sidebar_nav" .}}
{{template "topbar_mobile" .}}
{{template "banner_inner" .Banner}}
{{template "registry_content" .}}
{{/* The list behind a row of the chart opens in the analytics dialog. */}}
{{template "analytics_dialog"}}
{{end}} {{define "registry_content"}}

Реестр IP

Все адреса, когда-либо поставленные на проверку — накопленная статистика сохраняется здесь даже после удаления адреса из очереди и не теряется при повторном добавлении. Глубина хранимой истории на адрес настраивается на странице настроек.

{{if not .SubnetOptions}}Подсети не настроены — добавить в настройках{{end}}
Запуск задаёт срез: результат берётся по циклу адреса в этом запуске, а статус — по вердикту запуска. Направление и протокол оставляют только такие проверки, и статус тогда считается по ним, а не по общему вердикту. tls проверяется только на входе (Ingress). сбросить фильтры
{{template "registry_table" .}}
{{end}} {{define "registry_level"}}
{{.Name}} {{if .L.Total}}{{.L.OK}} из {{.L.Total}} {{range .L.ByType}}{{.Type}} {{.OK}} из {{.Total}}{{end}} {{else}}—{{end}}
{{end}} {{define "registry_breakdown"}} {{if .Hint}}

{{.Hint}}

{{else}}

{{.Title}} · {{.Scope}}

{{if .Err}}

{{.Err}}

{{else if not .Rows}}

Для этого сочетания проверок нет.

{{else}}
{{range .Rows}} {{end}}

Адресов под фильтром: {{.Addresses}}. Срез: {{.Slice}}. Строки идут от большего числа успешных проверок к меньшему. Считаются проверки, а не адреса: у tcp и tls на ingress у адреса может быть по проверке на каждую площадку и порт (22, 443). Строка открывает список адресов.

{{end}}
{{end}} {{end}} {{define "registry_table"}} {{with .Breakdown}}{{template "registry_breakdown" .}}{{end}} {{if or .Items .Run}}

Найдено адресов: {{.Total}}{{if .Run}} · к аналитике запуска {{.Run}}{{end}}

{{end}} {{if .Items}}
{{range .Items}} {{end}}
АдресВпервые замеченПоследний раз замеченЦиклов{{if .Run}}Результат в запуске {{.Run}}{{else}}Последний результат{{end}}Сейчас в очереди
{{.IPAddress}} {{fmtTime .FirstSeenAt}} {{fmtTime .LastSeenAt}} {{.TotalCycles}} {{if eq .LastResult "pass"}}pass {{else if eq .LastResult "partial"}}partial {{else if eq .LastResult "fail"}}fail {{else if eq .LastResult "cancelled"}}cancelled {{else}}—{{end}} {{if .LastCycleID}}
{{if or (not $.Scoped) .Egress.Total}}{{template "registry_level" dict "Name" "Egress" "L" .Egress}}{{end}} {{if or (not $.Scoped) .Ingress.Total}}{{template "registry_level" dict "Name" "Ingress" "L" .Ingress}}{{end}}
{{end}}
{{if .InQueue}}{{.CurrentState}}{{else}}нет{{end}}
{{template "pager" .Pager}}
{{else if or .Query .StatusFilter .Run .Subnet .Direction .Protocol}}

Ничего не найдено по текущему фильтру.

{{else}}

Реестр пуст — ни один адрес ещё не ставился на проверку.

{{end}} {{end}}