diff --git a/adguard/.terraform.lock.hcl b/adguard/.terraform.lock.hcl new file mode 100644 index 0000000..e80b711 --- /dev/null +++ b/adguard/.terraform.lock.hcl @@ -0,0 +1,44 @@ +# This file is maintained automatically by "tofu init". +# Manual edits may be lost in future updates. + +provider "registry.opentofu.org/camptocamp/pass" { + version = "2.1.1" + constraints = "~> 2.0" + hashes = [ + "h1:b26FFbTyOIKCeqpAjnBzLZU1S9jU7XE9U+3+NOxtAq0=", + "zh:2ec5926b48526bc23b99f26dd18138811f6b1f1f81125bce75e841020b58350c", + "zh:32448b55d615ffc4924aab08c5fdea57102cc0f2752003e81367e7d05d42ce9a", + "zh:35c2d4e4551486b3e3befcf5efcf56f94deae0e3293fe8634365e4fb8b632598", + "zh:4d7932ddc0bb0a4f429ce6213d8139c05e54ce0c8f1a60d0a42e84f0dcccf334", + "zh:4f44287a8cab55ad339a04422496f4b607ce257aaa8a8cf1e4bd459f5ac6dbbb", + "zh:6e8f181c187b5c070f6cba458eeabcefb5a8e110a414b349c2f94ccc5952ca64", + "zh:79ae6e5c34221ee6324d57bec033d336f72b96521560ca3ba017c90560e337ba", + "zh:9ff86045990bdac860d9535c2abaaa80794451910f353c8bf71bcc5a6d594fc2", + "zh:c76ed4b72ca17e24b201a2f3365bd0d0ea22f6e93621e61371f1322c1ff33806", + "zh:dc3f2410d08af24d58c3fb5357ec9a8cf74fd02b63f01ff52379b03f147c0b08", + "zh:de0c0ceb0ef2af78fe402ffa860ec1fbc08ff91b18342f17cb55100934ea2c4b", + ] +} + +provider "registry.opentofu.org/gmichels/adguard" { + version = "1.6.2" + constraints = "~> 1.0" + hashes = [ + "h1:mBxI5srrplxBHZLuXfEVZzwph3mCl9SQv0e9nR2GhQ4=", + "zh:0337224a2b6418ba38cedf7f2cef9b154f51db4791b03d6b5745cb26f60614d2", + "zh:09addda402962c46cd236ae1703ba9632f377897e8d321678cf0e4428a5071f7", + "zh:1f7b511933d6ca8fbdcd5bb50bba910e88b73fee57ae2922e01f18470350929e", + "zh:2bd2a45c4cddd19b2a55d6d658184df25f002e0b7a929da48b5086922ae846d6", + "zh:30ed44fd468132273029302fc16de4e76a1f10b816862e2e5dfca545e5b67f70", + "zh:3f73e37f6410509f7811db77b53f6e332c24344ad800a1d56bcf6af2a706d998", + "zh:5215dbeb6edbe0e7fae238580bb649745824d3744cc0d3b407244383ddeefd96", + "zh:543a6b4d814607884791306ae661a1d3475af90785712fb6c94e2b616f75afba", + "zh:8402d7a2d501ff0c9fe2216bf80f6bc133f0277cc3f184d3d37f4628b778f18b", + "zh:894ac1fce4fd92c66684d64d41356d5d02ebcf3a68e4ae1150314732f9ac384f", + "zh:ad547c8c8413de6886cf563129b117a0aab79b9841e7486e58a639c74eeacc12", + "zh:b9d69a6f99256cbd741ddc881f8665eec6e51ee1a4b99918ae8e9bdcf73cf31d", + "zh:d254d2dae145dbe5435be32b821198d9d5dca81fb67e06499eb8a8bd78a34ba5", + "zh:df327c22ba4437fa5e879ae70ce8330363a4e6f320711e7bd2ac249db3a3a551", + "zh:f809ab383cca0a5f83072981c64208cbd7fa67e986a86ee02dd2c82333221e32", + ] +} diff --git a/adguard/main.tf b/adguard/main.tf new file mode 100644 index 0000000..5c3abda --- /dev/null +++ b/adguard/main.tf @@ -0,0 +1,30 @@ +terraform { + required_providers { + adguard = { + source = "gmichels/adguard" + version = "~> 1.0" + } + pass = { + source = "camptocamp/pass" + version = "~> 2.0" + } + } +} + +data "pass_password" "adguard" { + path = var.adguard_pass_path +} + +provider "adguard" { + host = data.pass_password.adguard.data.host + username = data.pass_password.adguard.data.user + password = data.pass_password.adguard.password + scheme = "http" +} + +resource "adguard_rewrite" "rewrites" { + for_each = var.dns_rewrites + + domain = each.key + answer = each.value +} diff --git a/adguard/variables.tf b/adguard/variables.tf new file mode 100644 index 0000000..f39817a --- /dev/null +++ b/adguard/variables.tf @@ -0,0 +1,17 @@ +variable "adguard_pass_path" { + type = string + description = "Path in pass for AdGuard username" + default = "home/adguard/admin" +} + +variable "dns_rewrites" { + type = map(string) + description = "DNS rewrites: domain -> IP" + default = { + "bureau.lan" = "192.168.10.91" + "cuisine.lan" = "192.168.10.93" + "nas.lan" = "192.168.10.50" + "*.nas.lan" = "192.168.10.50" + "salon.lan" = "192.168.10.92" + } +}