{{define "status_body"}}

Overall {{.OverallStatus}}

{{.OverallHeading}}

Machine {{.Machine.Status}}

ResourceUsageDetail
CPU {{if .Machine.CPU.Measured}} {{.Machine.CPU.BusyText}} {{.Machine.CPU.BusyText}} {{else}}{{end}} {{.Machine.CPU.Detail}}
Memory {{if .Machine.Memory.Measured}} {{.Machine.Memory.PctText}} {{.Machine.Memory.PctText}} {{else}}{{end}} {{.Machine.Memory.Detail}}
Network {{if .Machine.Network.Measured}} ↓ {{.Machine.Network.InRateText}}
↑ {{.Machine.Network.OutRateText}} {{else}}{{end}}
{{range .Machine.Network.Interfaces}}
{{.Name}}: {{.InText}} in, {{.OutText}} out
{{end}} {{if .Machine.Network.Detail}}
{{.Machine.Network.Detail}}
{{end}}

Processes {{.ProcessStatus}}

{{if .ProcessError}}

Could not ask supervisord for the process list.

{{else}} {{range .Processes}} {{end}}
ProgramStateDetail
{{.Name}} {{.State}} {{.Detail}}
{{end}}

Mail queue {{.QueueStatus}}

{{if .QueueError}}

{{.QueueError}}

{{else}}

{{if .QueueSummary}}{{.QueueSummary}}{{else}}Mail queue is empty.{{end}}

View queue {{end}}

TLS certificate {{.Cert.Status}}

{{if not .Cert.NotAfter.IsZero}} {{.Cert.NotAfter.UTC.Format "2006-01-02 15:04 UTC"}} {{end}}

{{.Cert.Detail}}

Milter sockets {{.SocketStatus}}

{{range .Sockets}} {{end}}
MilterStateDetail
{{.Name}} {{.Status}} {{.Detail}}

Hostname and reverse DNS {{.PTR.Status}}

{{if .Hostname}}{{.Hostname}}{{else}}(SELFPOST_HOSTNAME is not set){{end}} {{if .PTR.Records}} {{range .PTR.Records}}{{.}} {{end}} {{end}}
{{end}}