From e55ce74c3457bd14cccd21b2f2d061fdd83fd534 Mon Sep 17 00:00:00 2001 From: 1xtier Date: Fri, 16 Jan 2026 16:13:50 +0400 Subject: [PATCH] first commit --- .../mrkeikun/powerdns/0.1.2/linux_amd64 | 1 + README.md | 16 +++++++++++++ main.tf | 8 +++++++ providers.tf | 5 ++++ terraform.tfvars | 23 +++++++++++++++++++ variables.tf | 23 +++++++++++++++++++ versions.tf | 9 ++++++++ 7 files changed, 85 insertions(+) create mode 120000 .terraform/providers/registry.terraform.io/mrkeikun/powerdns/0.1.2/linux_amd64 create mode 100644 README.md create mode 100644 main.tf create mode 100644 providers.tf create mode 100644 terraform.tfvars create mode 100644 variables.tf create mode 100644 versions.tf diff --git a/.terraform/providers/registry.terraform.io/mrkeikun/powerdns/0.1.2/linux_amd64 b/.terraform/providers/registry.terraform.io/mrkeikun/powerdns/0.1.2/linux_amd64 new file mode 120000 index 0000000..97aa1b2 --- /dev/null +++ b/.terraform/providers/registry.terraform.io/mrkeikun/powerdns/0.1.2/linux_amd64 @@ -0,0 +1 @@ +/home/floki/.terraform.d/plugins/registry.terraform.io/mrkeikun/powerdns/0.1.2/linux_amd64 \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..1df7316 --- /dev/null +++ b/README.md @@ -0,0 +1,16 @@ + + + +## Setting ci/cd secrets +```bash +TF_VAR_POWERDNS_API_URL +TF_VAR_POWERDNS_API_TOKEN +``` +### +```terraform + zone = "" + name = "" + type = "" + ttl = "" + record = [] +``` diff --git a/main.tf b/main.tf new file mode 100644 index 0000000..62b9953 --- /dev/null +++ b/main.tf @@ -0,0 +1,8 @@ +resource "powerdns_record" "foobar" { + count = length(var.zone-records) + zone = var.zone-records[count.index].zone + name = var.zone-records[count.index].name + type = var.zone-records[count.index].type + ttl = var.zone-records[count.index].ttl + records = var.zone-records[count.index].record +} diff --git a/providers.tf b/providers.tf new file mode 100644 index 0000000..5318479 --- /dev/null +++ b/providers.tf @@ -0,0 +1,5 @@ +provider "powerdns" { + server_url = var.POWERDNS_API_URL + api_key = var.POWERDNS_API_TOKEN + recursor_server_url = "http://127.0.0.1" +} diff --git a/terraform.tfvars b/terraform.tfvars new file mode 100644 index 0000000..4175914 --- /dev/null +++ b/terraform.tfvars @@ -0,0 +1,23 @@ +zone-records = [ + { + zone = "cloud.hlc.lab." + name = "test-test.cloud.hlc.lab." + type = "A" + ttl = "300" + record = ["192.168.19.1", "192.168.19.2"] + }, + { + zone = "cloud.hlc.lab." + name = "test2.cloud.hlc.lab." + type = "A" + ttl = "300" + record = ["192.168.19.1"] + }, + { + zone = "cloud.hlc.lab." + name = "test3.cloud.hlc.lab." + type = "A" + ttl = "300" + record = ["192.168.19.3"] + } +] diff --git a/variables.tf b/variables.tf new file mode 100644 index 0000000..105970b --- /dev/null +++ b/variables.tf @@ -0,0 +1,23 @@ +variable "POWERDNS_API_TOKEN" { + description = "POWERDNS_API_TOKEN" + type = string + sensitive = true +} +variable "POWERDNS_API_URL" { + description = "POWERDNS_API_TOKEN" + type = string + sensitive = true +} + + +variable "zone-records" { + description = "Parametrs lxc" + type = list(object({ + zone = string, + name = string, + type = string, + ttl = number, + record = list(string) + }) + ) +} diff --git a/versions.tf b/versions.tf new file mode 100644 index 0000000..71d88bd --- /dev/null +++ b/versions.tf @@ -0,0 +1,9 @@ +terraform { + required_providers { + powerdns = { + source = "mrkeikun/powerdns" + version = "0.1.2" + } + } +} +