diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 00000000..7dc4e221 Binary files /dev/null and b/.DS_Store differ diff --git a/README.md b/README.md index 82505336..d7781a73 100644 --- a/README.md +++ b/README.md @@ -3,3 +3,10 @@ Codefresh GitOps Certification examples - Level 3 - GitOps Enterprise This repository contains examples for the ArgoCD/GitOps certification workshops (Level 3) Take the certification yourself at [https://codefresh.io/courses/get-gitops-certified/](https://learning.codefresh.io/) + +"bad commit -test " + +"good commit" + +"bad commit" + diff --git a/argocd-apps-structure/.DS_Store b/argocd-apps-structure/.DS_Store new file mode 100644 index 00000000..baed5432 Binary files /dev/null and b/argocd-apps-structure/.DS_Store differ diff --git a/argocd-apps-structure/apps/.DS_Store b/argocd-apps-structure/apps/.DS_Store new file mode 100644 index 00000000..7a729582 Binary files /dev/null and b/argocd-apps-structure/apps/.DS_Store differ diff --git a/argocd-apps-structure/apps/billing/.DS_Store b/argocd-apps-structure/apps/billing/.DS_Store new file mode 100644 index 00000000..f17f9837 Binary files /dev/null and b/argocd-apps-structure/apps/billing/.DS_Store differ diff --git a/argocd-apps-structure/apps/billing/envs/.DS_Store b/argocd-apps-structure/apps/billing/envs/.DS_Store new file mode 100644 index 00000000..e5f2a07e Binary files /dev/null and b/argocd-apps-structure/apps/billing/envs/.DS_Store differ diff --git a/argocd-apps-structure/apps/billing/envs/qa/.DS_Store b/argocd-apps-structure/apps/billing/envs/qa/.DS_Store new file mode 100644 index 00000000..6973fdb3 Binary files /dev/null and b/argocd-apps-structure/apps/billing/envs/qa/.DS_Store differ diff --git a/argocd-apps-structure/apps/fake-invoices/envs/qa/deployment.yml b/argocd-apps-structure/apps/billing/envs/qa/deployment.yml similarity index 100% rename from argocd-apps-structure/apps/fake-invoices/envs/qa/deployment.yml rename to argocd-apps-structure/apps/billing/envs/qa/deployment.yml diff --git a/argocd-apps-structure/apps/payments/envs/prod-us/kustomization.yml b/argocd-apps-structure/apps/billing/envs/qa/kustomization.yml similarity index 100% rename from argocd-apps-structure/apps/payments/envs/prod-us/kustomization.yml rename to argocd-apps-structure/apps/billing/envs/qa/kustomization.yml diff --git a/argocd-apps-structure/apps/payments/envs/prod-us/deployment.yml b/argocd-apps-structure/apps/billing/envs/qa/prod-us/deployment.yml similarity index 100% rename from argocd-apps-structure/apps/payments/envs/prod-us/deployment.yml rename to argocd-apps-structure/apps/billing/envs/qa/prod-us/deployment.yml diff --git a/argocd-apps-structure/apps/fake-invoices/envs/qa/kustomization.yml b/argocd-apps-structure/apps/billing/envs/qa/prod-us/kustomization.yml similarity index 91% rename from argocd-apps-structure/apps/fake-invoices/envs/qa/kustomization.yml rename to argocd-apps-structure/apps/billing/envs/qa/prod-us/kustomization.yml index 83485073..40349214 100644 --- a/argocd-apps-structure/apps/fake-invoices/envs/qa/kustomization.yml +++ b/argocd-apps-structure/apps/billing/envs/qa/prod-us/kustomization.yml @@ -8,6 +8,6 @@ resources: patchesStrategicMerge: - deployment.yml - version.yml +- replicas.yml - settings.yml - diff --git a/argocd-apps-structure/apps/payments/envs/prod-us/replicas.yml b/argocd-apps-structure/apps/billing/envs/qa/prod-us/replicas.yml similarity index 100% rename from argocd-apps-structure/apps/payments/envs/prod-us/replicas.yml rename to argocd-apps-structure/apps/billing/envs/qa/prod-us/replicas.yml diff --git a/argocd-apps-structure/apps/payments/envs/prod-us/settings.yml b/argocd-apps-structure/apps/billing/envs/qa/prod-us/settings.yml similarity index 100% rename from argocd-apps-structure/apps/payments/envs/prod-us/settings.yml rename to argocd-apps-structure/apps/billing/envs/qa/prod-us/settings.yml diff --git a/argocd-apps-structure/apps/payments/envs/prod-us/version.yml b/argocd-apps-structure/apps/billing/envs/qa/prod-us/version.yml similarity index 100% rename from argocd-apps-structure/apps/payments/envs/prod-us/version.yml rename to argocd-apps-structure/apps/billing/envs/qa/prod-us/version.yml diff --git a/argocd-apps-structure/apps/billing/envs/qa/replicas.yml b/argocd-apps-structure/apps/billing/envs/qa/replicas.yml new file mode 100644 index 00000000..d7826456 --- /dev/null +++ b/argocd-apps-structure/apps/billing/envs/qa/replicas.yml @@ -0,0 +1,7 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: simple-deployment +spec: + replicas: 2 \ No newline at end of file diff --git a/argocd-apps-structure/apps/fake-invoices/envs/qa/settings.yml b/argocd-apps-structure/apps/billing/envs/qa/settings.yml similarity index 88% rename from argocd-apps-structure/apps/fake-invoices/envs/qa/settings.yml rename to argocd-apps-structure/apps/billing/envs/qa/settings.yml index 738a5bec..67c3ea38 100644 --- a/argocd-apps-structure/apps/fake-invoices/envs/qa/settings.yml +++ b/argocd-apps-structure/apps/billing/envs/qa/settings.yml @@ -10,9 +10,9 @@ spec: - name: webserver-simple env: - name: UI_THEME - value: "light" + value: "dark" - name: CACHE_SIZE - value: "2048kb" + value: "1024kb" - name: PAGE_LIMIT value: "25" - name: SORTING diff --git a/argocd-apps-structure/apps/invoices/envs/qa/version.yml b/argocd-apps-structure/apps/billing/envs/qa/version.yml similarity index 71% rename from argocd-apps-structure/apps/invoices/envs/qa/version.yml rename to argocd-apps-structure/apps/billing/envs/qa/version.yml index 51bc5350..0423d0fa 100644 --- a/argocd-apps-structure/apps/invoices/envs/qa/version.yml +++ b/argocd-apps-structure/apps/billing/envs/qa/version.yml @@ -8,4 +8,4 @@ spec: spec: containers: - name: webserver-simple - image: docker.io/kostiscodefresh/simple-env-app:1.0 + image: docker.io/kostiscodefresh/simple-env-app:2.0 diff --git a/argocd-apps-structure/apps/orders/.DS_Store b/argocd-apps-structure/apps/orders/.DS_Store new file mode 100644 index 00000000..f17f9837 Binary files /dev/null and b/argocd-apps-structure/apps/orders/.DS_Store differ diff --git a/argocd-apps-structure/apps/orders/envs/.DS_Store b/argocd-apps-structure/apps/orders/envs/.DS_Store new file mode 100644 index 00000000..a43e4780 Binary files /dev/null and b/argocd-apps-structure/apps/orders/envs/.DS_Store differ diff --git a/argocd-apps-structure/apps/invoices/envs/qa/deployment.yml b/argocd-apps-structure/apps/orders/envs/prod-eu/deployment.yml similarity index 89% rename from argocd-apps-structure/apps/invoices/envs/qa/deployment.yml rename to argocd-apps-structure/apps/orders/envs/prod-eu/deployment.yml index b4d29ebc..a1480d1b 100644 --- a/argocd-apps-structure/apps/invoices/envs/qa/deployment.yml +++ b/argocd-apps-structure/apps/orders/envs/prod-eu/deployment.yml @@ -10,7 +10,7 @@ spec: - name: webserver-simple env: - name: ENV - value: "qa" + value: "prod-eu" - name: GPU_ENABLED value: "1" \ No newline at end of file diff --git a/argocd-apps-structure/apps/invoices/envs/qa/kustomization.yml b/argocd-apps-structure/apps/orders/envs/prod-eu/kustomization.yml similarity index 91% rename from argocd-apps-structure/apps/invoices/envs/qa/kustomization.yml rename to argocd-apps-structure/apps/orders/envs/prod-eu/kustomization.yml index 8d95e15a..40349214 100644 --- a/argocd-apps-structure/apps/invoices/envs/qa/kustomization.yml +++ b/argocd-apps-structure/apps/orders/envs/prod-eu/kustomization.yml @@ -1,7 +1,6 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization - resources: - ../../base @@ -9,6 +8,6 @@ resources: patchesStrategicMerge: - deployment.yml - version.yml +- replicas.yml - settings.yml - diff --git a/argocd-apps-structure/apps/orders/envs/prod-eu/prod-us/deployment.yml b/argocd-apps-structure/apps/orders/envs/prod-eu/prod-us/deployment.yml new file mode 100644 index 00000000..676bc417 --- /dev/null +++ b/argocd-apps-structure/apps/orders/envs/prod-eu/prod-us/deployment.yml @@ -0,0 +1,16 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: simple-deployment +spec: + template: + spec: + containers: + - name: webserver-simple + env: + - name: ENV + value: "prod-us" + - name: GPU_ENABLED + value: "1" + \ No newline at end of file diff --git a/argocd-apps-structure/apps/orders/envs/prod-eu/prod-us/kustomization.yml b/argocd-apps-structure/apps/orders/envs/prod-eu/prod-us/kustomization.yml new file mode 100644 index 00000000..40349214 --- /dev/null +++ b/argocd-apps-structure/apps/orders/envs/prod-eu/prod-us/kustomization.yml @@ -0,0 +1,13 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: +- ../../base + + +patchesStrategicMerge: +- deployment.yml +- version.yml +- replicas.yml +- settings.yml + diff --git a/argocd-apps-structure/apps/orders/envs/prod-eu/prod-us/replicas.yml b/argocd-apps-structure/apps/orders/envs/prod-eu/prod-us/replicas.yml new file mode 100644 index 00000000..92e30ec8 --- /dev/null +++ b/argocd-apps-structure/apps/orders/envs/prod-eu/prod-us/replicas.yml @@ -0,0 +1,7 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: simple-deployment +spec: + replicas: 10 \ No newline at end of file diff --git a/argocd-apps-structure/apps/orders/envs/prod-eu/prod-us/settings.yml b/argocd-apps-structure/apps/orders/envs/prod-eu/prod-us/settings.yml new file mode 100644 index 00000000..67c3ea38 --- /dev/null +++ b/argocd-apps-structure/apps/orders/envs/prod-eu/prod-us/settings.yml @@ -0,0 +1,21 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: simple-deployment +spec: + template: + spec: + containers: + - name: webserver-simple + env: + - name: UI_THEME + value: "dark" + - name: CACHE_SIZE + value: "1024kb" + - name: PAGE_LIMIT + value: "25" + - name: SORTING + value: "ascending" + - name: N_BUCKETS + value: "42" \ No newline at end of file diff --git a/argocd-apps-structure/apps/fake-invoices/envs/qa/version.yml b/argocd-apps-structure/apps/orders/envs/prod-eu/prod-us/version.yml similarity index 71% rename from argocd-apps-structure/apps/fake-invoices/envs/qa/version.yml rename to argocd-apps-structure/apps/orders/envs/prod-eu/prod-us/version.yml index 51bc5350..0423d0fa 100644 --- a/argocd-apps-structure/apps/fake-invoices/envs/qa/version.yml +++ b/argocd-apps-structure/apps/orders/envs/prod-eu/prod-us/version.yml @@ -8,4 +8,4 @@ spec: spec: containers: - name: webserver-simple - image: docker.io/kostiscodefresh/simple-env-app:1.0 + image: docker.io/kostiscodefresh/simple-env-app:2.0 diff --git a/argocd-apps-structure/apps/orders/envs/prod-eu/replicas.yml b/argocd-apps-structure/apps/orders/envs/prod-eu/replicas.yml new file mode 100644 index 00000000..92e30ec8 --- /dev/null +++ b/argocd-apps-structure/apps/orders/envs/prod-eu/replicas.yml @@ -0,0 +1,7 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: simple-deployment +spec: + replicas: 10 \ No newline at end of file diff --git a/argocd-apps-structure/apps/invoices/envs/qa/settings.yml b/argocd-apps-structure/apps/orders/envs/prod-eu/settings.yml similarity index 94% rename from argocd-apps-structure/apps/invoices/envs/qa/settings.yml rename to argocd-apps-structure/apps/orders/envs/prod-eu/settings.yml index 738a5bec..ca8177dc 100644 --- a/argocd-apps-structure/apps/invoices/envs/qa/settings.yml +++ b/argocd-apps-structure/apps/orders/envs/prod-eu/settings.yml @@ -10,7 +10,7 @@ spec: - name: webserver-simple env: - name: UI_THEME - value: "light" + value: "dark" - name: CACHE_SIZE value: "2048kb" - name: PAGE_LIMIT diff --git a/argocd-apps-structure/apps/orders/envs/prod-eu/version.yml b/argocd-apps-structure/apps/orders/envs/prod-eu/version.yml new file mode 100644 index 00000000..0423d0fa --- /dev/null +++ b/argocd-apps-structure/apps/orders/envs/prod-eu/version.yml @@ -0,0 +1,11 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: simple-deployment +spec: + template: + spec: + containers: + - name: webserver-simple + image: docker.io/kostiscodefresh/simple-env-app:2.0 diff --git a/argocd-apps-structure/apps/payments/base/envs b/argocd-apps-structure/apps/payments/base/envs new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/argocd-apps-structure/apps/payments/base/envs @@ -0,0 +1 @@ + diff --git a/argocd-apps-structure/apps/payments/envs/prod-eu/deployment.yml b/argocd-apps-structure/apps/payments/envs/prod-eu/deployment.yml index a1480d1b..7d21f2e8 100644 --- a/argocd-apps-structure/apps/payments/envs/prod-eu/deployment.yml +++ b/argocd-apps-structure/apps/payments/envs/prod-eu/deployment.yml @@ -13,4 +13,3 @@ spec: value: "prod-eu" - name: GPU_ENABLED value: "1" - \ No newline at end of file diff --git a/argocd-apps-structure/apps/payments/envs/prod-eu/kustomization.yml b/argocd-apps-structure/apps/payments/envs/prod-eu/kustomization.yml index f6c27230..b2f77a6a 100644 --- a/argocd-apps-structure/apps/payments/envs/prod-eu/kustomization.yml +++ b/argocd-apps-structure/apps/payments/envs/prod-eu/kustomization.yml @@ -9,4 +9,3 @@ patchesStrategicMerge: - version.yml - replicas.yml - settings.yml - diff --git a/argocd-apps-structure/apps/payments/envs/prod-eu/replicas.yml b/argocd-apps-structure/apps/payments/envs/prod-eu/replicas.yml index e07faf08..94ebbd42 100644 --- a/argocd-apps-structure/apps/payments/envs/prod-eu/replicas.yml +++ b/argocd-apps-structure/apps/payments/envs/prod-eu/replicas.yml @@ -4,4 +4,4 @@ kind: Deployment metadata: name: simple-deployment spec: - replicas: 8 \ No newline at end of file + replicas: 8 diff --git a/argocd-apps-structure/apps/payments/envs/prod-eu/settings.yml b/argocd-apps-structure/apps/payments/envs/prod-eu/settings.yml index 67c3ea38..7f6f6d8e 100644 --- a/argocd-apps-structure/apps/payments/envs/prod-eu/settings.yml +++ b/argocd-apps-structure/apps/payments/envs/prod-eu/settings.yml @@ -18,4 +18,4 @@ spec: - name: SORTING value: "ascending" - name: N_BUCKETS - value: "42" \ No newline at end of file + value: "42" diff --git a/argocd-apps-structure/appsets/my-prod-appset.yml b/argocd-apps-structure/appsets/my-prod-appset.yml index 4dbe20c5..69e7547e 100644 --- a/argocd-apps-structure/appsets/my-prod-appset.yml +++ b/argocd-apps-structure/appsets/my-prod-appset.yml @@ -8,7 +8,7 @@ spec: goTemplateOptions: ["missingkey=error"] generators: - git: - repoURL: https://github.com/codefresh-contrib/gitops-cert-level-3-examples.git + repoURL: https://github.com/Amikh/gitops-cert-level-3-examples.git revision: HEAD directories: - path: argocd-apps-structure/apps/*/envs/prod-us @@ -22,14 +22,14 @@ spec: # Source of the application manifests source: - repoURL: https://github.com/codefresh-contrib/gitops-cert-level-3-examples.git + repoURL: https://github.com/Amikh/gitops-cert-level-3-examples.git targetRevision: HEAD path: '{{.path.path}}' # Destination cluster and namespace to deploy the application destination: - server: https://kubernetes.default.svc - namespace: '{{index .path.segments 2}}-{{index .path.segments 4}}' + + name: cluster-2 # Sync policy syncPolicy: diff --git a/argocd-apps-structure/appsets/my-qa-appset.yml b/argocd-apps-structure/appsets/my-qa-appset.yml index 69592aa9..463029b1 100644 --- a/argocd-apps-structure/appsets/my-qa-appset.yml +++ b/argocd-apps-structure/appsets/my-qa-appset.yml @@ -8,10 +8,10 @@ spec: goTemplateOptions: ["missingkey=error"] generators: - git: - repoURL: https://github.com/codefresh-contrib/gitops-cert-level-3-examples.git + repoURL: https://github.com/Amikh/gitops-cert-level-3-examples.git revision: HEAD directories: - - path: argocd-apps-structure/apps/*/envs/qa + - path: argocd-apps-structure/apps/*/envs/ template: metadata: name: '{{index .path.segments 2}}-{{index .path.segments 4}}' @@ -21,7 +21,7 @@ spec: # Source of the application manifests source: - repoURL: https://github.com/codefresh-contrib/gitops-cert-level-3-examples.git + repoURL: https://github.com/Amikh/gitops-cert-level-3-examples.git targetRevision: HEAD path: '{{.path.path}}' diff --git a/argocd-apps-structure/appsets/my-staging-appset.yml b/argocd-apps-structure/appsets/my-staging-appset.yml index 969b8f05..882b16c0 100644 --- a/argocd-apps-structure/appsets/my-staging-appset.yml +++ b/argocd-apps-structure/appsets/my-staging-appset.yml @@ -8,7 +8,7 @@ spec: goTemplateOptions: ["missingkey=error"] generators: - git: - repoURL: https://github.com/codefresh-contrib/gitops-cert-level-3-examples.git + repoURL: https://github.com/Amikh/gitops-cert-level-3-examples.git revision: HEAD directories: - path: argocd-apps-structure/apps/*/envs/staging @@ -21,7 +21,7 @@ spec: # Source of the application manifests source: - repoURL: https://github.com/codefresh-contrib/gitops-cert-level-3-examples.git + repoURL: https://github.com/Amikh/gitops-cert-level-3-examples.git targetRevision: HEAD path: '{{.path.path}}' diff --git a/argocd-apps-structure/root-argocd-app.yml b/argocd-apps-structure/root-argocd-app.yml index 28574cfd..2afc297f 100644 --- a/argocd-apps-structure/root-argocd-app.yml +++ b/argocd-apps-structure/root-argocd-app.yml @@ -6,7 +6,7 @@ metadata: spec: project: default source: - repoURL: https://github.com/codefresh-contrib/gitops-cert-level-3-examples.git + repoURL: https://github.com/amikh/gitops-cert-level-3-examples.git targetRevision: HEAD path: argocd-apps-structure/appsets destination: diff --git a/preview-environments/pr-generator/pr-generator.yml b/preview-environments/pr-generator/pr-generator.yml index e1d12898..6a9b3bad 100644 --- a/preview-environments/pr-generator/pr-generator.yml +++ b/preview-environments/pr-generator/pr-generator.yml @@ -2,24 +2,28 @@ apiVersion: argoproj.io/v1alpha1 kind: ApplicationSet metadata: name: my-preview-apps - namespace: argocd + + namespace: argocd spec: goTemplate: true goTemplateOptions: ["missingkey=error"] generators: - pullRequest: github: - owner: codefresh-contrib + owner: amikh repo: gitops-cert-level-3-examples - requeueAfterSeconds: 180 + tokenRef: + secretName: github-token + key: token + requeueAfterSeconds: 1800 template: metadata: - name: 'myapp-{{.branch}}' + name: 'myapp-{{.branch}}-{{.number}}' spec: source: - repoURL: 'https://github.com/codefresh-contrib/gitops-cert-level-3-examples.git' - targetRevision: HEAD - path: preview-environments/kustomize-preview-app/ + repoURL: 'https://github.com/amikh/gitops-cert-level-3-examples.git' + targetRevision: '{{.head_sha}}' + path: preview-environments/kustomize-preview-app/ kustomize: images: - 'docker.io/kostiscodefresh/my-preview-app:{{.branch_slug}}' @@ -29,6 +33,7 @@ spec: namespace: 'preview-{{.branch_slug}}' syncPolicy: automated: - prune: true + prune: true + selfHeal: true syncOptions: - - CreateNamespace=true \ No newline at end of file + - CreateNamespace=true \ No newline at end of file