Adds support for docker_network data source

This commit is contained in:
Nemo 2018-08-24 01:06:27 +05:30
parent 6646320d74
commit 47a34095c6
5 changed files with 15 additions and 8 deletions

View File

@ -54,9 +54,8 @@ module "opml" {
} }
module "radicale" { module "radicale" {
source = "radicale" source = "radicale"
domain = "radicale.bb8.fun" domain = "radicale.bb8.fun"
traefik-network-id = "${module.docker.traefik-network-id}"
} }
module "resilio" { module "resilio" {

View File

@ -7,6 +7,10 @@ resource "docker_image" "image" {
pull_triggers = ["${data.docker_registry_image.image.sha256_digest}"] pull_triggers = ["${data.docker_registry_image.image.sha256_digest}"]
} }
data "docker_network" "traefik" {
name = "traefik"
}
resource "docker_container" "container" { resource "docker_container" "container" {
name = "${var.name}" name = "${var.name}"
image = "${docker_image.image.latest}" image = "${docker_image.image.latest}"
@ -16,7 +20,14 @@ resource "docker_container" "container" {
command = "${var.command}" command = "${var.command}"
entrypoint = "${var.entrypoint}" entrypoint = "${var.entrypoint}"
user = "${var.user}" user = "${var.user}"
networks = ["${var.networks}"]
// Only attach the traefik network if
// service is exposed to the web
networks = ["${concat(var.networks, split(",",
lookup(var.web, "expose", "false") == "false" ?
"" :
"${data.docker_network.traefik.id}"
))}"]
memory = "${local.resource["memory"]}" memory = "${local.resource["memory"]}"

View File

@ -1,6 +1,7 @@
provider "docker" { provider "docker" {
host = "tcp://docker.vpn.bb8.fun:2376" host = "tcp://docker.vpn.bb8.fun:2376"
cert_path = "./secrets" cert_path = "./secrets"
version = "~> 2.0.0"
} }
provider "cloudflare" { provider "cloudflare" {

View File

@ -34,6 +34,4 @@ module "container" {
file = "/config/users" file = "/config/users"
}, },
] ]
networks = ["${var.traefik-network-id}"]
} }

View File

@ -1,5 +1,3 @@
variable "domain" { variable "domain" {
type = "string" type = "string"
} }
variable "traefik-network-id" {}