diff --git a/providers/hetzner/baremetal/1-30/cluster-class/templates/cluster-class.yaml b/providers/hetzner/baremetal/1-30/cluster-class/templates/cluster-class.yaml index 13c47ad0..a72f604e 100644 --- a/providers/hetzner/baremetal/1-30/cluster-class/templates/cluster-class.yaml +++ b/providers/hetzner/baremetal/1-30/cluster-class/templates/cluster-class.yaml @@ -51,6 +51,17 @@ spec: openAPIV3Schema: type: string default: "lb11" + - name: clusterLoadBalancerName + required: false + schema: + openAPIV3Schema: + type: string + - name: clusterLoadBalancerAlgorithm + required: false + schema: + openAPIV3Schema: + type: string + default: "round_robin" - name: clusterLoadBalancerExtraServices required: false schema: @@ -192,6 +203,10 @@ spec: path: "/spec/template/spec/controlPlaneLoadBalancer/type" valueFrom: variable: clusterLoadBalancerType + - op: add + path: "/spec/template/spec/controlPlaneLoadBalancer/algorithm" + valueFrom: + variable: clusterLoadBalancerAlgorithm - op: add path: "/spec/template/spec/controlPlaneLoadBalancer/extraServices" valueFrom: @@ -204,6 +219,19 @@ spec: path: "/spec/template/spec/controlPlaneLoadBalancer/region" valueFrom: variable: region + - name: existing_load_balancer + enabledIf: {{ `"{{ if .clusterLoadBalancerName }}true{{end}}"` }} + definitions: + - selector: + apiVersion: infrastructure.cluster.x-k8s.io/v1beta1 + kind: HetznerClusterTemplate + matchResources: + infrastructureCluster: true + jsonPatches: + - op: add + path: "/spec/template/spec/controlPlaneLoadBalancer/name" + valueFrom: + variable: clusterLoadBalancerName - name: HetznerBareMetalMachineTemplateWorker definitions: - selector: