From 73c31a4b75d902df5b4a43a5841abb1b3aff6f25 Mon Sep 17 00:00:00 2001
From: Sheogorath <sheogorath@shivering-isles.com>
Date: Sat, 17 Sep 2022 15:22:22 +0200
Subject: [PATCH] fix(metallb): Upgrade metallb to 0.13.5

This patch provides the required adjustments for the update, including
splitting the IPPool configs out of the default helm chart.
---
 clusters/k8s01/metallb/metallb.yaml | 14 ++++++++++++++
 infrastructure/metallb/release.yaml | 24 +++++++++++++++++-------
 2 files changed, 31 insertions(+), 7 deletions(-)
 create mode 100644 clusters/k8s01/metallb/metallb.yaml

diff --git a/clusters/k8s01/metallb/metallb.yaml b/clusters/k8s01/metallb/metallb.yaml
new file mode 100644
index 000000000..ed3b7a509
--- /dev/null
+++ b/clusters/k8s01/metallb/metallb.yaml
@@ -0,0 +1,14 @@
+apiVersion: metallb.io/v1beta1
+kind: IPAddressPool
+metadata:
+  name: k8s01-pool
+  namespace: metallb-system
+spec:
+  addresses:
+    - 192.168.100.128/24
+---
+apiVersion: metallb.io/v1beta1
+kind: L2Advertisement
+metadata:
+  name: advertise-all
+  namespace: metallb-system
diff --git a/infrastructure/metallb/release.yaml b/infrastructure/metallb/release.yaml
index 58fe8eee1..99af77b7d 100644
--- a/infrastructure/metallb/release.yaml
+++ b/infrastructure/metallb/release.yaml
@@ -12,19 +12,29 @@ spec:
         kind: HelmRepository
         name: metallb
         namespace: metallb-system
-      version: 0.12.1
+      version: 0.13.5
   interval: 5m
   install:
     crds: CreateReplace
   upgrade:
     crds: CreateReplace
   values:
-    configInline:
-      address-pools:
-      - name: default
-        protocol: layer2
-        addresses:
-        - 192.168.100.128/26
+  valuesFrom:
+    - kind: ConfigMap
+      name: metallb-base-values
+      valuesKey: values.yaml
+    - kind: Secret
+      name: metallb-override-values
+      valuesKey: values-overrides.yaml
+      optional: true
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: metallb-base-values
+  namespace: metallb-system
+data:
+  values.yaml: |
     prometheus:
       podMonitor:
         enabled: true
-- 
GitLab