{{ extends "../_layouts/default" }} {{ import "../_modules/detail" }} {{ block body() }}

{{ i18n("node.title") }}

{{ i18n("node.description") }}

{{ .Node.Spec.Name ? .Node.Spec.Name : (.Node.Description.Hostname ? .Node.Description.Hostname : .Node.ID) }}

{{ i18n("field.id") }}
{{ .Node.ID }}
Hostname
{{ .Node.Description.Hostname }}
Role
{{ .Node.Spec.Role }}
Availability
{{ .Node.Spec.Availability}}
Status
{{ .Node.Status.State}}
Address
{{ .Node.Status.Addr}}
{{ i18n("field.created-at") }}
{{ time(.Node.CreatedAt) }}
{{ i18n("field.updated-at") }}
{{ time(.Node.UpdatedAt) }}

Description

CPU
{{printf("%.0f", .Node.Description.Resources.NanoCPUs / 1000000000)}}
Memory
{{printf("%.2f", .Node.Description.Resources.MemoryBytes / 1024 / 1024 / 1024)}} GB
Platform
{{ .Node.Description.Platform.OS }}/{{ .Node.Description.Platform.Architecture }}
Version
{{ .Node.Description.Engine.EngineVersion}}
{{if .Node.ManagerStatus}}

Manager status

Leader
{{ .Node.ManagerStatus.Leader ? "Yes" : "No" }}
Reachability
{{ .Node.ManagerStatus.Reachability }}
Address
{{ .Node.ManagerStatus.Addr}}
{{end}}
{{ yield tags(title="Labels", tags=.Node.Spec.Labels) }} {{if .Tasks}}

Tasks

{{range .Tasks}} {{end}}
{{ i18n("field.id") }} {{ i18n("field.status") }} {{ i18n("field.image") }} {{ i18n("field.updated-at") }}
{{.ID}} {{ .Task.Status.State }} {{.Image}} {{time(.UpdatedAt)}}
{{end}} {{ i18n("button.return") }}
{{ end }}