diff --git a/src/src/clusters/dummy/infrastructure/flux/flux.yaml b/src/src/clusters/dummy/infrastructure/flux/flux.yaml new file mode 100644 index 0000000..34d1901 --- /dev/null +++ b/src/src/clusters/dummy/infrastructure/flux/flux.yaml @@ -0,0 +1,22 @@ +# Create flux Kustomization +apiVersion: kustomize.toolkit.fluxcd.io/v1 +kind: Kustomization +metadata: + name: flux +spec: + # Path inside repository to a directory containing Kustomization files + path: src/clusters/dummy/infrastructure/flux/kustomize + # Apply patches for common configurations + # This key always needs to be here for patching to work + patches: + # Set target namespace + - target: + group: kustomize.toolkit.fluxcd.io + kind: Kustomization + name: .* + patch: |- + kind: . + metadata: + name: . + spec: + targetNamespace: flux-system diff --git a/src/src/clusters/dummy/infrastructure/flux/kustomize/flux-namespace/flux-namespace.yaml b/src/src/clusters/dummy/infrastructure/flux/kustomize/flux-namespace/flux-namespace.yaml new file mode 100644 index 0000000..d0309f6 --- /dev/null +++ b/src/src/clusters/dummy/infrastructure/flux/kustomize/flux-namespace/flux-namespace.yaml @@ -0,0 +1,10 @@ +# Create flux-namespace Kustomization +apiVersion: kustomize.toolkit.fluxcd.io/v1 +kind: Kustomization +metadata: + name: flux-namespace +spec: + # Path inside repository to a directory containing Kustomization files + path: src/clusters/dummy/infrastructure/flux/kustomize/flux-namespace/kustomize + # This key always needs to be here for patching to work + patches: [] diff --git a/src/src/clusters/dummy/infrastructure/flux/kustomize/flux-namespace/kustomize/kustomization.yaml b/src/src/clusters/dummy/infrastructure/flux/kustomize/flux-namespace/kustomize/kustomization.yaml new file mode 100644 index 0000000..ea213a0 --- /dev/null +++ b/src/src/clusters/dummy/infrastructure/flux/kustomize/flux-namespace/kustomize/kustomization.yaml @@ -0,0 +1,6 @@ +# Create flux-namespace Kustomization +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +# Include the following resources +resources: + - resources/namespace.yaml diff --git a/src/src/clusters/dummy/infrastructure/flux/kustomize/flux-namespace/kustomize/resources/namespace.yaml b/src/src/clusters/dummy/infrastructure/flux/kustomize/flux-namespace/kustomize/resources/namespace.yaml new file mode 100644 index 0000000..6fc6f95 --- /dev/null +++ b/src/src/clusters/dummy/infrastructure/flux/kustomize/flux-namespace/kustomize/resources/namespace.yaml @@ -0,0 +1,5 @@ +# Create flux-system namespace +apiVersion: v1 +kind: Namespace +metadata: + name: flux-system diff --git a/src/src/clusters/dummy/infrastructure/flux/kustomize/kustomization.yaml b/src/src/clusters/dummy/infrastructure/flux/kustomize/kustomization.yaml new file mode 100644 index 0000000..5da39d4 --- /dev/null +++ b/src/src/clusters/dummy/infrastructure/flux/kustomize/kustomization.yaml @@ -0,0 +1,6 @@ +# Create flux Kustomization +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +# Include the following resources +resources: + - flux-namespace/flux-namespace.yaml diff --git a/src/src/clusters/dummy/infrastructure/kustomization.yaml b/src/src/clusters/dummy/infrastructure/kustomization.yaml index 116b689..58d7a4c 100644 --- a/src/src/clusters/dummy/infrastructure/kustomization.yaml +++ b/src/src/clusters/dummy/infrastructure/kustomization.yaml @@ -3,6 +3,7 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization # Include the following resources resources: + - flux/flux.yaml - metrics/metrics.yaml # Apply patches for common configurations patches: diff --git a/src/src/clusters/dummy/kustomization.yaml b/src/src/clusters/dummy/kustomization.yaml index 9841101..dff4cbf 100644 --- a/src/src/clusters/dummy/kustomization.yaml +++ b/src/src/clusters/dummy/kustomization.yaml @@ -129,8 +129,11 @@ patches: mode: enabled interval: 5m install: + crds: CreateReplace remediation: retries: 3 upgrade: + cleanupOnFail: true + crds: CreateReplace remediation: retries: 3 diff --git a/src/tests/clusters/ci/dummy/apps/kustomization.yaml b/src/tests/clusters/dummy/apps/kustomization.yaml similarity index 100% rename from src/tests/clusters/ci/dummy/apps/kustomization.yaml rename to src/tests/clusters/dummy/apps/kustomization.yaml diff --git a/src/tests/clusters/ci/dummy/apps/podinfo/kustomize/kustomization.yaml b/src/tests/clusters/dummy/apps/podinfo/kustomize/kustomization.yaml similarity index 100% rename from src/tests/clusters/ci/dummy/apps/podinfo/kustomize/kustomization.yaml rename to src/tests/clusters/dummy/apps/podinfo/kustomize/kustomization.yaml diff --git a/src/tests/clusters/ci/dummy/apps/podinfo/kustomize/podinfo-helm/kustomize/kustomization.yaml b/src/tests/clusters/dummy/apps/podinfo/kustomize/podinfo-helm/kustomize/kustomization.yaml similarity index 53% rename from src/tests/clusters/ci/dummy/apps/podinfo/kustomize/podinfo-helm/kustomize/kustomization.yaml rename to src/tests/clusters/dummy/apps/podinfo/kustomize/podinfo-helm/kustomize/kustomization.yaml index 9712762..8ffc6b0 100644 --- a/src/tests/clusters/ci/dummy/apps/podinfo/kustomize/podinfo-helm/kustomize/kustomization.yaml +++ b/src/tests/clusters/dummy/apps/podinfo/kustomize/podinfo-helm/kustomize/kustomization.yaml @@ -2,4 +2,4 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: - - ../../../../../../../../../src/clusters/dummy/apps/podinfo/kustomize/podinfo-helm/kustomize + - ../../../../../../../../src/clusters/dummy/apps/podinfo/kustomize/podinfo-helm/kustomize diff --git a/src/tests/clusters/ci/dummy/apps/podinfo/kustomize/podinfo-helm/podinfo-helm.yaml b/src/tests/clusters/dummy/apps/podinfo/kustomize/podinfo-helm/podinfo-helm.yaml similarity index 81% rename from src/tests/clusters/ci/dummy/apps/podinfo/kustomize/podinfo-helm/podinfo-helm.yaml rename to src/tests/clusters/dummy/apps/podinfo/kustomize/podinfo-helm/podinfo-helm.yaml index 248d65b..d3f9533 100644 --- a/src/tests/clusters/ci/dummy/apps/podinfo/kustomize/podinfo-helm/podinfo-helm.yaml +++ b/src/tests/clusters/dummy/apps/podinfo/kustomize/podinfo-helm/podinfo-helm.yaml @@ -5,7 +5,7 @@ metadata: name: podinfo-helm spec: # Path inside repository to a directory containing Kustomization files - path: tests/clusters/ci/dummy/apps/podinfo/kustomize/podinfo-helm/kustomize + path: tests/clusters/dummy/apps/podinfo/kustomize/podinfo-helm/kustomize dependsOn: # Deploy namespace first - name: podinfo-namespace diff --git a/src/tests/clusters/ci/dummy/apps/podinfo/kustomize/podinfo-namespace/kustomize/kustomization.yaml b/src/tests/clusters/dummy/apps/podinfo/kustomize/podinfo-namespace/kustomize/kustomization.yaml similarity index 53% rename from src/tests/clusters/ci/dummy/apps/podinfo/kustomize/podinfo-namespace/kustomize/kustomization.yaml rename to src/tests/clusters/dummy/apps/podinfo/kustomize/podinfo-namespace/kustomize/kustomization.yaml index bf00bcd..f966a06 100644 --- a/src/tests/clusters/ci/dummy/apps/podinfo/kustomize/podinfo-namespace/kustomize/kustomization.yaml +++ b/src/tests/clusters/dummy/apps/podinfo/kustomize/podinfo-namespace/kustomize/kustomization.yaml @@ -2,4 +2,4 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: - - ../../../../../../../../../src/clusters/dummy/apps/podinfo/kustomize/podinfo-namespace/kustomize + - ../../../../../../../../src/clusters/dummy/apps/podinfo/kustomize/podinfo-namespace/kustomize diff --git a/src/tests/clusters/ci/dummy/apps/podinfo/kustomize/podinfo-namespace/podinfo-namespace.yaml b/src/tests/clusters/dummy/apps/podinfo/kustomize/podinfo-namespace/podinfo-namespace.yaml similarity index 77% rename from src/tests/clusters/ci/dummy/apps/podinfo/kustomize/podinfo-namespace/podinfo-namespace.yaml rename to src/tests/clusters/dummy/apps/podinfo/kustomize/podinfo-namespace/podinfo-namespace.yaml index 89f3ca7..8ed8d21 100644 --- a/src/tests/clusters/ci/dummy/apps/podinfo/kustomize/podinfo-namespace/podinfo-namespace.yaml +++ b/src/tests/clusters/dummy/apps/podinfo/kustomize/podinfo-namespace/podinfo-namespace.yaml @@ -5,6 +5,6 @@ metadata: name: podinfo-namespace spec: # Path inside repository to a directory containing Kustomization files - path: tests/clusters/ci/dummy/apps/podinfo/kustomize/podinfo-namespace/kustomize + path: tests/clusters/dummy/apps/podinfo/kustomize/podinfo-namespace/kustomize # This key always needs to be here for patching to work patches: [] diff --git a/src/tests/clusters/ci/dummy/apps/podinfo/podinfo.yaml b/src/tests/clusters/dummy/apps/podinfo/podinfo.yaml similarity index 91% rename from src/tests/clusters/ci/dummy/apps/podinfo/podinfo.yaml rename to src/tests/clusters/dummy/apps/podinfo/podinfo.yaml index 1112c2f..79f30d2 100644 --- a/src/tests/clusters/ci/dummy/apps/podinfo/podinfo.yaml +++ b/src/tests/clusters/dummy/apps/podinfo/podinfo.yaml @@ -5,7 +5,7 @@ metadata: name: podinfo spec: # Path inside repository to a directory containing Kustomization files - path: tests/clusters/ci/dummy/apps/podinfo/kustomize + path: tests/clusters/dummy/apps/podinfo/kustomize # Apply patches for common configurations # This key always needs to be here for patching to work patches: diff --git a/src/tests/clusters/dummy/infrastructure/flux/flux.yaml b/src/tests/clusters/dummy/infrastructure/flux/flux.yaml new file mode 100644 index 0000000..0c7140f --- /dev/null +++ b/src/tests/clusters/dummy/infrastructure/flux/flux.yaml @@ -0,0 +1,22 @@ +# Create flux Kustomization +apiVersion: kustomize.toolkit.fluxcd.io/v1 +kind: Kustomization +metadata: + name: flux +spec: + # Path inside repository to a directory containing Kustomization files + path: tests/clusters/dummy/infrastructure/flux/kustomize + # Apply patches for common configurations + # This key always needs to be here for patching to work + patches: + # Set target namespace + - target: + group: kustomize.toolkit.fluxcd.io + kind: Kustomization + name: .* + patch: |- + kind: . + metadata: + name: . + spec: + targetNamespace: flux-system diff --git a/src/tests/clusters/dummy/infrastructure/flux/kustomize/flux-namespace/flux-namespace.yaml b/src/tests/clusters/dummy/infrastructure/flux/kustomize/flux-namespace/flux-namespace.yaml new file mode 100644 index 0000000..f0b6cd3 --- /dev/null +++ b/src/tests/clusters/dummy/infrastructure/flux/kustomize/flux-namespace/flux-namespace.yaml @@ -0,0 +1,10 @@ +# Create flux-namespace Kustomization +apiVersion: kustomize.toolkit.fluxcd.io/v1 +kind: Kustomization +metadata: + name: flux-namespace +spec: + # Path inside repository to a directory containing Kustomization files + path: tests/clusters/dummy/infrastructure/flux/kustomize/flux-namespace/kustomize + # This key always needs to be here for patching to work + patches: [] diff --git a/src/tests/clusters/dummy/infrastructure/flux/kustomize/flux-namespace/kustomize/kustomization.yaml b/src/tests/clusters/dummy/infrastructure/flux/kustomize/flux-namespace/kustomize/kustomization.yaml new file mode 100644 index 0000000..4eb212a --- /dev/null +++ b/src/tests/clusters/dummy/infrastructure/flux/kustomize/flux-namespace/kustomize/kustomization.yaml @@ -0,0 +1,5 @@ +# Overlay flux-namespace Kustomization +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - ../../../../../../../../src/clusters/dummy/infrastructure/flux/kustomize/flux-namespace/kustomize diff --git a/src/tests/clusters/dummy/infrastructure/flux/kustomize/kustomization.yaml b/src/tests/clusters/dummy/infrastructure/flux/kustomize/kustomization.yaml new file mode 100644 index 0000000..5da39d4 --- /dev/null +++ b/src/tests/clusters/dummy/infrastructure/flux/kustomize/kustomization.yaml @@ -0,0 +1,6 @@ +# Create flux Kustomization +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +# Include the following resources +resources: + - flux-namespace/flux-namespace.yaml diff --git a/src/tests/clusters/ci/dummy/infrastructure/kustomization.yaml b/src/tests/clusters/dummy/infrastructure/kustomization.yaml similarity index 99% rename from src/tests/clusters/ci/dummy/infrastructure/kustomization.yaml rename to src/tests/clusters/dummy/infrastructure/kustomization.yaml index 116b689..58d7a4c 100644 --- a/src/tests/clusters/ci/dummy/infrastructure/kustomization.yaml +++ b/src/tests/clusters/dummy/infrastructure/kustomization.yaml @@ -3,6 +3,7 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization # Include the following resources resources: + - flux/flux.yaml - metrics/metrics.yaml # Apply patches for common configurations patches: diff --git a/src/tests/clusters/ci/dummy/infrastructure/metrics/kustomize/kustomization.yaml b/src/tests/clusters/dummy/infrastructure/metrics/kustomize/kustomization.yaml similarity index 100% rename from src/tests/clusters/ci/dummy/infrastructure/metrics/kustomize/kustomization.yaml rename to src/tests/clusters/dummy/infrastructure/metrics/kustomize/kustomization.yaml diff --git a/src/tests/clusters/ci/dummy/infrastructure/metrics/kustomize/metrics-helm/kustomize/kustomization.yaml b/src/tests/clusters/dummy/infrastructure/metrics/kustomize/metrics-helm/kustomize/kustomization.yaml similarity index 51% rename from src/tests/clusters/ci/dummy/infrastructure/metrics/kustomize/metrics-helm/kustomize/kustomization.yaml rename to src/tests/clusters/dummy/infrastructure/metrics/kustomize/metrics-helm/kustomize/kustomization.yaml index 61a576e..b220b58 100644 --- a/src/tests/clusters/ci/dummy/infrastructure/metrics/kustomize/metrics-helm/kustomize/kustomization.yaml +++ b/src/tests/clusters/dummy/infrastructure/metrics/kustomize/metrics-helm/kustomize/kustomization.yaml @@ -2,4 +2,4 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: - - ../../../../../../../../../src/clusters/dummy/infrastructure/metrics/kustomize/metrics-helm/kustomize + - ../../../../../../../../src/clusters/dummy/infrastructure/metrics/kustomize/metrics-helm/kustomize diff --git a/src/tests/clusters/ci/dummy/infrastructure/metrics/kustomize/metrics-helm/metrics-helm.yaml b/src/tests/clusters/dummy/infrastructure/metrics/kustomize/metrics-helm/metrics-helm.yaml similarity index 87% rename from src/tests/clusters/ci/dummy/infrastructure/metrics/kustomize/metrics-helm/metrics-helm.yaml rename to src/tests/clusters/dummy/infrastructure/metrics/kustomize/metrics-helm/metrics-helm.yaml index 95c336c..2b6717a 100644 --- a/src/tests/clusters/ci/dummy/infrastructure/metrics/kustomize/metrics-helm/metrics-helm.yaml +++ b/src/tests/clusters/dummy/infrastructure/metrics/kustomize/metrics-helm/metrics-helm.yaml @@ -5,7 +5,7 @@ metadata: name: metrics-helm spec: # Path inside repository to a directory containing Kustomization files - path: tests/clusters/ci/dummy/infrastructure/metrics/kustomize/metrics-helm/kustomize + path: tests/clusters/dummy/infrastructure/metrics/kustomize/metrics-helm/kustomize dependsOn: # Deploy namespace first - name: metrics-namespace diff --git a/src/tests/clusters/ci/dummy/infrastructure/metrics/kustomize/metrics-namespace/kustomize/kustomization.yaml b/src/tests/clusters/dummy/infrastructure/metrics/kustomize/metrics-namespace/kustomize/kustomization.yaml similarity index 51% rename from src/tests/clusters/ci/dummy/infrastructure/metrics/kustomize/metrics-namespace/kustomize/kustomization.yaml rename to src/tests/clusters/dummy/infrastructure/metrics/kustomize/metrics-namespace/kustomize/kustomization.yaml index 8f86e33..103b7c4 100644 --- a/src/tests/clusters/ci/dummy/infrastructure/metrics/kustomize/metrics-namespace/kustomize/kustomization.yaml +++ b/src/tests/clusters/dummy/infrastructure/metrics/kustomize/metrics-namespace/kustomize/kustomization.yaml @@ -2,4 +2,4 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: - - ../../../../../../../../../src/clusters/dummy/infrastructure/metrics/kustomize/metrics-namespace/kustomize + - ../../../../../../../../src/clusters/dummy/infrastructure/metrics/kustomize/metrics-namespace/kustomize diff --git a/src/tests/clusters/ci/dummy/infrastructure/metrics/kustomize/metrics-namespace/metrics-namespace.yaml b/src/tests/clusters/dummy/infrastructure/metrics/kustomize/metrics-namespace/metrics-namespace.yaml similarity index 75% rename from src/tests/clusters/ci/dummy/infrastructure/metrics/kustomize/metrics-namespace/metrics-namespace.yaml rename to src/tests/clusters/dummy/infrastructure/metrics/kustomize/metrics-namespace/metrics-namespace.yaml index 1e7d448..a05058c 100644 --- a/src/tests/clusters/ci/dummy/infrastructure/metrics/kustomize/metrics-namespace/metrics-namespace.yaml +++ b/src/tests/clusters/dummy/infrastructure/metrics/kustomize/metrics-namespace/metrics-namespace.yaml @@ -5,6 +5,6 @@ metadata: name: metrics-namespace spec: # Path inside repository to a directory containing Kustomization files - path: tests/clusters/ci/dummy/infrastructure/metrics/kustomize/metrics-namespace/kustomize + path: tests/clusters/dummy/infrastructure/metrics/kustomize/metrics-namespace/kustomize # This key always needs to be here for patching to work patches: [] diff --git a/src/tests/clusters/ci/dummy/infrastructure/metrics/metrics.yaml b/src/tests/clusters/dummy/infrastructure/metrics/metrics.yaml similarity index 89% rename from src/tests/clusters/ci/dummy/infrastructure/metrics/metrics.yaml rename to src/tests/clusters/dummy/infrastructure/metrics/metrics.yaml index bbbe4ca..a5b1359 100644 --- a/src/tests/clusters/ci/dummy/infrastructure/metrics/metrics.yaml +++ b/src/tests/clusters/dummy/infrastructure/metrics/metrics.yaml @@ -5,7 +5,7 @@ metadata: name: metrics spec: # Path inside repository to a directory containing Kustomization files - path: tests/clusters/ci/dummy/infrastructure/metrics/kustomize + path: tests/clusters/dummy/infrastructure/metrics/kustomize # Apply patches for common configurations # This key always needs to be here for patching to work patches: diff --git a/src/tests/clusters/ci/dummy/kustomization.yaml b/src/tests/clusters/dummy/kustomization.yaml similarity index 96% rename from src/tests/clusters/ci/dummy/kustomization.yaml rename to src/tests/clusters/dummy/kustomization.yaml index 6ad4860..1d6db26 100644 --- a/src/tests/clusters/ci/dummy/kustomization.yaml +++ b/src/tests/clusters/dummy/kustomization.yaml @@ -125,8 +125,11 @@ patches: mode: enabled interval: 1m install: + crds: CreateReplace remediation: retries: 3 upgrade: + cleanupOnFail: true + crds: CreateReplace remediation: retries: 3 diff --git a/src/{% if true %}.github{% endif %}/workflows/test.yaml b/src/{% if true %}.github{% endif %}/workflows/test.yaml index ff5f412..b37eb82 100644 --- a/src/{% if true %}.github{% endif %}/workflows/test.yaml +++ b/src/{% if true %}.github{% endif %}/workflows/test.yaml @@ -57,15 +57,15 @@ jobs: cluster_name: ${{ matrix.cluster }} kubectl_version: v1.33.3 - name: Setup Flux - uses: fluxcd/flux2/action@v2.5.1 + uses: fluxcd/flux2/action@v2.8.7 with: - version: v2.5.1 + version: v2.8.7 - name: Install Flux in cluster run: >- flux install --version - v2.5.1 + v2.8.7 - name: Add source to Flux run: >- flux @@ -92,7 +92,7 @@ jobs: --source main --path - 'tests/clusters/ci/${{ matrix.cluster }}' + 'tests/clusters/${{ matrix.cluster }}' --wait --timeout 20m