2018-07-28 14:33:43 +00:00
|
|
|
data "docker_registry_image" "image" {
|
|
|
|
name = "${var.image}"
|
|
|
|
}
|
|
|
|
|
|
|
|
resource "docker_image" "image" {
|
|
|
|
name = "${data.docker_registry_image.image.name}"
|
|
|
|
pull_triggers = ["${data.docker_registry_image.image.sha256_digest}"]
|
|
|
|
}
|
|
|
|
|
|
|
|
resource "docker_container" "container" {
|
2018-07-30 06:42:58 +00:00
|
|
|
name = "${var.name}"
|
|
|
|
image = "${docker_image.image.latest}"
|
|
|
|
ports = "${var.ports}"
|
|
|
|
restart = "${var.restart}"
|
|
|
|
env = "${var.env}"
|
|
|
|
command = "${var.command}"
|
|
|
|
entrypoint = "${var.entrypoint}"
|
|
|
|
user = "${var.user}"
|
|
|
|
networks = ["${var.networks}"]
|
2018-07-31 08:37:08 +00:00
|
|
|
memory = "${lookup(var.resource, "memory")}"
|
2018-07-30 06:42:58 +00:00
|
|
|
|
2018-07-31 08:37:08 +00:00
|
|
|
// Only add traefik labels if web.expose=true
|
|
|
|
// Only add basicauth config if web.basicauth=true
|
|
|
|
labels = "${merge(var.labels, lookup(var.web, "expose", "false") ?
|
2018-07-30 06:42:58 +00:00
|
|
|
merge(local.traefik-common-labels, map(
|
2018-07-31 08:37:08 +00:00
|
|
|
"traefik.port", lookup(var.web, "port", "80"),
|
|
|
|
"traefik.frontend.rule", "Host:${lookup(var.web, "host", "")}",
|
|
|
|
"traefik.protocol", lookup(var.web, "protocol", "http"),
|
|
|
|
)) : map(), lookup(var.web, "basicauth", "false") ? map(
|
|
|
|
"traefik.frontend.auth.basic", var.auth-header
|
|
|
|
) : map())}"
|
2018-07-30 06:42:58 +00:00
|
|
|
|
2018-07-28 14:33:43 +00:00
|
|
|
destroy_grace_seconds = "${var.destroy_grace_seconds}"
|
|
|
|
must_run = "${var.must_run}"
|
|
|
|
}
|