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

author Nemo <me@captnemo.in> 2018-02-18 13:18:20.0 +05:30:00
committer Nemo <me@captnemo.in> 2018-02-18 13:18:20.0 +05:30:00
commit
8942b09ada4652fe98935937d2e8619127f38449 [patch]
tree
e2d1621ea008ec3ae72df0d564556c6d1c7f5ade
parent
8bb05fec661170cf4db9feda85bb4f6de1759fd6
download
8942b09ada4652fe98935937d2e8619127f38449.tar.gz

Adds heimdall



Diff

 main.tf                  |  7 +++++++
 docker/outputs.tf        |  4 ++++
 heimdall/main.tf         | 34 ++++++++++++++++++++++++++++++++++
 heimdall/variables.tf    | 11 +++++++++++
 docker/conf/traefik.toml |  3 +++
 5 files changed, 59 insertions(+)

diff --git a/main.tf b/main.tf
index 0a23e58..97cb5ac 100644
--- a/main.tf
+++ a/main.tf
@@ -49,6 +49,13 @@
  traefik-labels = "${var.traefik-common-labels}"
}

module "heimdall" {

  source         = "heimdall"
  domain         = "bb8.fun"
  traefik-labels = "${var.traefik-common-labels}"
  auth-header    = "${module.docker.auth-header}"
}

module "media" {

  source                 = "media"
  domain                 = "bb8.fun"
diff --git a/docker/outputs.tf b/docker/outputs.tf
index 7383805..cd1347b 100644
--- a/docker/outputs.tf
+++ a/docker/outputs.tf
@@ -17,3 +17,7 @@
output "names-traefik" {

  value = "${docker_container.traefik.name}"
}

output "auth-header" {

  value = "${var.basic_auth}"
}
diff --git a/heimdall/main.tf b/heimdall/main.tf
new file mode 100644
index 0000000..f205d1a 100644
--- /dev/null
+++ a/heimdall/main.tf
@@ -1,0 +1,34 @@
data "docker_registry_image" "heimdall" {

  name = "linuxserver/heimdall:latest"
}

resource "docker_image" "heimdall" {

  name          = "${data.docker_registry_image.heimdall.name}"
  pull_triggers = ["${data.docker_registry_image.heimdall.sha256_digest}"]
}

resource docker_container "heimdall" {

  name  = "heimdall"
  image = "${docker_image.heimdall.latest}"

  labels = "${merge(

    var.traefik-labels, map(
      "traefik.port", "443",
      "traefik.protocol", "https",
      "traefik.frontend.rule","Host:${var.domain}",
      "traefik.frontend.auth.basic", "${var.auth-header}",
  ))}"

  volumes {

    host_path      = "/mnt/xwing/config/heimdall"
    container_path = "/config"
  }

  env = [

    "TZ=Asia/Kolkata",
  ]

  restart               = "unless-stopped"
  destroy_grace_seconds = 10
  must_run              = true
}
diff --git a/heimdall/variables.tf b/heimdall/variables.tf
new file mode 100644
index 0000000..cb679bf 100644
--- /dev/null
+++ a/heimdall/variables.tf
@@ -1,0 +1,11 @@
variable "domain" {

  type = "string"
}

variable "auth-header" {

  type = "string"
}

variable "traefik-labels" {

  type = "map"
}
diff --git a/docker/conf/traefik.toml b/docker/conf/traefik.toml
index d9d0e14..a4a8807 100644
--- a/docker/conf/traefik.toml
+++ a/docker/conf/traefik.toml
@@ -1,4 +1,7 @@
defaultEntryPoints = ["http", "https"]

InsecureSkipVerify = true

[entryPoints]
[entryPoints.http]
  address = ":80"