2018-07-30 06:42:58 +00:00
|
|
|
locals {
|
2021-03-20 07:39:19 +00:00
|
|
|
default_labels = {
|
2018-08-02 18:29:39 +00:00
|
|
|
"managed.by" = "nebula"
|
|
|
|
}
|
|
|
|
|
2021-03-20 07:39:19 +00:00
|
|
|
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")}"
|
2021-03-20 07:39:19 +00:00
|
|
|
"traefik.protocol" = lookup(var.web, "protocol", "http")
|
2018-08-02 18:29:39 +00:00
|
|
|
}
|
|
|
|
|
2021-03-20 07:39:19 +00:00
|
|
|
resource = {
|
|
|
|
memory = lookup(var.resource, "memory", 64)
|
|
|
|
memory_swap = lookup(var.resource, "memory_swap", 128)
|
2018-08-06 21:25:46 +00:00
|
|
|
}
|
|
|
|
|
2021-03-20 07:39:19 +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
|
2021-03-20 07:39:19 +00:00
|
|
|
"traefik.frontend.headers.customResponseHeaders" = var.xpoweredby
|
2018-07-30 06:42:58 +00:00
|
|
|
"traefik.frontend.headers.contentTypeNosniff" = "true"
|
|
|
|
"traefik.frontend.headers.browserXSSFilter" = "true"
|
2021-03-20 07:39:19 +00:00
|
|
|
"traefik.docker.network" = "traefik"
|
2018-07-30 06:42:58 +00:00
|
|
|
}
|
2018-08-02 18:29:39 +00:00
|
|
|
|
2021-03-20 07:39:19 +00:00
|
|
|
traefik_auth_labels = {
|
|
|
|
"traefik.frontend.auth.basic" = var.auth_header
|
2018-08-02 18:29:39 +00:00
|
|
|
}
|
2018-07-30 06:42:58 +00:00
|
|
|
}
|
2021-03-20 07:39:19 +00:00
|
|
|
|