From 4695839df425664b20c76f2c5ff0ed1491404154 Mon Sep 17 00:00:00 2001 From: beatz174-bit Date: Tue, 21 Apr 2026 09:43:38 +1000 Subject: [PATCH] Manage container labels and expose labels in inventory output --- infrastructure/terraform/docker/authelia.tf | 3 ++- infrastructure/terraform/docker/crowdsec.tf | 3 ++- infrastructure/terraform/docker/docker-socket-proxy.tf | 3 ++- infrastructure/terraform/docker/docker-update-exporter.tf | 3 ++- infrastructure/terraform/docker/error-pages.tf | 3 ++- infrastructure/terraform/docker/gitea.tf | 3 ++- infrastructure/terraform/docker/gotify.tf | 3 ++- infrastructure/terraform/docker/grafana.tf | 3 ++- infrastructure/terraform/docker/gramps-redis.tf | 3 ++- infrastructure/terraform/docker/gramps-web-celery.tf | 3 ++- infrastructure/terraform/docker/gramps-web.tf | 3 ++- infrastructure/terraform/docker/influxdb.tf | 3 ++- infrastructure/terraform/docker/monitor-kuma.tf | 3 ++- infrastructure/terraform/docker/mtls-bridge.tf | 3 ++- infrastructure/terraform/docker/nextcloud-db.tf | 3 ++- infrastructure/terraform/docker/nextcloud-redis.tf | 3 ++- infrastructure/terraform/docker/nextcloud-webapp.tf | 3 ++- infrastructure/terraform/docker/node-exporter.tf | 3 ++- infrastructure/terraform/docker/node-red.tf | 3 ++- infrastructure/terraform/docker/outputs.tf | 1 + infrastructure/terraform/docker/passbolt-db.tf | 3 ++- infrastructure/terraform/docker/passbolt-webapp.tf | 3 ++- infrastructure/terraform/docker/pihole-exporter.tf | 3 ++- infrastructure/terraform/docker/portainer.tf | 3 ++- infrastructure/terraform/docker/prometheus.tf | 3 ++- infrastructure/terraform/docker/searxng-webapp.tf | 3 ++- infrastructure/terraform/docker/telegraf.tf | 3 ++- infrastructure/terraform/docker/traefik.tf | 5 +++-- 28 files changed, 56 insertions(+), 28 deletions(-) diff --git a/infrastructure/terraform/docker/authelia.tf b/infrastructure/terraform/docker/authelia.tf index 99b940e..76cadc9 100644 --- a/infrastructure/terraform/docker/authelia.tf +++ b/infrastructure/terraform/docker/authelia.tf @@ -4,10 +4,11 @@ resource "docker_container" "authelia" { restart = local.docker_containers["authelia"].restart_policy + labels = local.docker_containers["authelia"].useful_labels + lifecycle { ignore_changes = [ env, - labels, ] } } diff --git a/infrastructure/terraform/docker/crowdsec.tf b/infrastructure/terraform/docker/crowdsec.tf index 8f5ac3d..450ffe9 100644 --- a/infrastructure/terraform/docker/crowdsec.tf +++ b/infrastructure/terraform/docker/crowdsec.tf @@ -4,10 +4,11 @@ resource "docker_container" "crowdsec" { restart = local.docker_containers["crowdsec"].restart_policy + labels = local.docker_containers["crowdsec"].useful_labels + lifecycle { ignore_changes = [ env, - labels, ] } } diff --git a/infrastructure/terraform/docker/docker-socket-proxy.tf b/infrastructure/terraform/docker/docker-socket-proxy.tf index 18694f8..cfd43d7 100644 --- a/infrastructure/terraform/docker/docker-socket-proxy.tf +++ b/infrastructure/terraform/docker/docker-socket-proxy.tf @@ -4,10 +4,11 @@ resource "docker_container" "docker_socket_proxy" { restart = local.docker_containers["docker-socket-proxy"].restart_policy + labels = local.docker_containers["docker-socket-proxy"].useful_labels + lifecycle { ignore_changes = [ env, - labels, ] } } diff --git a/infrastructure/terraform/docker/docker-update-exporter.tf b/infrastructure/terraform/docker/docker-update-exporter.tf index 228b3f0..6dae8e9 100644 --- a/infrastructure/terraform/docker/docker-update-exporter.tf +++ b/infrastructure/terraform/docker/docker-update-exporter.tf @@ -4,10 +4,11 @@ resource "docker_container" "docker_update_exporter" { restart = local.docker_containers["docker-update-exporter"].restart_policy + labels = local.docker_containers["docker-update-exporter"].useful_labels + lifecycle { ignore_changes = [ env, - labels, ] } } diff --git a/infrastructure/terraform/docker/error-pages.tf b/infrastructure/terraform/docker/error-pages.tf index b5ca2b5..b18c69b 100644 --- a/infrastructure/terraform/docker/error-pages.tf +++ b/infrastructure/terraform/docker/error-pages.tf @@ -4,10 +4,11 @@ resource "docker_container" "error_pages" { restart = local.docker_containers["error-pages"].restart_policy + labels = local.docker_containers["error-pages"].useful_labels + lifecycle { ignore_changes = [ env, - labels, ] } } diff --git a/infrastructure/terraform/docker/gitea.tf b/infrastructure/terraform/docker/gitea.tf index 43a47e0..2cc7ebf 100644 --- a/infrastructure/terraform/docker/gitea.tf +++ b/infrastructure/terraform/docker/gitea.tf @@ -4,10 +4,11 @@ resource "docker_container" "gitea" { restart = local.docker_containers["gitea"].restart_policy + labels = local.docker_containers["gitea"].useful_labels + lifecycle { ignore_changes = [ env, - labels, ] } } diff --git a/infrastructure/terraform/docker/gotify.tf b/infrastructure/terraform/docker/gotify.tf index 550c282..a32a13f 100644 --- a/infrastructure/terraform/docker/gotify.tf +++ b/infrastructure/terraform/docker/gotify.tf @@ -4,10 +4,11 @@ resource "docker_container" "gotify" { restart = local.docker_containers["gotify"].restart_policy + labels = local.docker_containers["gotify"].useful_labels + lifecycle { ignore_changes = [ env, - labels, ] } } diff --git a/infrastructure/terraform/docker/grafana.tf b/infrastructure/terraform/docker/grafana.tf index f09c6ab..44b8407 100644 --- a/infrastructure/terraform/docker/grafana.tf +++ b/infrastructure/terraform/docker/grafana.tf @@ -4,10 +4,11 @@ resource "docker_container" "grafana" { restart = local.docker_containers["grafana"].restart_policy + labels = local.docker_containers["grafana"].useful_labels + lifecycle { ignore_changes = [ env, - labels, ] } } diff --git a/infrastructure/terraform/docker/gramps-redis.tf b/infrastructure/terraform/docker/gramps-redis.tf index 4937e5c..345818e 100644 --- a/infrastructure/terraform/docker/gramps-redis.tf +++ b/infrastructure/terraform/docker/gramps-redis.tf @@ -4,10 +4,11 @@ resource "docker_container" "gramps_redis" { restart = local.docker_containers["gramps-redis"].restart_policy + labels = local.docker_containers["gramps-redis"].useful_labels + lifecycle { ignore_changes = [ env, - labels, ] } } diff --git a/infrastructure/terraform/docker/gramps-web-celery.tf b/infrastructure/terraform/docker/gramps-web-celery.tf index a08554a..dc8bdf4 100644 --- a/infrastructure/terraform/docker/gramps-web-celery.tf +++ b/infrastructure/terraform/docker/gramps-web-celery.tf @@ -4,10 +4,11 @@ resource "docker_container" "gramps_web_celery" { restart = local.docker_containers["gramps-web-celery"].restart_policy + labels = local.docker_containers["gramps-web-celery"].useful_labels + lifecycle { ignore_changes = [ env, - labels, ] } } diff --git a/infrastructure/terraform/docker/gramps-web.tf b/infrastructure/terraform/docker/gramps-web.tf index e1cdf38..6f89819 100644 --- a/infrastructure/terraform/docker/gramps-web.tf +++ b/infrastructure/terraform/docker/gramps-web.tf @@ -4,10 +4,11 @@ resource "docker_container" "gramps_web" { restart = local.docker_containers["gramps-web"].restart_policy + labels = local.docker_containers["gramps-web"].useful_labels + lifecycle { ignore_changes = [ env, - labels, ] } } diff --git a/infrastructure/terraform/docker/influxdb.tf b/infrastructure/terraform/docker/influxdb.tf index d93ec6b..27bb71f 100644 --- a/infrastructure/terraform/docker/influxdb.tf +++ b/infrastructure/terraform/docker/influxdb.tf @@ -4,10 +4,11 @@ resource "docker_container" "influxdb" { restart = local.docker_containers["influxdb"].restart_policy + labels = local.docker_containers["influxdb"].useful_labels + lifecycle { ignore_changes = [ env, - labels, ] } } diff --git a/infrastructure/terraform/docker/monitor-kuma.tf b/infrastructure/terraform/docker/monitor-kuma.tf index 970f5e7..e0c07a2 100644 --- a/infrastructure/terraform/docker/monitor-kuma.tf +++ b/infrastructure/terraform/docker/monitor-kuma.tf @@ -4,10 +4,11 @@ resource "docker_container" "monitor_kuma" { restart = local.docker_containers["monitor-kuma"].restart_policy + labels = local.docker_containers["monitor-kuma"].useful_labels + lifecycle { ignore_changes = [ env, - labels, ] } } diff --git a/infrastructure/terraform/docker/mtls-bridge.tf b/infrastructure/terraform/docker/mtls-bridge.tf index c6bfc9c..34cb535 100644 --- a/infrastructure/terraform/docker/mtls-bridge.tf +++ b/infrastructure/terraform/docker/mtls-bridge.tf @@ -4,10 +4,11 @@ resource "docker_container" "mtls_bridge" { restart = local.docker_containers["mtls-bridge"].restart_policy + labels = local.docker_containers["mtls-bridge"].useful_labels + lifecycle { ignore_changes = [ env, - labels, ] } } diff --git a/infrastructure/terraform/docker/nextcloud-db.tf b/infrastructure/terraform/docker/nextcloud-db.tf index 2d2ac9e..83e0e04 100644 --- a/infrastructure/terraform/docker/nextcloud-db.tf +++ b/infrastructure/terraform/docker/nextcloud-db.tf @@ -4,10 +4,11 @@ resource "docker_container" "nextcloud_db" { restart = local.docker_containers["nextcloud-db"].restart_policy + labels = local.docker_containers["nextcloud-db"].useful_labels + lifecycle { ignore_changes = [ env, - labels, ] } } diff --git a/infrastructure/terraform/docker/nextcloud-redis.tf b/infrastructure/terraform/docker/nextcloud-redis.tf index 2e9db24..1ccce18 100644 --- a/infrastructure/terraform/docker/nextcloud-redis.tf +++ b/infrastructure/terraform/docker/nextcloud-redis.tf @@ -4,10 +4,11 @@ resource "docker_container" "nextcloud_redis" { restart = local.docker_containers["nextcloud-redis"].restart_policy + labels = local.docker_containers["nextcloud-redis"].useful_labels + lifecycle { ignore_changes = [ env, - labels, ] } } diff --git a/infrastructure/terraform/docker/nextcloud-webapp.tf b/infrastructure/terraform/docker/nextcloud-webapp.tf index 7543a9d..0d9d8e9 100644 --- a/infrastructure/terraform/docker/nextcloud-webapp.tf +++ b/infrastructure/terraform/docker/nextcloud-webapp.tf @@ -4,10 +4,11 @@ resource "docker_container" "nextcloud_webapp" { restart = local.docker_containers["nextcloud-webapp"].restart_policy + labels = local.docker_containers["nextcloud-webapp"].useful_labels + lifecycle { ignore_changes = [ env, - labels, ] } } diff --git a/infrastructure/terraform/docker/node-exporter.tf b/infrastructure/terraform/docker/node-exporter.tf index da03a82..f0b2a07 100644 --- a/infrastructure/terraform/docker/node-exporter.tf +++ b/infrastructure/terraform/docker/node-exporter.tf @@ -4,10 +4,11 @@ resource "docker_container" "node_exporter" { restart = local.docker_containers["node-exporter"].restart_policy + labels = local.docker_containers["node-exporter"].useful_labels + lifecycle { ignore_changes = [ env, - labels, ] } } diff --git a/infrastructure/terraform/docker/node-red.tf b/infrastructure/terraform/docker/node-red.tf index ce2b116..c78746a 100644 --- a/infrastructure/terraform/docker/node-red.tf +++ b/infrastructure/terraform/docker/node-red.tf @@ -4,10 +4,11 @@ resource "docker_container" "node_red" { restart = local.docker_containers["node-red"].restart_policy + labels = local.docker_containers["node-red"].useful_labels + lifecycle { ignore_changes = [ env, - labels, ] } } diff --git a/infrastructure/terraform/docker/outputs.tf b/infrastructure/terraform/docker/outputs.tf index 8dee8e6..f2db582 100644 --- a/infrastructure/terraform/docker/outputs.tf +++ b/infrastructure/terraform/docker/outputs.tf @@ -26,6 +26,7 @@ output "docker_inventory" { published_ports = container.published_ports mounts = container.mounts restart_policy = container.restart_policy + labels = container.useful_labels } } } diff --git a/infrastructure/terraform/docker/passbolt-db.tf b/infrastructure/terraform/docker/passbolt-db.tf index d780859..9e4cc60 100644 --- a/infrastructure/terraform/docker/passbolt-db.tf +++ b/infrastructure/terraform/docker/passbolt-db.tf @@ -4,10 +4,11 @@ resource "docker_container" "passbolt_db" { restart = local.docker_containers["passbolt-db"].restart_policy + labels = local.docker_containers["passbolt-db"].useful_labels + lifecycle { ignore_changes = [ env, - labels, ] } } diff --git a/infrastructure/terraform/docker/passbolt-webapp.tf b/infrastructure/terraform/docker/passbolt-webapp.tf index a39bf39..6c31238 100644 --- a/infrastructure/terraform/docker/passbolt-webapp.tf +++ b/infrastructure/terraform/docker/passbolt-webapp.tf @@ -4,10 +4,11 @@ resource "docker_container" "passbolt_webapp" { restart = local.docker_containers["passbolt-webapp"].restart_policy + labels = local.docker_containers["passbolt-webapp"].useful_labels + lifecycle { ignore_changes = [ env, - labels, ] } } diff --git a/infrastructure/terraform/docker/pihole-exporter.tf b/infrastructure/terraform/docker/pihole-exporter.tf index 5d8b1ff..3730b90 100644 --- a/infrastructure/terraform/docker/pihole-exporter.tf +++ b/infrastructure/terraform/docker/pihole-exporter.tf @@ -4,10 +4,11 @@ resource "docker_container" "pihole_exporter" { restart = local.docker_containers["pihole-exporter"].restart_policy + labels = local.docker_containers["pihole-exporter"].useful_labels + lifecycle { ignore_changes = [ env, - labels, ] } } diff --git a/infrastructure/terraform/docker/portainer.tf b/infrastructure/terraform/docker/portainer.tf index 125c040..09f758d 100644 --- a/infrastructure/terraform/docker/portainer.tf +++ b/infrastructure/terraform/docker/portainer.tf @@ -4,10 +4,11 @@ resource "docker_container" "portainer" { restart = local.docker_containers["portainer"].restart_policy + labels = local.docker_containers["portainer"].useful_labels + lifecycle { ignore_changes = [ env, - labels, ] } } diff --git a/infrastructure/terraform/docker/prometheus.tf b/infrastructure/terraform/docker/prometheus.tf index d500a67..15cde8e 100644 --- a/infrastructure/terraform/docker/prometheus.tf +++ b/infrastructure/terraform/docker/prometheus.tf @@ -4,10 +4,11 @@ resource "docker_container" "prometheus" { restart = local.docker_containers["prometheus"].restart_policy + labels = local.docker_containers["prometheus"].useful_labels + lifecycle { ignore_changes = [ env, - labels, ] } } diff --git a/infrastructure/terraform/docker/searxng-webapp.tf b/infrastructure/terraform/docker/searxng-webapp.tf index d8128e8..b011414 100644 --- a/infrastructure/terraform/docker/searxng-webapp.tf +++ b/infrastructure/terraform/docker/searxng-webapp.tf @@ -4,10 +4,11 @@ resource "docker_container" "searxng-webapp" { restart = local.docker_containers["searxng-webapp"].restart_policy + labels = local.docker_containers["searxng-webapp"].useful_labels + lifecycle { ignore_changes = [ env, - labels, ] } } diff --git a/infrastructure/terraform/docker/telegraf.tf b/infrastructure/terraform/docker/telegraf.tf index 6c3af64..2826cc3 100644 --- a/infrastructure/terraform/docker/telegraf.tf +++ b/infrastructure/terraform/docker/telegraf.tf @@ -4,10 +4,11 @@ resource "docker_container" "telegraf" { restart = local.docker_containers["telegraf"].restart_policy + labels = local.docker_containers["telegraf"].useful_labels + lifecycle { ignore_changes = [ env, - labels, ] } } diff --git a/infrastructure/terraform/docker/traefik.tf b/infrastructure/terraform/docker/traefik.tf index 9f35024..3d20c86 100644 --- a/infrastructure/terraform/docker/traefik.tf +++ b/infrastructure/terraform/docker/traefik.tf @@ -2,7 +2,9 @@ resource "docker_container" "traefik" { name = local.docker_containers["traefik"].container_name image = local.docker_containers["traefik"].image - restart = local.docker_containers["traefik"].restart_policy + restart = local.docker_containers["traefik"].restart_policy + + labels = local.docker_containers["traefik"].useful_labels network_mode = "core_traefik" ports { @@ -62,7 +64,6 @@ resource "docker_container" "traefik" { lifecycle { ignore_changes = [ env, - labels, ] } }