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:
parent
f9fdea3a1f
commit
8cc2076a50
5 changed files with 141 additions and 0 deletions
29
stacks/communication/gotify/stack.toml
Normal file
29
stacks/communication/gotify/stack.toml
Normal 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
|
||||||
28
stacks/communication/vaultwarden/stack.toml
Normal file
28
stacks/communication/vaultwarden/stack.toml
Normal 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
|
||||||
30
stacks/monitoring/grafana/stack.toml
Normal file
30
stacks/monitoring/grafana/stack.toml
Normal 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
|
||||||
25
stacks/monitoring/node-exporter/stack.toml
Normal file
25
stacks/monitoring/node-exporter/stack.toml
Normal 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
|
||||||
29
stacks/monitoring/prometheus/stack.toml
Normal file
29
stacks/monitoring/prometheus/stack.toml
Normal 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
|
||||||
Loading…
Add table
Add a link
Reference in a new issue