diff --git a/progressiveSync/applicationset.yaml b/progressiveSync/applicationset.yaml new file mode 100644 index 0000000000..12dbab64d5 --- /dev/null +++ b/progressiveSync/applicationset.yaml @@ -0,0 +1,65 @@ +apiVersion: argoproj.io/v1alpha1 +kind: ApplicationSet +metadata: + name: apps-rolling-sync + namespace: argocd +spec: + goTemplate: true + goTemplateOptions: [ "missingkey=error" ] + generators: + - list: + elements: + - name: helm-guestbook + env: dev + - name: helm-hooks + env: dev + - name: kustomize-guestbook + env: qa + - name: sync-waves + env: qa + - name: guestbook + env: prod + - name: sock-shop + env: prod + strategy: + type: RollingSync + rollingSync: + steps: + - matchExpressions: + - key: env + operator: In + values: + - dev + maxUpdate: 1 + - matchExpressions: + - key: env + operator: In + values: + - qa + maxUpdate: 2 + - matchExpressions: + - key: env + operator: In + values: + - prod + maxUpdate: 1 + template: + metadata: + name: '{{.name}}-{{.env}}' + labels: + env: '{{.env}}' + spec: + project: default + source: + path: '{{.name}}' + repoURL: https://github.com/argoproj/argocd-example-apps + targetRevision: HEAD + destination: + server: https://kubernetes.default.svc + namespace: '{{.name}}' + syncPolicy: + automated: + prune: true + selfHeal: true + syncOptions: + - RollingSync=true diff --git a/progressiveSync/namespaces.yaml b/progressiveSync/namespaces.yaml new file mode 100644 index 0000000000..60877fb834 --- /dev/null +++ b/progressiveSync/namespaces.yaml @@ -0,0 +1,48 @@ +--- +apiVersion: v1 +kind: Namespace +metadata: + name: helm-guestbook + labels: + app.kubernetes.io/name: helm-guestbook + app.kubernetes.io/part-of: argocd-example-apps +--- +apiVersion: v1 +kind: Namespace +metadata: + name: helm-hooks + labels: + app.kubernetes.io/name: helm-hooks + app.kubernetes.io/part-of: argocd-example-apps +--- +apiVersion: v1 +kind: Namespace +metadata: + name: kustomize-guestbook + labels: + app.kubernetes.io/name: kustomize-guestbook + app.kubernetes.io/part-of: argocd-example-apps +--- +apiVersion: v1 +kind: Namespace +metadata: + name: sync-waves + labels: + app.kubernetes.io/name: sync-waves + app.kubernetes.io/part-of: argocd-example-apps +--- +apiVersion: v1 +kind: Namespace +metadata: + name: guestbook + labels: + app.kubernetes.io/name: guestbook + app.kubernetes.io/part-of: argocd-example-apps +--- +apiVersion: v1 +kind: Namespace +metadata: + name: sock-shop + labels: + app.kubernetes.io/name: sock-shop + app.kubernetes.io/part-of: argocd-example-apps