From ae7eca278a5f2b7b3141196fafe466d9f7cc754c Mon Sep 17 00:00:00 2001 From: ytshih Date: Fri, 18 Apr 2025 22:18:47 +0800 Subject: [PATCH] Feat(traefik): add test zone --- flux-infrastructures/traefik.yaml | 16 +++++++++++++++- metallb-system/crd-resources/kustomization.yaml | 3 ++- .../crd-resources/l2advertisement.yaml | 3 ++- .../{ipaddresspool.yaml => pool.prod.yaml} | 4 ++-- metallb-system/crd-resources/pool.test.yaml | 8 ++++++++ traefik-system/{ => base}/helmrelease.yaml | 0 traefik-system/base/kustomization.yaml | 9 +++++++++ traefik-system/{ => base}/namespace.yaml | 0 .../{ => overlays/prod}/kustomization.yaml | 5 ++--- traefik-system/{ => overlays/prod}/values.yaml | 6 ++++++ traefik-system/overlays/test/kustomization.yaml | 12 ++++++++++++ traefik-system/overlays/test/values.yaml | 11 +++++++++++ 12 files changed, 69 insertions(+), 8 deletions(-) rename metallb-system/crd-resources/{ipaddresspool.yaml => pool.prod.yaml} (62%) create mode 100644 metallb-system/crd-resources/pool.test.yaml rename traefik-system/{ => base}/helmrelease.yaml (100%) create mode 100644 traefik-system/base/kustomization.yaml rename traefik-system/{ => base}/namespace.yaml (100%) rename traefik-system/{ => overlays/prod}/kustomization.yaml (75%) rename traefik-system/{ => overlays/prod}/values.yaml (62%) create mode 100644 traefik-system/overlays/test/kustomization.yaml create mode 100644 traefik-system/overlays/test/values.yaml diff --git a/flux-infrastructures/traefik.yaml b/flux-infrastructures/traefik.yaml index 081bee6..7a11540 100644 --- a/flux-infrastructures/traefik.yaml +++ b/flux-infrastructures/traefik.yaml @@ -6,7 +6,21 @@ metadata: namespace: flux-system spec: interval: 10m0s - path: ./traefik-system/ + path: ./traefik-system/overlays/prod + prune: true + force: false + sourceRef: + kind: GitRepository + name: infrastructures +--- +apiVersion: kustomize.toolkit.fluxcd.io/v1 +kind: Kustomization +metadata: + name: traefik + namespace: flux-system +spec: + interval: 10m0s + path: ./traefik-system/overlays/test prune: true force: false sourceRef: diff --git a/metallb-system/crd-resources/kustomization.yaml b/metallb-system/crd-resources/kustomization.yaml index 1fc8867..a63e034 100644 --- a/metallb-system/crd-resources/kustomization.yaml +++ b/metallb-system/crd-resources/kustomization.yaml @@ -6,4 +6,5 @@ generatorOptions: disableNameSuffixHash: true resources: - l2advertisement.yaml - - ipaddresspool.yaml + - pool.prod.yaml + - pool.test.yaml diff --git a/metallb-system/crd-resources/l2advertisement.yaml b/metallb-system/crd-resources/l2advertisement.yaml index 27c088e..0101ef9 100644 --- a/metallb-system/crd-resources/l2advertisement.yaml +++ b/metallb-system/crd-resources/l2advertisement.yaml @@ -5,4 +5,5 @@ metadata: name: advertisement spec: ipAddressPools: - - first-pool + - prod-pool + - test-pool diff --git a/metallb-system/crd-resources/ipaddresspool.yaml b/metallb-system/crd-resources/pool.prod.yaml similarity index 62% rename from metallb-system/crd-resources/ipaddresspool.yaml rename to metallb-system/crd-resources/pool.prod.yaml index fc9333d..ef4c4b9 100644 --- a/metallb-system/crd-resources/ipaddresspool.yaml +++ b/metallb-system/crd-resources/pool.prod.yaml @@ -2,7 +2,7 @@ apiVersion: metallb.io/v1beta1 kind: IPAddressPool metadata: - name: first-pool + name: prod-pool spec: addresses: - - 172.20.10.80-172.20.10.89 + - 172.20.10.80 diff --git a/metallb-system/crd-resources/pool.test.yaml b/metallb-system/crd-resources/pool.test.yaml new file mode 100644 index 0000000..ef4c4b9 --- /dev/null +++ b/metallb-system/crd-resources/pool.test.yaml @@ -0,0 +1,8 @@ +--- +apiVersion: metallb.io/v1beta1 +kind: IPAddressPool +metadata: + name: prod-pool +spec: + addresses: + - 172.20.10.80 diff --git a/traefik-system/helmrelease.yaml b/traefik-system/base/helmrelease.yaml similarity index 100% rename from traefik-system/helmrelease.yaml rename to traefik-system/base/helmrelease.yaml diff --git a/traefik-system/base/kustomization.yaml b/traefik-system/base/kustomization.yaml new file mode 100644 index 0000000..ff3cdd4 --- /dev/null +++ b/traefik-system/base/kustomization.yaml @@ -0,0 +1,9 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +namespace: traefik-system +generatorOptions: + disableNameSuffixHash: true +resources: + - namespace.yaml + - helmrelease.yaml diff --git a/traefik-system/namespace.yaml b/traefik-system/base/namespace.yaml similarity index 100% rename from traefik-system/namespace.yaml rename to traefik-system/base/namespace.yaml diff --git a/traefik-system/kustomization.yaml b/traefik-system/overlays/prod/kustomization.yaml similarity index 75% rename from traefik-system/kustomization.yaml rename to traefik-system/overlays/prod/kustomization.yaml index 772d358..9219212 100644 --- a/traefik-system/kustomization.yaml +++ b/traefik-system/overlays/prod/kustomization.yaml @@ -1,12 +1,11 @@ --- apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization -namespace: traefik-system +namespace: traefik-prod generatorOptions: disableNameSuffixHash: true resources: - - namespace.yaml - - helmrelease.yaml + - ../../base/ configMapGenerator: - name: traefik-values files: diff --git a/traefik-system/values.yaml b/traefik-system/overlays/prod/values.yaml similarity index 62% rename from traefik-system/values.yaml rename to traefik-system/overlays/prod/values.yaml index 8a6396f..2259c4c 100644 --- a/traefik-system/values.yaml +++ b/traefik-system/overlays/prod/values.yaml @@ -1,4 +1,10 @@ --- +ingressClass: + enabled: true + isDefaultClass: true + name: traefik-prod +service.annotations: + metallb.universe.tf/loadBalancerIPs: 172.20.10.80 additionalArguments: - "--providers.kubernetesingress.ingressendpoint.publishedservice=traefik-system/traefik" - "--entryPoints.web.forwardedHeaders.trustedIPs=172.20.0.0/16" diff --git a/traefik-system/overlays/test/kustomization.yaml b/traefik-system/overlays/test/kustomization.yaml new file mode 100644 index 0000000..ebe9f16 --- /dev/null +++ b/traefik-system/overlays/test/kustomization.yaml @@ -0,0 +1,12 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +namespace: traefik-test +generatorOptions: + disableNameSuffixHash: true +resources: + - ../../base/ +configMapGenerator: + - name: traefik-values + files: + - values.yaml diff --git a/traefik-system/overlays/test/values.yaml b/traefik-system/overlays/test/values.yaml new file mode 100644 index 0000000..d2309f3 --- /dev/null +++ b/traefik-system/overlays/test/values.yaml @@ -0,0 +1,11 @@ +--- +ingressClass: + enabled: true + isDefaultClass: false + name: traefik-test +service.annotations: + metallb.universe.tf/loadBalancerIPs: 172.20.10.81 +additionalArguments: + - "--providers.kubernetesingress.ingressendpoint.publishedservice=traefik-system/traefik" + - "--entryPoints.web.forwardedHeaders.trustedIPs=172.20.0.0/16" + - "--entryPoints.web.proxyProtocol.trustedIPs=172.20.0.0/16"