{{define "title"}}Admin — Approovia Portal{{end}} {{define "content"}} {{$data := .Data}}

{{if eq $data.Tab "users"}}Users {{else if eq $data.Tab "playbooks"}}Playbooks {{else if eq $data.Tab "wireguard"}}WireGuard Peers {{else if eq $data.Tab "ssh"}}SSH Keys {{else}}Admin{{end}}

{{if eq $data.Tab "playbooks"}}
Ansible Playbooks

Trigger a playbook run via Semaphore. Status updates automatically.

{{range $data.Playbooks}} {{else}} {{end}}
Playbook Action Status
{{.Name}}
No playbooks configured.
{{end}} {{if eq $data.Tab "users"}}
{{range $data.Users}} {{template "admin-user-row" .}} {{else}} {{end}}
Name Email Status
No users yet.
Add User

Leave email blank for a machine account (automation, service tokens).

{{end}} {{if eq $data.Tab "wireguard"}}
{{range $data.WGPeers}} {{else}} {{end}}
Owner Key Name Pubkey IPv4 IPv6 Slug Status Last Handshake
{{if .OwnerID}} {{if .OwnerName}}{{.OwnerName}}{{end}} {{if .OwnerEmail}}{{.OwnerEmail}}{{end}} {{else}} unassigned {{end}} {{.KeyName}} {{.PubkeyShort}} {{if .IPv4}}{{.IPv4}}{{else}}{{end}} {{if .IPv6}}{{.IPv6}}{{else}}—{{end}} {{.Slug}} {{if .Connected}} connected {{else}} offline {{end}} {{timeSince .LastHandshake}} {{if eq .OwnerID 0}}
{{end}}
No active WireGuard peers.
{{end}} {{if eq $data.Tab "ssh"}}
{{range $data.SSHKeys}} {{else}} {{end}}
Owner Key Name Fingerprint Added
{{if .OwnerEmail}}{{.OwnerEmail}}{{else}}{{.OwnerName}}{{end}} {{.KeyName}} {{.Fingerprint}} {{formatTime .Created}}
No SSH keys registered.
{{end}} {{end}} {{define "admin-user-row-cells"}} {{if .Name}}{{.Name}}{{else}}{{end}} {{if .Email}}{{.Email}}{{else}}{{end}} {{.Status}} {{end}} {{define "admin-user-row"}} {{template "admin-user-row-cells" .}} {{end}} {{define "admin-user-row-oob"}} {{template "admin-user-row-cells" .}} {{end}} {{define "admin-user-keys"}}
{{/* Tab bar */}}
{{/* General pane */}}
Email
{{if .Email}}{{.Email}}{{else}}{{end}}
Status
{{.Status}}
Display name
{{if eq .Status "active"}} {{else}} {{end}}
{{/* SSH pane */}} {{/* WireGuard pane */}}
{{end}}