Accountant: Inventar, where, Checkmk, Abrechnung

This commit is contained in:
br committed 2026-10-18 17:08:58 +02:00
1 parent 9f16148cde
commit dd93277750
59 files changed
+7522 -113

No files matched your search

+21 -1
View File
@@ -57,7 +57,7 @@ func Workloads(containers []docker.Container, host string) (workloads []registry
continue
}
cand := candidate{
workload: registry.Workload{Name: c.Name(), Host: host, Labels: labels},
workload: registry.Workload{Name: c.Name(), Host: host, Labels: labels, Meta: meta(c)},
running: c.State == "running",
}
for _, proto := range protocols {
@@ -108,6 +108,26 @@ func Workloads(containers []docker.Container, host string) (workloads []registry
return workloads, slices.Compact(down), warnings
}
// Labels, die Docker Compose an jeden Container setzt.
const (
labelComposeProject = "com.docker.compose.project"
labelComposeService = "com.docker.compose.service"
labelComposeDir = "com.docker.compose.project.working_dir"
)
// meta liefert die Zusatzdaten eines Containers (Spec 5.3) – nur aus dem,
// was Docker ohnehin kennt, ohne zusätzliche Labels.
func meta(c docker.Container) *registry.WorkloadMeta {
return &registry.WorkloadMeta{
ComposeProject: c.Labels[labelComposeProject],
ComposeService: c.Labels[labelComposeService],
ComposeDir: c.Labels[labelComposeDir],
State: c.State,
StartedAt: c.StartedAt,
Health: c.Health,
}
}
// labelNames liefert die Namen (Schreibweise aus dem Label) unter prefix,
// z. B. die Router aus traefik.http.routers.<name>.…
func labelNames(labels map[string]string, prefix string) []string {