From 140fbc249b26c622c0e2ab413c3aca9eb5014f8e Mon Sep 17 00:00:00 2001 From: Vegard Hagen Date: Thu, 10 Oct 2024 23:49:22 +0200 Subject: [PATCH] feat(tofu): use new talos_image_factory_schematic resource talos provider 0.6 added a new resource for generating the image schematic id --- .../bootstrap/proxmox-csi-plugin/providers.tf | 4 +- .../bootstrap/sealed-secrets/providers.tf | 2 +- .../kubernetes/bootstrap/volumes/providers.tf | 4 +- tofu/kubernetes/output.tf | 5 -- tofu/kubernetes/talos/image.tf | 51 +------------------ tofu/kubernetes/talos/providers.tf | 4 +- 6 files changed, 9 insertions(+), 61 deletions(-) diff --git a/tofu/kubernetes/bootstrap/proxmox-csi-plugin/providers.tf b/tofu/kubernetes/bootstrap/proxmox-csi-plugin/providers.tf index 4478a58..8f6df22 100644 --- a/tofu/kubernetes/bootstrap/proxmox-csi-plugin/providers.tf +++ b/tofu/kubernetes/bootstrap/proxmox-csi-plugin/providers.tf @@ -2,11 +2,11 @@ terraform { required_providers { kubernetes = { source = "hashicorp/kubernetes" - version = ">=2.31.0" + version = ">=2.32.0" } proxmox = { source = "bpg/proxmox" - version = ">=0.60.0" + version = ">=0.66.1" } } } diff --git a/tofu/kubernetes/bootstrap/sealed-secrets/providers.tf b/tofu/kubernetes/bootstrap/sealed-secrets/providers.tf index b8919b6..9d3178f 100644 --- a/tofu/kubernetes/bootstrap/sealed-secrets/providers.tf +++ b/tofu/kubernetes/bootstrap/sealed-secrets/providers.tf @@ -2,7 +2,7 @@ terraform { required_providers { kubernetes = { source = "hashicorp/kubernetes" - version = ">=2.31.0" + version = ">=2.32.0" } } } diff --git a/tofu/kubernetes/bootstrap/volumes/providers.tf b/tofu/kubernetes/bootstrap/volumes/providers.tf index ed3d119..55fdd57 100644 --- a/tofu/kubernetes/bootstrap/volumes/providers.tf +++ b/tofu/kubernetes/bootstrap/volumes/providers.tf @@ -2,11 +2,11 @@ terraform { required_providers { kubernetes = { source = "hashicorp/kubernetes" - version = ">= 2.31.0" + version = ">= 2.32.0" } restapi = { source = "Mastercard/restapi" - version = ">= 1.19.1" + version = ">= 1.12.0" } } } diff --git a/tofu/kubernetes/output.tf b/tofu/kubernetes/output.tf index 8f8fe7b..36c4601 100644 --- a/tofu/kubernetes/output.tf +++ b/tofu/kubernetes/output.tf @@ -26,8 +26,3 @@ output "talos_config" { value = module.talos.client_configuration.talos_config sensitive = true } - -output "image_schematic" { - // "dcac6b92c17d1d8947a0cee5e0e6b6904089aa878c70d66196bb1138dbd05d1a" - value = module.talos.schematic_id -} \ No newline at end of file diff --git a/tofu/kubernetes/talos/image.tf b/tofu/kubernetes/talos/image.tf index e051b28..135853d 100644 --- a/tofu/kubernetes/talos/image.tf +++ b/tofu/kubernetes/talos/image.tf @@ -1,56 +1,11 @@ locals { version = var.image.version schematic = var.image.schematic - schematic_id = jsondecode(data.http.schematic_id.response_body)["id"] - #schematic_id = talos_image_factory_schematic.this.id - image_id = "${local.schematic_id}_${local.version}" + image_id = "${talos_image_factory_schematic.this.id}_${local.version}" update_version = coalesce(var.image.update_version, var.image.version) update_schematic = coalesce(var.image.update_schematic, var.image.schematic) - update_schematic_id = jsondecode(data.http.updated_schematic_id.response_body)["id"] - #update_schematic_id = talos_image_factory_schematic.this.id - update_image_id = "${local.update_schematic_id}_${local.update_version}" -} - -data "http" "schematic_id" { - url = "${var.image.factory_url}/schematics" - method = "POST" - request_body = local.schematic -} - -data "http" "updated_schematic_id" { - url = "${var.image.factory_url}/schematics" - method = "POST" - request_body = local.update_schematic -} - -/* Testing out new provider schematic feature */ - -data "talos_image_factory_extensions_versions" "this" { - talos_version = var.image.version - filters = { - names = [ - "i915-ucode", - "intel-ucode", - "qemu-guest-agent" - ] - } -} - -resource "talos_image_factory_schematic" "generated" { - schematic = yamlencode( - { - customization = { - systemExtensions = { - officialExtensions = data.talos_image_factory_extensions_versions.this.extensions_info.*.name - } - } - } - ) -} - -output "schematic_id" { - value = talos_image_factory_schematic.generated.id + update_image_id = "${talos_image_factory_schematic.updated.id}_${local.update_version}" } resource "talos_image_factory_schematic" "this" { @@ -61,8 +16,6 @@ resource "talos_image_factory_schematic" "updated" { schematic = local.update_schematic } -/* Testing out new provider schematic feature */ - resource "proxmox_virtual_environment_download_file" "this" { for_each = toset(distinct([for k, v in var.nodes : "${v.host_node}_${v.update == true ? local.update_image_id : local.image_id}"])) diff --git a/tofu/kubernetes/talos/providers.tf b/tofu/kubernetes/talos/providers.tf index 6497804..ff1432c 100644 --- a/tofu/kubernetes/talos/providers.tf +++ b/tofu/kubernetes/talos/providers.tf @@ -2,11 +2,11 @@ terraform { required_providers { proxmox = { source = "bpg/proxmox" - version = ">=0.60.0" + version = ">=0.66.1" } talos = { source = "siderolabs/talos" - version = ">=0.6.0-alpha.1" + version = ">=0.6.0" } } }