🏡 index : github.com/captn3m0/nebula.git

author Nemo <me@captnemo.in> 2018-07-28 20:19:20.0 +05:30:00
committer Nemo <me@captnemo.in> 2018-07-28 20:19:20.0 +05:30:00
commit
8356ebd672a327010e6397a7647d1d3bfcf06dc7 [patch]
tree
956777424d06c63e23d8102e26fea52282772e42
parent
3322870a5397ddc8827e6423782018756e6c23f5
download
8356ebd672a327010e6397a7647d1d3bfcf06dc7.tar.gz

Create a new postgres module



Diff

 main.tf                  | 10 ----------
 miniflux.tf              | 27 +++++++++++++++++++++++++++
 miniflux/db-postgres.tf  | 10 ----------
 miniflux/main.tf         | 30 ------------------------------
 miniflux/variables.tf    | 17 -----------------
 modules/postgres/main.tf | 10 ++++++++++
 modules/postgres/vars.tf |  9 +++++++++
 7 files changed, 46 insertions(+), 67 deletions(-)

diff --git a/main.tf b/main.tf
index ff9e4fa..792776f 100644
--- a/main.tf
+++ a/main.tf
@@ -61,16 +61,6 @@
  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"
diff --git a/miniflux.tf b/miniflux.tf
new file mode 100644
index 0000000..a804d92 100644
--- /dev/null
+++ a/miniflux.tf
@@ -1,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}"
}
diff --git a/miniflux/db-postgres.tf b/miniflux/db-postgres.tf
deleted file mode 100644
index 321882a..0000000 100644
--- a/miniflux/db-postgres.tf
+++ /dev/null
@@ -1,10 +1,0 @@
resource "postgresql_database" "miniflux" {

  name  = "miniflux"
  owner = "miniflux"
}

resource "postgresql_role" "miniflux" {

  name     = "miniflux"
  login    = true
  password = "${var.db-password}"
}
diff --git a/miniflux/main.tf b/miniflux/main.tf
deleted file mode 100644
index 0b328d9..0000000 100644
--- a/miniflux/main.tf
+++ /dev/null
@@ -1,30 +1,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
}
diff --git a/miniflux/variables.tf b/miniflux/variables.tf
deleted file mode 100644
index 24deef8..0000000 100644
--- a/miniflux/variables.tf
+++ /dev/null
@@ -1,17 +1,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" {}
diff --git a/modules/postgres/main.tf b/modules/postgres/main.tf
new file mode 100644
index 0000000..a35ed91 100644
--- /dev/null
+++ a/modules/postgres/main.tf
@@ -1,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}"
}
diff --git a/modules/postgres/vars.tf b/modules/postgres/vars.tf
new file mode 100644
index 0000000..52cfbc8 100644
--- /dev/null
+++ a/modules/postgres/vars.tf
@@ -1,0 +1,9 @@
variable "name" {

  description = "database/role name"
  type        = "string"
}

variable "password" {

  description = "role password"
  type        = "string"
}