Minor fixes in container zipmapping

This commit is contained in:
Nemo 2018-08-07 02:55:46 +05:30
parent 6ef8783ba3
commit e8dcd00e87
5 changed files with 54 additions and 48 deletions

View File

@ -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}"
}
}

View File

@ -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"

View File

@ -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))
)
)
)

View File

@ -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 = {}
}

View File

@ -6,6 +6,7 @@ module "requestbin" {
// Default is port 80
web {
expose = true
port = "8000"
host = "requestbin.${var.root-domain}"
}