64 lines
2.6 KiB
HTML
64 lines
2.6 KiB
HTML
{{define "hosts.html"}}
|
|
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<title>{{.Title}} · TAPM</title>
|
|
<link rel="stylesheet" href="/static/app.css">
|
|
</head>
|
|
<body>
|
|
{{template "topbar" .}}
|
|
<main class="page">
|
|
<section class="view-heading">
|
|
<div>
|
|
<p class="eyebrow">Privacy-minimized fleet registry</p>
|
|
<h1>ProxMenu hosts.</h1>
|
|
<p>Each installation reports its hostname and a random installation ID. No machine ID, MAC address, username, VM inventory, credential, or command output is collected.</p>
|
|
<p><small>Verified means the same installation ID has completed a successful deployment-code exchange.</small></p>
|
|
</div>
|
|
</section>
|
|
|
|
<section class="panel">
|
|
<div class="fleet-table">
|
|
<div class="fleet-row fleet-header" aria-hidden="true">
|
|
<span>Installation</span>
|
|
<span>Software</span>
|
|
<span>Platform</span>
|
|
<span>Last activity</span>
|
|
</div>
|
|
{{range .FleetHosts}}
|
|
<article class="fleet-row">
|
|
<div>
|
|
<strong>{{if .Hostname}}{{.Hostname}}{{else}}Unknown hostname{{end}}</strong>
|
|
<small>Installation {{shortInstallationID .InstallationID}}</small>
|
|
<span class="status {{if .VerifiedAt.Valid}}enabled{{end}}">{{if .VerifiedAt.Valid}}Verified{{else}}Unverified{{end}}</span>
|
|
<small>First seen {{formatTime .FirstSeenAt}}</small>
|
|
</div>
|
|
<div>
|
|
<strong>{{if .ProxMenuVersion}}{{.ProxMenuVersion}}{{else}}Unknown version{{end}}</strong>
|
|
{{if .GitCommit}}<small>Commit {{shortCommit .GitCommit}}</small>{{end}}
|
|
</div>
|
|
<div>
|
|
<span>{{if .PVEVersion}}{{.PVEVersion}}{{else}}Unknown PVE{{end}}</span>
|
|
<small>{{.OSVersion}}{{if .Architecture}} · {{.Architecture}}{{end}}</small>
|
|
{{if .KernelVersion}}<small>Kernel {{.KernelVersion}}</small>{{end}}
|
|
<small>{{if .Clustered}}Clustered{{else}}Standalone{{end}}</small>
|
|
</div>
|
|
<div>
|
|
<strong>{{.LastEvent}} · {{.LastResult}}</strong>
|
|
<span class="status {{if isStale .LastSeenAt}}closed{{else}}enabled{{end}}">{{if isStale .LastSeenAt}}Stale{{else}}Current{{end}}</span>
|
|
<small>{{formatTime .LastSeenAt}}</small>
|
|
{{if .LastErrorCode}}<small>Error: {{.LastErrorCode}}</small>{{end}}
|
|
</div>
|
|
</article>
|
|
{{else}}
|
|
<p class="empty">No ProxMenu installations have registered yet.</p>
|
|
{{end}}
|
|
</div>
|
|
</section>
|
|
</main>
|
|
</body>
|
|
</html>
|
|
{{end}}
|