Create a new postgres module
This commit is contained in:
parent
3322870a53
commit
8356ebd672
10
main.tf
10
main.tf
|
@ -61,16 +61,6 @@ module "radicale" {
|
|||
traefik-network-id = "${module.docker.traefik-network-id}"
|
||||
}
|
||||
|
||||
module "miniflux" {
|
||||
source = "miniflux"
|
||||
domain = "rss.captnemo.in"
|
||||
release = "2.0.10"
|
||||
db-password = "${var.miniflux-db-password}"
|
||||
traefik-labels = "${var.traefik-common-labels}"
|
||||
traefik-network-id = "${module.docker.traefik-network-id}"
|
||||
postgres-network-id = "${module.db.postgres-network-id}"
|
||||
}
|
||||
|
||||
module "rss-bridge" {
|
||||
source = "rss-bridge"
|
||||
domain = "rss-bridge.bb8.fun"
|
||||
|
|
|
@ -0,0 +1,27 @@
|
|||
module "miniflux-container" {
|
||||
name = "miniflux"
|
||||
source = "modules/container"
|
||||
image = "miniflux/miniflux:2.0.10"
|
||||
|
||||
labels = "${merge(
|
||||
var.traefik-common-labels, map(
|
||||
"traefik.port", 8080,
|
||||
"traefik.frontend.rule","Host:rss.captnemo.in"
|
||||
))}"
|
||||
|
||||
networks = "${list(module.docker.traefik-network-id,module.db.postgres-network-id)}"
|
||||
|
||||
env = [
|
||||
"DATABASE_URL=postgres://miniflux:${var.miniflux-db-password}@postgres/miniflux?sslmode=disable",
|
||||
"RUN_MIGRATIONS=1",
|
||||
]
|
||||
|
||||
destroy_grace_seconds = 10
|
||||
must_run = true
|
||||
}
|
||||
|
||||
module "miniflux-db" {
|
||||
source = "modules/postgres"
|
||||
name = "miniflux"
|
||||
password = "${var.miniflux-db-password}"
|
||||
}
|
|
@ -1,10 +0,0 @@
|
|||
resource "postgresql_database" "miniflux" {
|
||||
name = "miniflux"
|
||||
owner = "miniflux"
|
||||
}
|
||||
|
||||
resource "postgresql_role" "miniflux" {
|
||||
name = "miniflux"
|
||||
login = true
|
||||
password = "${var.db-password}"
|
||||
}
|
|
@ -1,30 +0,0 @@
|
|||
data "docker_registry_image" "miniflux" {
|
||||
name = "miniflux/miniflux:${var.release}"
|
||||
}
|
||||
|
||||
resource "docker_image" "miniflux" {
|
||||
name = "${data.docker_registry_image.miniflux.name}"
|
||||
pull_triggers = ["${data.docker_registry_image.miniflux.sha256_digest}"]
|
||||
}
|
||||
|
||||
resource "docker_container" "miniflux" {
|
||||
name = "miniflux"
|
||||
image = "${docker_image.miniflux.latest}"
|
||||
|
||||
labels = "${merge(
|
||||
var.traefik-labels, map(
|
||||
"traefik.port", 8080,
|
||||
"traefik.frontend.rule","Host:${var.domain}"
|
||||
))}"
|
||||
|
||||
networks = ["${var.traefik-network-id}", "${var.postgres-network-id}"]
|
||||
|
||||
env = [
|
||||
"DATABASE_URL=postgres://miniflux:${var.db-password}@postgres/miniflux?sslmode=disable",
|
||||
"RUN_MIGRATIONS=1",
|
||||
]
|
||||
|
||||
restart = "unless-stopped"
|
||||
destroy_grace_seconds = 10
|
||||
must_run = true
|
||||
}
|
|
@ -1,17 +0,0 @@
|
|||
variable "domain" {
|
||||
type = "string"
|
||||
}
|
||||
|
||||
variable "db-password" {}
|
||||
variable "postgres-network-id" {}
|
||||
|
||||
variable "traefik-labels" {
|
||||
type = "map"
|
||||
}
|
||||
|
||||
variable "release" {
|
||||
description = "miniflux version"
|
||||
type = "string"
|
||||
}
|
||||
|
||||
variable "traefik-network-id" {}
|
|
@ -0,0 +1,10 @@
|
|||
resource "postgresql_database" "db" {
|
||||
name = "${var.name}"
|
||||
owner = "${var.name}"
|
||||
}
|
||||
|
||||
resource "postgresql_role" "role" {
|
||||
name = "${var.name}"
|
||||
login = true
|
||||
password = "${var.password}"
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
variable "name" {
|
||||
description = "database/role name"
|
||||
type = "string"
|
||||
}
|
||||
|
||||
variable "password" {
|
||||
description = "role password"
|
||||
type = "string"
|
||||
}
|
Loading…
Reference in New Issue