diff --git a/docker/debug.tf b/echoserver.tf similarity index 50% rename from docker/debug.tf rename to echoserver.tf index 40011ef..23675cd 100644 --- a/docker/debug.tf +++ b/echoserver.tf @@ -1,11 +1,11 @@ module "echo-server" { - source = "../modules/container" + source = "modules/container" name = "echo-server" image = "jmalloc/echo-server:latest" web { - expose = true + expose = "true" port = 8080 - domain = "debug.${var.domain},debug.in.${var.domain}" + host = "debug.${var.root-domain},debug.in.${var.root-domain}" } } diff --git a/modules/container/locals.tf b/modules/container/locals.tf index 03d6daa..36da5d0 100644 --- a/modules/container/locals.tf +++ b/modules/container/locals.tf @@ -9,6 +9,10 @@ locals { "traefik.protocol" = "${lookup(var.web, "protocol", "http")}" } + resource { + "memory" = "${lookup(var.resource, "memory", 64)}" + } + traefik_common_labels { "traefik.enable" = "true" diff --git a/modules/container/main.tf b/modules/container/main.tf index 0cc2b01..9ef703c 100644 --- a/modules/container/main.tf +++ b/modules/container/main.tf @@ -18,8 +18,7 @@ resource "docker_container" "container" { user = "${var.user}" networks = ["${var.networks}"] - # memory = "${lookup(var.resource, "memory", "64")}" - + memory = "${local.resource["memory"]}" # Look at this monstrosity # And then https://github.com/hashicorp/terraform/issues/12453#issuecomment-365569618 @@ -28,71 +27,75 @@ resource "docker_container" "container" { labels = "${merge(local.default_labels, zipmap( concat( - keys(local.traefik_common_labels), - split(",", + keys(local.default_labels), + split("~", lookup(var.web, "expose", "false") == "false" ? "" : - join(",", keys(local.traefik_common_labels)) + join("~", keys(local.traefik_common_labels)) ) - ),concat( - values(local.traefik_common_labels), - split(",", + ), + concat( + values(local.default_labels), + split("~", lookup(var.web, "expose", "false") == "false" ? "" : - join(",", values(local.traefik_common_labels)) + join("~", values(local.traefik_common_labels)) + ) + ) + ), + zipmap( + concat( + keys(local.default_labels), + split("~", + lookup(var.web, "expose", "false") == "false" ? + "" : + join("~", keys(local.web)) + ) + ), + concat( + values(local.default_labels), + split("~", + lookup(var.web, "expose", "false") == "false" ? + "" : + join("~", values(local.web)) ) ) ), - zipmap( - concat( - keys(local.web), - split(",", - lookup(var.web, "expose", "false") == "false" ? - "" : - join(",", keys(local.web)) - ) - ),concat( - values(local.web), - split(",", - lookup(var.web, "expose", "false") == "false" ? - "" : - join(",", values(local.web)) - ) - ) - ), zipmap( concat( - keys(local.traefik_common_labels), - split(",", + keys(local.default_labels), + split("~", lookup(var.web, "expose", "false") == "false" ? "" : - join(",", keys(local.traefik_common_labels)) + join("~", keys(local.traefik_common_labels)) ) - ),concat( - values(local.traefik_common_labels), - split(",", + ), + concat( + values(local.default_labels), + split("~", lookup(var.web, "expose", "false") == "false" ? "" : - join(",", values(local.traefik_common_labels)) + join("~", values(local.traefik_common_labels)) ) ) ), zipmap( concat( - keys(local.traefik_auth_labels), - split(",", + keys(local.default_labels), + split("~", lookup(var.web, "auth", "false") == "false" ? "" : - join(",", keys(local.traefik_auth_labels)) + join("~", keys(local.traefik_auth_labels)) ) - ),concat( - values(local.traefik_auth_labels), - split(",", + ), + concat( + values(local.default_labels), + split("~", lookup(var.web, "auth", "false") == "false" ? "" : - join(",", values(local.traefik_auth_labels)) + join("~", values(local.traefik_auth_labels)) ) ) ) diff --git a/modules/container/vars.tf b/modules/container/vars.tf index e53865f..b3ff5fb 100644 --- a/modules/container/vars.tf +++ b/modules/container/vars.tf @@ -68,8 +68,8 @@ variable "web" { description = "Web Configuration" default = { - expose = "false" - basicauth = "false" + expose = "false" + auth = "false" } } @@ -80,7 +80,5 @@ variable "auth_header" { variable "resource" { description = "Resource usage for the container" - default = { - memory = "" - } + default = {} } diff --git a/requestbin.tf b/requestbin.tf index 9fac647..2aba230 100644 --- a/requestbin.tf +++ b/requestbin.tf @@ -6,6 +6,7 @@ module "requestbin" { // Default is port 80 web { expose = true + port = "8000" host = "requestbin.${var.root-domain}" }