diff --git a/main.tf b/main.tf index e7d1c47..508d063 100644 --- a/main.tf +++ b/main.tf @@ -81,6 +81,13 @@ module "tt-rss" { traefik-network-id = "${module.docker.traefik-network-id}" } +module "rss-bridge" { + source = "rss-bridge" + domain = "rss-bridge.bb8.fun" + traefik-labels = "${var.traefik-common-labels}" + traefik-network-id = "${module.docker.traefik-network-id}" +} + module "requestbin" { source = "requestbin" domain = "requestbin.bb8.fun" diff --git a/rss-bridge/main.tf b/rss-bridge/main.tf new file mode 100644 index 0000000..fec87d6 --- /dev/null +++ b/rss-bridge/main.tf @@ -0,0 +1,30 @@ +data "docker_registry_image" "rss-bridge" { + name = "captn3m0/rss-bridge:latest" +} + +resource "docker_image" "rss-bridge" { + name = "${data.docker_registry_image.rss-bridge.name}" + pull_triggers = ["${data.docker_registry_image.rss-bridge.sha256_digest}"] +} + +resource "docker_container" "rss-bridge" { + name = "rss-bridge" + image = "${docker_image.rss-bridge.latest}" + + labels = "${merge( + var.traefik-labels, map( + "traefik.port", 80, + "traefik.frontend.rule","Host:${var.domain}" + ))}" + + upload { + content = "${file("${path.module}/whitelist.txt")}" + file = "/app/public/whitelist.txt" + } + + networks = ["${var.traefik-network-id}"] + + restart = "unless-stopped" + destroy_grace_seconds = 60 + must_run = true +} diff --git a/rss-bridge/variables.tf b/rss-bridge/variables.tf new file mode 100644 index 0000000..7fc62b1 --- /dev/null +++ b/rss-bridge/variables.tf @@ -0,0 +1,9 @@ +variable "domain" { + description = "domain to be used by traefik" +} + +variable "traefik-labels" { + type = "map" +} + +variable "traefik-network-id" {} diff --git a/rss-bridge/whitelist.txt b/rss-bridge/whitelist.txt new file mode 100644 index 0000000..372631f --- /dev/null +++ b/rss-bridge/whitelist.txt @@ -0,0 +1 @@ +ContainerLinuxReleasesBridge