diff --git a/kubernetes/infrastructure/configs/metallb/ipaddresspool.yaml b/kubernetes/infrastructure/configs/metallb/ipaddresspool.yaml new file mode 100644 index 0000000..906fe1d --- /dev/null +++ b/kubernetes/infrastructure/configs/metallb/ipaddresspool.yaml @@ -0,0 +1,17 @@ +apiVersion: metallb.io/v1beta1 +kind: IPAddressPool +metadata: + name: homelab + namespace: metallb-system +spec: + addresses: + - 10.127.1.200-10.127.1.249 +--- +apiVersion: metallb.io/v1beta1 +kind: L2Advertisement +metadata: + name: homelab + namespace: metallb-system +spec: + ipAddressPools: + - homelab diff --git a/kubernetes/infrastructure/controllers/metallb/namespace.yaml b/kubernetes/infrastructure/controllers/metallb/namespace.yaml new file mode 100644 index 0000000..fccf53b --- /dev/null +++ b/kubernetes/infrastructure/controllers/metallb/namespace.yaml @@ -0,0 +1,6 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: metallb-system + labels: + pod-security.kubernetes.io/enforce: privileged diff --git a/kubernetes/infrastructure/controllers/metallb/release.yaml b/kubernetes/infrastructure/controllers/metallb/release.yaml new file mode 100644 index 0000000..7b307d0 --- /dev/null +++ b/kubernetes/infrastructure/controllers/metallb/release.yaml @@ -0,0 +1,20 @@ +apiVersion: helm.toolkit.fluxcd.io/v2 +kind: HelmRelease +metadata: + name: metallb + namespace: flux-system +spec: + chart: + spec: + chart: metallb + version: 0.15.3 + reconcileStrategy: ChartVersion + sourceRef: + kind: HelmRepository + name: metallb + namespace: flux-system + targetNamespace: metallb-system + interval: 1m0s + values: + speaker: + ignoreExcludeLB: true diff --git a/kubernetes/infrastructure/controllers/metallb/repository.yaml b/kubernetes/infrastructure/controllers/metallb/repository.yaml new file mode 100644 index 0000000..c4ac03d --- /dev/null +++ b/kubernetes/infrastructure/controllers/metallb/repository.yaml @@ -0,0 +1,8 @@ +apiVersion: source.toolkit.fluxcd.io/v1 +kind: HelmRepository +metadata: + name: metallb + namespace: flux-system +spec: + interval: 1m0s + url: https://metallb.github.io/metallb