From 044bd865c0cc988243aad40b8b3a05f36e2f642a Mon Sep 17 00:00:00 2001 From: eding Date: Sun, 6 Sep 2026 20:37:05 +0200 Subject: [PATCH] fix: generate Talconfig during reconcile --- internal/bootstrap/bootstrap.go | 2 +- internal/bootstrap/bootstrap_test.go | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/internal/bootstrap/bootstrap.go b/internal/bootstrap/bootstrap.go index 3136648..ec73775 100644 --- a/internal/bootstrap/bootstrap.go +++ b/internal/bootstrap/bootstrap.go @@ -1385,7 +1385,7 @@ func (r Runner) reconcileTerraform(terraformDir string) error { } func terraformReconcileTargets(cfg config.Config) []string { - targets := []string{"-target=proxmox_virtual_environment_download_file.talos_iso"} + targets := []string{"-target=proxmox_virtual_environment_download_file.talos_iso", "-target=local_file.talconfig"} if cfg.Talos.Cluster.ManageNetworkBridges { targets = append(targets, "-target=proxmox_virtual_environment_network_linux_bridge.cluster_bridge") } diff --git a/internal/bootstrap/bootstrap_test.go b/internal/bootstrap/bootstrap_test.go index 1617c00..faeb6de 100644 --- a/internal/bootstrap/bootstrap_test.go +++ b/internal/bootstrap/bootstrap_test.go @@ -1109,13 +1109,13 @@ func TestTerraformPlanPathIsAbsolute(t *testing.T) { } } -func TestTerraformReconcileTargetsStageImageAndManagedBridgesOnly(t *testing.T) { - if targets := strings.Join(terraformReconcileTargets(config.Config{}), " "); targets != "-target=proxmox_virtual_environment_download_file.talos_iso" { +func TestTerraformReconcileTargetsStageImageTalconfigAndManagedBridgesOnly(t *testing.T) { + if targets := strings.Join(terraformReconcileTargets(config.Config{}), " "); targets != "-target=proxmox_virtual_environment_download_file.talos_iso -target=local_file.talconfig" { t.Fatalf("default reconcile targets = %q", targets) } cfg := config.Config{Talos: config.TalosConfig{Cluster: config.TalosClusterConfig{ManageNetworkBridges: true}}} targets := strings.Join(terraformReconcileTargets(cfg), " ") - if !strings.Contains(targets, "-target=proxmox_virtual_environment_download_file.talos_iso") || !strings.Contains(targets, "-target=proxmox_virtual_environment_network_linux_bridge.cluster_bridge") || strings.Contains(targets, "proxmox_virtual_environment_vm.vm") { + if !strings.Contains(targets, "-target=proxmox_virtual_environment_download_file.talos_iso") || !strings.Contains(targets, "-target=local_file.talconfig") || !strings.Contains(targets, "-target=proxmox_virtual_environment_network_linux_bridge.cluster_bridge") || strings.Contains(targets, "proxmox_virtual_environment_vm.vm") { t.Fatalf("managed bridge reconcile targets = %q", targets) } } @@ -1197,7 +1197,7 @@ func TestReconcileTerraformImportsConfiguredTalosVMsBeforePlan(t *testing.T) { if len(state) != 1 || state[0] != importedAddress { return errors.New("VM create collision") } - if strings.Contains(strings.Join(args, " "), "proxmox_virtual_environment_vm.vm") || !strings.Contains(strings.Join(args, " "), "-target=proxmox_virtual_environment_download_file.talos_iso") { + if strings.Contains(strings.Join(args, " "), "proxmox_virtual_environment_vm.vm") || !strings.Contains(strings.Join(args, " "), "-target=proxmox_virtual_environment_download_file.talos_iso") || !strings.Contains(strings.Join(args, " "), "-target=local_file.talconfig") { t.Fatalf("reconcile plan did not exclude the Talos VM: %q", args) } events = append(events, "plan")