From 2ee82c24e1114bcc84ff91b6c9504f708732d15e Mon Sep 17 00:00:00 2001 From: nocci Date: Mon, 9 Mar 2026 19:12:10 +0000 Subject: [PATCH] feat: Add complete stack.toml files with full metadata Each stack.toml now includes: - [stack] section: name, description, version, category, author - [compose] section: file reference - [variables] section: secrets where required - [ports] section: internal port mappings - [volumes] section: volume definitions - [healthcheck] section: health check configuration Stacks updated: - prometheus - grafana - gotify - vaultwarden - node-exporter --- stacks/gotify/stack.toml | 24 +++++++++++++++++++++++- stacks/grafana/stack.toml | 22 ++++++++++++++++++++++ stacks/node-exporter/stack.toml | 20 +++++++++++++++++++- stacks/prometheus/stack.toml | 23 ++++++++++++++++++++++- stacks/vaultwarden/stack.toml | 23 ++++++++++++++++++++++- 5 files changed, 108 insertions(+), 4 deletions(-) diff --git a/stacks/gotify/stack.toml b/stacks/gotify/stack.toml index 9df7dd0..573b597 100644 --- a/stacks/gotify/stack.toml +++ b/stacks/gotify/stack.toml @@ -1,3 +1,25 @@ +[stack] name = "Gotify" -description = "Push-Benachrichtigungen" +description = "Push-Benachrichtigungen selbst gehostet" version = "1.0.0" +category = "communication" +author = "nocci" + +[compose] +file = "compose.yml" + +[variables.secrets] +gotify-admin-user = "Admin Username" +gotify-admin-pass = "Admin Password" + +[ports] +gotify = "80" + +[volumes] +gotify_data = "/app/data" + +[healthcheck] +endpoint = "http://localhost:80/health" +interval = "30s" +timeout = "10s" +retries = 3 diff --git a/stacks/grafana/stack.toml b/stacks/grafana/stack.toml index ea453c6..9570289 100644 --- a/stacks/grafana/stack.toml +++ b/stacks/grafana/stack.toml @@ -1,3 +1,25 @@ +[stack] name = "Grafana" description = "Grafana Dashboards & Visualisierung" version = "1.0.0" +category = "monitoring" +author = "nocci" + +[compose] +file = "compose.yml" + +[variables.secrets] +grafana-admin-user = "Admin Username" +grafana-admin-pass = "Admin Password" + +[ports] +grafana = "3000" + +[volumes] +grafana_data = "/var/lib/grafana" + +[healthcheck] +endpoint = "http://localhost:3000/api/health" +interval = "30s" +timeout = "10s" +retries = 3 diff --git a/stacks/node-exporter/stack.toml b/stacks/node-exporter/stack.toml index cc7106b..9f3ccca 100644 --- a/stacks/node-exporter/stack.toml +++ b/stacks/node-exporter/stack.toml @@ -1,3 +1,21 @@ +[stack] name = "Node Exporter" -description = "System-Metriken" +description = "System-Metriken für Prometheus" version = "1.0.0" +category = "monitoring" +author = "nocci" + +[compose] +file = "compose.yml" + +[variables] +# Keine Secrets erforderlich + +[ports] +node_exporter = "9100" + +[healthcheck] +endpoint = "http://localhost:9100/metrics" +interval = "30s" +timeout = "10s" +retries = 3 diff --git a/stacks/prometheus/stack.toml b/stacks/prometheus/stack.toml index 74950ec..9700036 100644 --- a/stacks/prometheus/stack.toml +++ b/stacks/prometheus/stack.toml @@ -1,3 +1,24 @@ +[stack] name = "Prometheus" -description = "Prometheus Monitoring & Alerting" +description = "Prometheus Monitoring & Alerting System" version = "1.0.0" +category = "monitoring" +author = "nocci" + +[compose] +file = "compose.yml" + +[variables] +# Keine Secrets erforderlich + +[ports] +prometheus = "9090" + +[volumes] +prometheus_data = "/prometheus" + +[healthcheck] +endpoint = "http://localhost:9090/-/healthy" +interval = "30s" +timeout = "10s" +retries = 3 diff --git a/stacks/vaultwarden/stack.toml b/stacks/vaultwarden/stack.toml index 109160e..343b228 100644 --- a/stacks/vaultwarden/stack.toml +++ b/stacks/vaultwarden/stack.toml @@ -1,3 +1,24 @@ +[stack] name = "Vaultwarden" -description = "Password Manager" +description = "Password Manager (Bitwarden-kompatibel)" version = "1.0.0" +category = "security" +author = "nocci" + +[compose] +file = "compose.yml" + +[variables.secrets] +vaultwarden-admin-token = "Admin API Token (openssl rand -base64 48)" + +[ports] +vaultwarden = "80" + +[volumes] +vaultwarden_data = "/data" + +[healthcheck] +endpoint = "http://localhost:80/alive" +interval = "30s" +timeout = "10s" +retries = 3