rss-bridge: Migrate to container module

This commit is contained in:
Nemo 2018-08-21 08:46:25 +05:30
parent 9a5bf0a8b9
commit ebe3ecbd9e
7 changed files with 42 additions and 62 deletions

View File

@ -61,13 +61,6 @@ module "radicale" {
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"

View File

@ -21,6 +21,7 @@ resource "docker_container" "container" {
memory = "${local.resource["memory"]}"
volumes = "${var.volumes}"
upload = "${var.uploads}"
# Look at this monstrosity
# And then https://github.com/hashicorp/terraform/issues/12453#issuecomment-365569618

View File

@ -88,3 +88,9 @@ variable "volumes" {
type = "list"
default = []
}
variable "uploads" {
description = "uploads"
type = "list"
default = []
}

35
rss-bridge.tf Normal file
View File

@ -0,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"
}]
}

View File

@ -1,30 +0,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
}

View File

@ -1,9 +0,0 @@
variable "domain" {
description = "domain to be used by traefik"
}
variable "traefik-labels" {
type = "map"
}
variable "traefik-network-id" {}

View File

@ -1,16 +0,0 @@
AmazonBridge
BandcampBridge
ContainerLinuxReleasesBridge
DiscogsBridge
FDroidBridge
FacebookBridge
GithubIssueBridge
GithubSearchBridge
GoComicsBridge
GoogleSearchBridge
InstagramBridge
ReadComicsBridge
SoundcloudBridge
SteamBridge
StripeAPIChangeLogBridge
AmazonPriceTrackerBridge