aboutsummaryrefslogtreecommitdiff
path: root/terraform
diff options
context:
space:
mode:
Diffstat (limited to 'terraform')
-rw-r--r--terraform/garasjepi-zigbee2mqtt/.terraform.lock.hcl24
-rw-r--r--terraform/garasjepi-zigbee2mqtt/backend.tf16
-rw-r--r--terraform/garasjepi-zigbee2mqtt/main.tf30
-rw-r--r--terraform/garasjepi-zigbee2mqtt/terragrunt.hcl3
-rw-r--r--terraform/lhn2pi-zigbee2mqtt/README.md15
-rw-r--r--terraform/lhn2pi-zigbee2mqtt/main.tf15
-rw-r--r--terraform/modules/zigbee2mqtt/zigbee2mqtt.tf2
7 files changed, 76 insertions, 29 deletions
diff --git a/terraform/garasjepi-zigbee2mqtt/.terraform.lock.hcl b/terraform/garasjepi-zigbee2mqtt/.terraform.lock.hcl
new file mode 100644
index 0000000..57bc928
--- /dev/null
+++ b/terraform/garasjepi-zigbee2mqtt/.terraform.lock.hcl
@@ -0,0 +1,24 @@
+# This file is maintained automatically by "terraform init".
+# Manual edits may be lost in future updates.
+
+provider "registry.terraform.io/kreuzwerker/docker" {
+ version = "3.0.2"
+ constraints = "3.0.2"
+ hashes = [
+ "h1:cT2ccWOtlfKYBUE60/v2/4Q6Stk1KYTNnhxSck+VPlU=",
+ "zh:15b0a2b2b563d8d40f62f83057d91acb02cd0096f207488d8b4298a59203d64f",
+ "zh:23d919de139f7cd5ebfd2ff1b94e6d9913f0977fcfc2ca02e1573be53e269f95",
+ "zh:38081b3fe317c7e9555b2aaad325ad3fa516a886d2dfa8605ae6a809c1072138",
+ "zh:4a9c5065b178082f79ad8160243369c185214d874ff5048556d48d3edd03c4da",
+ "zh:5438ef6afe057945f28bce43d76c4401254073de01a774760169ac1058830ac2",
+ "zh:60b7fadc287166e5c9873dfe53a7976d98244979e0ab66428ea0dea1ebf33e06",
+ "zh:61c5ec1cb94e4c4a4fb1e4a24576d5f39a955f09afb17dab982de62b70a9bdd1",
+ "zh:a38fe9016ace5f911ab00c88e64b156ebbbbfb72a51a44da3c13d442cd214710",
+ "zh:c2c4d2b1fd9ebb291c57f524b3bf9d0994ff3e815c0cd9c9bcb87166dc687005",
+ "zh:d567bb8ce483ab2cf0602e07eae57027a1a53994aba470fa76095912a505533d",
+ "zh:e83bf05ab6a19dd8c43547ce9a8a511f8c331a124d11ac64687c764ab9d5a792",
+ "zh:e90c934b5cd65516fbcc454c89a150bfa726e7cf1fe749790c7480bbeb19d387",
+ "zh:f05f167d2eaf913045d8e7b88c13757e3cf595dd5cd333057fdafc7c4b7fed62",
+ "zh:fcc9c1cea5ce85e8bcb593862e699a881bd36dffd29e2e367f82d15368659c3d",
+ ]
+}
diff --git a/terraform/garasjepi-zigbee2mqtt/backend.tf b/terraform/garasjepi-zigbee2mqtt/backend.tf
new file mode 100644
index 0000000..33340ba
--- /dev/null
+++ b/terraform/garasjepi-zigbee2mqtt/backend.tf
@@ -0,0 +1,16 @@
+# Generated by Terragrunt. Sig: nIlQXj57tbuaRZEa
+terraform {
+ required_version = "~> 1.9.5"
+
+ backend "s3" {
+ bucket = "terraform-a6726272-73ff-11ed-8bdd-c79eb8376e05"
+ key = "garasjepi-zigbee2mqtt/terraform.tfstate"
+ skip_region_validation = true
+ skip_credentials_validation = true
+ skip_metadata_api_check = true
+ skip_requesting_account_id = true
+ skip_s3_checksum = true
+ region = "eu-central-1"
+ endpoints = { s3 : "https://eu-central-1.linodeobjects.com" }
+ }
+}
diff --git a/terraform/garasjepi-zigbee2mqtt/main.tf b/terraform/garasjepi-zigbee2mqtt/main.tf
new file mode 100644
index 0000000..4d5bb25
--- /dev/null
+++ b/terraform/garasjepi-zigbee2mqtt/main.tf
@@ -0,0 +1,30 @@
+terraform {
+ required_providers {
+ docker = {
+ source = "kreuzwerker/docker"
+ version = "3.0.2"
+ }
+ }
+}
+
+provider "docker" {
+ host = "ssh://${local.host}"
+}
+
+locals {
+ host = "garasjepi.dn42.trygvis.io"
+ docker_image = "koenkk/zigbee2mqtt:1.42.0"
+ public_ip = module.ipam.hosts.garasjepi.address
+}
+
+module "ipam" {
+ source = "../ipam6"
+}
+
+module "zigbee2mqtt" {
+ source = "../modules/zigbee2mqtt"
+
+ docker_version = "2.1"
+ public_ip = local.public_ip
+ serial_port = "/dev/serial/by-id/usb-dresden_elektronik_ingenieurtechnik_GmbH_ConBee_II_DE2698168-if00"
+}
diff --git a/terraform/garasjepi-zigbee2mqtt/terragrunt.hcl b/terraform/garasjepi-zigbee2mqtt/terragrunt.hcl
new file mode 100644
index 0000000..e147285
--- /dev/null
+++ b/terraform/garasjepi-zigbee2mqtt/terragrunt.hcl
@@ -0,0 +1,3 @@
+include "root" {
+ path = find_in_parent_folders()
+}
diff --git a/terraform/lhn2pi-zigbee2mqtt/README.md b/terraform/lhn2pi-zigbee2mqtt/README.md
deleted file mode 100644
index 2e6209c..0000000
--- a/terraform/lhn2pi-zigbee2mqtt/README.md
+++ /dev/null
@@ -1,15 +0,0 @@
-This is not a docker container as the rest, but using podman as lhn2pi runs
-
-https://www.zigbee2mqtt.io/guide/installation/02_docker.html#rootless-container
-
-podman run \
- --name=zigbee2mqtt \
- --restart=unless-stopped \
- -p 8080:8080 \
- -v $(pwd)/data:/app/data \
- -v /run/udev:/run/udev:ro \
- --device=/dev/serial/by-id/usb-Texas_Instruments_TI_CC2531_USB_CDC___0X00124B0018ED3DDF-if00:/dev/ttyACM0 \
- --group-add keep-groups \
- -e TZ=Europe/Amsterdam \
- koenkk/zigbee2mqtt
-
diff --git a/terraform/lhn2pi-zigbee2mqtt/main.tf b/terraform/lhn2pi-zigbee2mqtt/main.tf
index 90527ee..2857b99 100644
--- a/terraform/lhn2pi-zigbee2mqtt/main.tf
+++ b/terraform/lhn2pi-zigbee2mqtt/main.tf
@@ -4,26 +4,15 @@ terraform {
source = "kreuzwerker/docker"
version = "3.0.2"
}
- linode = {
- source = "linode/linode"
- version = "1.30.0"
- }
- postgresql = {
- source = "cyrilgdn/postgresql"
- version = "1.18.0"
- }
- sops = {
- source = "lokkersp/sops"
- version = "0.6.10"
- }
}
}
provider "docker" {
- host = "ssh://lhn2pi.dn42.trygvis.io"
+ host = "ssh://${local.host}"
}
locals {
+ host = "lhn2pi.dn42.trygvis.io"
docker_image = "koenkk/zigbee2mqtt:1.42.0"
public_ip = module.ipam.hosts.lhn2pi.address
}
diff --git a/terraform/modules/zigbee2mqtt/zigbee2mqtt.tf b/terraform/modules/zigbee2mqtt/zigbee2mqtt.tf
index 967727d..467c5e1 100644
--- a/terraform/modules/zigbee2mqtt/zigbee2mqtt.tf
+++ b/terraform/modules/zigbee2mqtt/zigbee2mqtt.tf
@@ -40,6 +40,6 @@ resource "docker_container" "zigbee2mqtt" {
devices {
host_path = var.serial_port
container_path = "/dev/ttyACM0"
- permissions = "rwm"
+# permissions = "rwm"
}
}