rss-bridge: Migrate to container module
Diff
main.tf | 7 -------
rss-bridge.tf | 35 +++++++++++++++++++++++++++++++++++
rss-bridge/main.tf | 30 ------------------------------
rss-bridge/variables.tf | 9 ---------
rss-bridge/whitelist.txt | 16 ----------------
modules/container/main.tf | 1 +
modules/container/vars.tf | 6 ++++++
7 files changed, 42 insertions(+), 62 deletions(-)
@@ -61,13 +61,6 @@
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 "resilio" {
source = "resilio"
domain = "sync.bb8.fun"
@@ -1,0 +1,35 @@
module "rss-bridge" {
name = "rss-bridge"
source = "modules/container"
image = "rssbridge/rss-bridge:latest"
web {
expose = true
host = "rss-bridge.${var.root-domain}"
}
networks = "${list(module.docker.traefik-network-id)}"
uploads = [{
content = <<EOF
AmazonBridge
BandcampBridge
ContainerLinuxReleasesBridge
DiscogsBridge
FDroidBridge
FacebookBridge
GithubIssueBridge
GithubSearchBridge
GoComicsBridge
GoogleSearchBridge
InstagramBridge
ReadComicsBridge
SoundcloudBridge
SteamBridge
StripeAPIChangeLogBridge
AmazonPriceTrackerBridge
EOF
file = "/app/public/whitelist.txt"
}]
}
@@ -1,30 +1,0 @@
data "docker_registry_image" "rss-bridge" {
name = "rssbridge/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
}
@@ -1,9 +1,0 @@
variable "domain" {
description = "domain to be used by traefik"
}
variable "traefik-labels" {
type = "map"
}
variable "traefik-network-id" {}
@@ -1,16 +1,0 @@
AmazonBridge
BandcampBridge
ContainerLinuxReleasesBridge
DiscogsBridge
FDroidBridge
FacebookBridge
GithubIssueBridge
GithubSearchBridge
GoComicsBridge
GoogleSearchBridge
InstagramBridge
ReadComicsBridge
SoundcloudBridge
SteamBridge
StripeAPIChangeLogBridge
AmazonPriceTrackerBridge
@@ -21,6 +21,7 @@
memory = "${local.resource["memory"]}"
volumes = "${var.volumes}"
upload = "${var.uploads}"
@@ -88,3 +88,9 @@
type = "list"
default = []
}
variable "uploads" {
description = "uploads"
type = "list"
default = []
}