diff --git a/tofu/kubernetes/talos/config.tf b/tofu/kubernetes/talos/config.tf index 350e165..c331b89 100644 --- a/tofu/kubernetes/talos/config.tf +++ b/tofu/kubernetes/talos/config.tf @@ -58,6 +58,7 @@ data "talos_machine_configuration" "this" { }), each.value.machine_type == "controlplane" ? templatefile("${path.module}/machine-config/control-plane.yaml.tftpl", { kubelet = var.cluster.kubelet + extra_manifests = jsonencode(var.cluster.extra_manifests) api_server = var.cluster.api_server inline_manifests = jsonencode(terraform_data.cilium_bootstrap_inline_manifests.output) }) : "" diff --git a/tofu/kubernetes/talos/machine-config/control-plane.yaml.tftpl b/tofu/kubernetes/talos/machine-config/control-plane.yaml.tftpl index 5a63a70..ffc5a04 100644 --- a/tofu/kubernetes/talos/machine-config/control-plane.yaml.tftpl +++ b/tofu/kubernetes/talos/machine-config/control-plane.yaml.tftpl @@ -16,7 +16,5 @@ cluster: registries: service: disabled: false - extraManifests: - - https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.2.1/standard-install.yaml - - https://raw.githubusercontent.com/kubernetes-sigs/gateway-api/v1.2.1/config/crd/experimental/gateway.networking.k8s.io_tlsroutes.yaml + extraManifests: ${extra_manifests} inlineManifests: ${inline_manifests} diff --git a/tofu/kubernetes/talos/variables.tf b/tofu/kubernetes/talos/variables.tf index 60114eb..787ae05 100644 --- a/tofu/kubernetes/talos/variables.tf +++ b/tofu/kubernetes/talos/variables.tf @@ -23,6 +23,7 @@ variable "cluster" { talos_machine_config_version = optional(string) proxmox_cluster = string kubernetes_version = string + extra_manifests = optional(list(string)) kubelet = optional(string) api_server = optional(string) cilium = object({ diff --git a/tofu/kubernetes/talos_cluster.auto.tfvars b/tofu/kubernetes/talos_cluster.auto.tfvars index 340a1fe..bed3950 100644 --- a/tofu/kubernetes/talos_cluster.auto.tfvars +++ b/tofu/kubernetes/talos_cluster.auto.tfvars @@ -17,7 +17,11 @@ talos_cluster_config = { bootstrap_manifest_path = "talos/inline-manifests/cilium-install.yaml" values_file_path = "../../k8s/infra/network/cilium/values.yaml" } - kubelet = <<-EOT + extra_manifests = [ + "https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.2.1/standard-install.yaml", + "https://raw.githubusercontent.com/kubernetes-sigs/gateway-api/v1.2.1/config/crd/experimental/gateway.networking.k8s.io_tlsroutes.yaml" + ] + kubelet = <<-EOT extraArgs: # Needed for Netbird agent https://kubernetes.io/docs/tasks/administer-cluster/sysctl-cluster/#enabling-unsafe-sysctls allowed-unsafe-sysctls: net.ipv4.conf.all.src_valid_mark diff --git a/tofu/kubernetes/variables.tf b/tofu/kubernetes/variables.tf index 41a4f74..1f3eb4d 100644 --- a/tofu/kubernetes/variables.tf +++ b/tofu/kubernetes/variables.tf @@ -39,6 +39,7 @@ variable "talos_cluster_config" { talos_machine_config_version = optional(string) proxmox_cluster = string kubernetes_version = string + extra_manifests = optional(list(string)) kubelet = optional(string) api_server = optional(string) cilium = object({