2018-07-30 06:42:58 +00:00
|
|
|
locals {
|
2018-08-02 18:29:39 +00:00
|
|
|
default_labels {
|
|
|
|
"managed.by" = "nebula"
|
|
|
|
}
|
|
|
|
|
|
|
|
web {
|
|
|
|
"traefik.port" = "${lookup(var.web, "port", "80")}"
|
2019-01-18 11:45:22 +00:00
|
|
|
"traefik.frontend.rule" = "Host:${lookup(var.web, "host", "example.invalid")}"
|
2018-08-02 18:29:39 +00:00
|
|
|
"traefik.protocol" = "${lookup(var.web, "protocol", "http")}"
|
|
|
|
}
|
|
|
|
|
2018-08-06 21:25:46 +00:00
|
|
|
resource {
|
2019-01-19 22:16:18 +00:00
|
|
|
memory = "${lookup(var.resource, "memory", 64)}"
|
|
|
|
memory_swap = "${lookup(var.resource, "memory_swap", 128)}"
|
2018-08-06 21:25:46 +00:00
|
|
|
}
|
|
|
|
|
2018-08-02 18:29:39 +00:00
|
|
|
traefik_common_labels {
|
2018-07-30 06:42:58 +00:00
|
|
|
"traefik.enable" = "true"
|
|
|
|
|
|
|
|
// HSTS
|
|
|
|
"traefik.frontend.headers.SSLTemporaryRedirect" = "true"
|
|
|
|
"traefik.frontend.headers.STSSeconds" = "2592000"
|
|
|
|
"traefik.frontend.headers.STSIncludeSubdomains" = "false"
|
|
|
|
|
|
|
|
// X-Powered-By, Server headers
|
|
|
|
"traefik.frontend.headers.customResponseHeaders" = "${var.xpoweredby}"
|
|
|
|
"traefik.frontend.headers.contentTypeNosniff" = "true"
|
|
|
|
"traefik.frontend.headers.browserXSSFilter" = "true"
|
|
|
|
|
|
|
|
"traefik.docker.network" = "traefik"
|
|
|
|
}
|
2018-08-02 18:29:39 +00:00
|
|
|
|
|
|
|
traefik_auth_labels {
|
|
|
|
"traefik.frontend.auth.basic" = "${var.auth_header}"
|
|
|
|
}
|
2018-07-30 06:42:58 +00:00
|
|
|
}
|