diff --git a/argocd-apps/homelab.yaml b/argocd-apps/homelab.yaml index 4cd65f9..e0d2731 100644 --- a/argocd-apps/homelab.yaml +++ b/argocd-apps/homelab.yaml @@ -993,4 +993,28 @@ spec: syncOptions: - CreateNamespace=true - ServerSideApply=true +--- +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: infrastructure + namespace: argocd + finalizers: + - resources-finalizer.argocd.argoproj.io +spec: + project: homelab + source: + repoURL: https://gitea.dooplex.hu/admin/homelab-manifests.git + targetRevision: main + path: infra + destination: + server: https://kubernetes.default.svc + namespace: infra + syncPolicy: + automated: + prune: true + selfHeal: true + syncOptions: + - CreateNamespace=true + - ServerSideApply=true --- \ No newline at end of file diff --git a/infra/IPAddressPool_public-pool_metallb-system.yaml b/infra/IPAddressPool_public-pool_metallb-system.yaml new file mode 100644 index 0000000..c6763a7 --- /dev/null +++ b/infra/IPAddressPool_public-pool_metallb-system.yaml @@ -0,0 +1,30 @@ +# MetalLB IP Address Pool for Public Services +# This creates a dedicated pool for the public-facing ingress controller +# +# IMPORTANT: Adjust the IP address based on your network! +# This assumes your existing pool is 192.168.0.200-192.168.0.220 +# We're using 192.168.0.221 as a dedicated public IP +# +# Apply with: kubectl apply -f metallb-public-pool.yaml +--- +apiVersion: metallb.io/v1beta1 +kind: IPAddressPool +metadata: + name: public-pool + namespace: metallb-system +spec: + addresses: + # Single IP dedicated to public ingress + # Adjust this to an available IP in your network! + - 192.168.0.221/32 + # Prevent auto-assignment - only explicit requests get this IP + autoAssign: false +--- +apiVersion: metallb.io/v1beta1 +kind: L2Advertisement +metadata: + name: public-l2-advertisement + namespace: metallb-system +spec: + ipAddressPools: + - public-pool \ No newline at end of file