From f0a21b08b07098f6bebf8fb659a2b5cd314c7246 Mon Sep 17 00:00:00 2001
From: Nemo <me@captnemo.in>
Date: Tue, 06 Feb 2018 20:07:25 +0530
Subject: [PATCH] Switches to common traefik labels for media containers

---
 main.tf            |  1 +
 media/ombi.tf      | 16 ++++++----------
 media/radarr.tf    | 19 ++++++++-----------
 media/sonarr.tf    | 16 ++++++----------
 media/variables.tf |  4 ++++
 5 files changed, 21 insertions(+), 35 deletions(-)

diff --git a/main.tf b/main.tf
index cd863e4..28650f8 100644
--- a/main.tf
+++ a/main.tf
@@ -47,6 +47,7 @@
   domain             = "bb8.fun"
   links-emby         = "${module.docker.names-emby}"
   links-transmission = "${module.docker.names-transmission}"
+  traefik-labels = "${var.traefik-common-labels}"
 }
 
 module "monitoring" {
diff --git a/media/ombi.tf b/media/ombi.tf
index 656b128..18b9972 100644
--- a/media/ombi.tf
+++ a/media/ombi.tf
@@ -11,17 +11,11 @@
   name  = "ombi"
   image = "${docker_image.ombi.latest}"
 
-  labels {
-    "traefik.port"                                  = 3579
-    "traefik.enable"                                = "true"
-    "traefik.frontend.headers.SSLTemporaryRedirect" = "true"
-    "traefik.frontend.headers.STSSeconds"           = "2592000"
-    "traefik.frontend.headers.STSIncludeSubdomains" = "false"
-    "traefik.frontend.headers.contentTypeNosniff"   = "true"
-    "traefik.frontend.headers.browserXSSFilter"     = "true"
-    "traefik.frontend.passHostHeader"               = "true"
-    "traefik.frontend.rule"                         = "Host:rey.${var.domain}"
-  }
+  labels = "${merge(
+    var.traefik-labels, map(
+      "traefik.port", 3579,
+      "traefik.frontend.rule","Host:rey.${var.domain}"
+  ))}"
 
   restart               = "unless-stopped"
   destroy_grace_seconds = 10
diff --git a/media/radarr.tf b/media/radarr.tf
index 6ee7596..c7e9c9d 100644
--- a/media/radarr.tf
+++ a/media/radarr.tf
@@ -11,19 +11,12 @@
   name  = "radarr"
   image = "${docker_image.radarr.latest}"
 
-  labels {
-    "traefik.port"                                  = 7878
-    "traefik.enable"                                = "true"
-    "traefik.frontend.headers.SSLTemporaryRedirect" = "true"
-    "traefik.frontend.headers.STSSeconds"           = "2592000"
-    "traefik.frontend.headers.STSIncludeSubdomains" = "false"
-    "traefik.frontend.headers.contentTypeNosniff"   = "true"
-    "traefik.frontend.headers.browserXSSFilter"     = "true"
-    "traefik.frontend.passHostHeader"               = "true"
-
-    # TODO: wildcard certs needed!
-    "traefik.frontend.rule" = "Host:git.${var.domain}"
-  }
+  # TODO: wildcard certs needed!
+  labels = "${merge(
+    var.traefik-labels, map(
+      "traefik.port", 7878,
+      "traefik.frontend.rule","Host:git.${var.domain}"
+  ))}"
 
   memory                = 512
   restart               = "unless-stopped"
diff --git a/media/sonarr.tf b/media/sonarr.tf
index d464286..d58e411 100644
--- a/media/sonarr.tf
+++ a/media/sonarr.tf
@@ -11,17 +11,11 @@
   name  = "sonarr"
   image = "${docker_image.sonarr.latest}"
 
-  labels {
-    "traefik.port"                                  = 8989
-    "traefik.enable"                                = "true"
-    "traefik.frontend.headers.SSLTemporaryRedirect" = "true"
-    "traefik.frontend.headers.STSSeconds"           = "2592000"
-    "traefik.frontend.headers.STSIncludeSubdomains" = "false"
-    "traefik.frontend.headers.contentTypeNosniff"   = "true"
-    "traefik.frontend.headers.browserXSSFilter"     = "true"
-    "traefik.frontend.passHostHeader"               = "true"
-    "traefik.frontend.rule"                         = "Host:luke.${var.domain}"
-  }
+  labels = "${merge(
+    var.traefik-labels, map(
+      "traefik.port", 8989,
+      "traefik.frontend.rule","Host:luke.${var.domain}"
+  ))}"
 
   memory                = 512
   restart               = "unless-stopped"
diff --git a/media/variables.tf b/media/variables.tf
index fe92903..641eb20 100644
--- a/media/variables.tf
+++ a/media/variables.tf
@@ -1,6 +1,10 @@
 variable "domain" {
   type = "string"
 }
 
 variable "links-emby" {}
 variable "links-transmission" {}
+
+variable "traefik-labels" {
+  type = "map"
+}
--
rgit 0.1.5