feat: Add stack.toml metadata files for Komodo recognition

Added stack.toml files for all stacks:
- monitoring/prometheus/stack.toml
- monitoring/grafana/stack.toml
- monitoring/node-exporter/stack.toml
- communication/gotify/stack.toml
- communication/vaultwarden/stack.toml

Each stack.toml contains:
- Stack metadata (name, description, version, category)
- Compose file reference
- Secret variables
- Port mappings
- Volume definitions
- Network configuration
- Healthcheck settings
This commit is contained in:
nocci 2026-03-09 16:29:23 +00:00
parent f9fdea3a1f
commit 8cc2076a50
5 changed files with 141 additions and 0 deletions

View file

@ -0,0 +1,29 @@
[stack]
name = "Gotify"
description = "Push-Benachrichtigungen selbst gehostet"
version = "1.0.0"
category = "communication"
[compose]
file = "compose.yml"
[variables.secrets]
gotify-admin-user = "Admin Username"
gotify-admin-pass = "Admin Password"
[ports]
internal = 80
external = "127.0.0.1:9091"
description = "Gotify Web UI"
[volumes]
gotify_data = "/app/data"
[networks]
gotify-network = "bridge"
[healthcheck]
endpoint = "http://localhost:80/health"
interval = "30s"
timeout = "10s"
retries = 3

View file

@ -0,0 +1,28 @@
[stack]
name = "Vaultwarden"
description = "Password Manager (Bitwarden-kompatibel)"
version = "1.0.0"
category = "communication"
[compose]
file = "compose.yml"
[variables.secrets]
vaultwarden-admin-token = "Admin API Token (openssl rand -base64 48)"
[ports]
internal = 80
external = "127.0.0.1:8080"
description = "Vaultwarden Web UI"
[volumes]
vaultwarden_data = "/data"
[networks]
vaultwarden-network = "bridge"
[healthcheck]
endpoint = "http://localhost:80/alive"
interval = "30s"
timeout = "10s"
retries = 3

View file

@ -0,0 +1,30 @@
[stack]
name = "Grafana"
description = "Grafana Dashboards & Visualisierung"
version = "1.0.0"
category = "monitoring"
[compose]
file = "compose.yml"
[variables.secrets]
grafana-admin-user = "Admin Username"
grafana-admin-pass = "Admin Password"
[ports]
internal = 3000
external = "127.0.0.1:3000"
description = "Grafana Web UI"
[volumes]
grafana_data = "/var/lib/grafana"
grafana_config = "/etc/grafana"
[networks]
monitoring = "bridge"
[healthcheck]
endpoint = "http://localhost:3000/api/health"
interval = "30s"
timeout = "10s"
retries = 3

View file

@ -0,0 +1,25 @@
[stack]
name = "Node Exporter"
description = "System-Metriken für Prometheus"
version = "1.0.0"
category = "monitoring"
[compose]
file = "compose.yml"
[variables]
# Keine Secrets erforderlich
[ports]
internal = 9100
external = "127.0.0.1:9100"
description = "Node Exporter Metrics"
[networks]
monitoring = "bridge"
[healthcheck]
endpoint = "http://localhost:9100/metrics"
interval = "30s"
timeout = "10s"
retries = 3

View file

@ -0,0 +1,29 @@
[stack]
name = "Prometheus"
description = "Prometheus Monitoring & Alerting System"
version = "1.0.0"
category = "monitoring"
[compose]
file = "compose.yml"
[variables]
# Keine Secrets erforderlich für Basis-Installation
[ports]
internal = 9090
external = "127.0.0.1:9090"
description = "Prometheus Web UI"
[volumes]
prometheus_data = "/prometheus"
prometheus_config = "/etc/prometheus"
[networks]
monitoring = "bridge"
[healthcheck]
endpoint = "http://localhost:9090/-/healthy"
interval = "30s"
timeout = "10s"
retries = 3