From 539636fb83b23780db7dcd50389e5adda6656a33 Mon Sep 17 00:00:00 2001 From: amber <> Date: Tue, 12 Nov 2024 18:57:37 +0800 Subject: [PATCH 01/20] feat: add staging env --- .github/workflows/gitops.yaml | 47 ++++++++--- argocd/argo-nshm-app.yaml | 20 ----- argocd/argo-nshm-appset.yaml | 42 ++++++++++ helm/nshm/{values.yaml => main-values.yaml} | 0 helm/nshm/staging-values.yaml | 89 +++++++++++++++++++++ 5 files changed, 165 insertions(+), 33 deletions(-) delete mode 100644 argocd/argo-nshm-app.yaml create mode 100644 argocd/argo-nshm-appset.yaml rename helm/nshm/{values.yaml => main-values.yaml} (100%) create mode 100644 helm/nshm/staging-values.yaml diff --git a/.github/workflows/gitops.yaml b/.github/workflows/gitops.yaml index 78940abc..fa9f3a1f 100644 --- a/.github/workflows/gitops.yaml +++ b/.github/workflows/gitops.yaml @@ -4,9 +4,10 @@ on: push: branches: - main - - hot-fix-build-image + - staging paths: - services/** + workflow_dispatch: permissions: contents: write @@ -66,14 +67,16 @@ jobs: context: ./services/${{ matrix.service }} push: true tags: | - z1yoon/nshm-${{ matrix.service }}:${{ matrix.service }}-${{ github.sha }} - z1yoon/nshm-${{ matrix.service }}:latest + z1yoon/nshm-${{ matrix.service }}:$GITHUB_REF_NAME-${{ matrix.service }}-${{ github.sha }} + z1yoon/nshm-${{ matrix.service }}:$GITHUB_REF_NAME build-args: | NEXT_PUBLIC_API_BASE_URL=${{ secrets.NEXT_PUBLIC_API_BASE_URL }} update: name: Update Helm Manifests runs-on: ubuntu-latest + container: + image: argoproj/argocd needs: changes strategy: matrix: @@ -85,16 +88,34 @@ jobs: - name: Update Image Tag Values run: | - chart_dir="helm/nshm" + echo "chart_dir=helm/nshm" >> $GITHUB_ENV + echo $chart_dir new_image_tag=${{ matrix.service }}-${{ github.sha }} - sed -i "/z1yoon\/nshm-${{ matrix.service }}/{n;s/tag: .*/tag: $new_image_tag/;}" $chart_dir/values.yaml - cat $chart_dir/values.yaml + sed -i "/z1yoon\/nshm-${{ matrix.service }}/{n;s/tag: .*/tag: $new_image_tag/;}" $chart_dir/$GITHUB_REF_NAME-values.yaml + cat $chart_dir/$GITHUB_REF_NAME-values.yaml - - name: Commit the changes + - name: Apply Changes with ArgoCD CLI run: | - git pull origin $GITHUB_REF_NAME - git config --global user.email "nshm@u.nus.edu" - git config --global user.name "nshm" - git commit -am "chore: updated image tags for services: ${{ matrix.service }}" - git push origin $GITHUB_REF_NAME - continue-on-error: false + argocd app set nshm-$GITHUB_REF_NAME \ + --values $chart_dir/$GITHUB_REF_NAME-values.yaml \ + --repo https://github.com/SE-Row-1/nus-secondhand-market.git \ + --revision $GITHUB_REF_NAME \ + --async + env: + ARGOCD_SERVER: argocd.nshm.store + ARGOCD_AUTH_TOKEN: ${{ secrets.ARGOCD_TOKEN }} + + sync: + name: Sync ArgoCD Application + runs-on: ubuntu-latest + container: + image: argoproj/argocd + needs: update + steps: + - name: Sync ArgoCD Application + if: github.ref == 'refs/heads/staging' || (github.ref == 'refs/heads/main' && github.event_name == 'workflow_dispatch') + run: | + argocd app sync nshm-${{ github.ref_name }} + env: + ARGOCD_SERVER: argocd.nshm.store + ARGOCD_AUTH_TOKEN: ${{ secrets.ARGOCD_TOKEN }} diff --git a/argocd/argo-nshm-app.yaml b/argocd/argo-nshm-app.yaml deleted file mode 100644 index 7b1ba1f4..00000000 --- a/argocd/argo-nshm-app.yaml +++ /dev/null @@ -1,20 +0,0 @@ -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: nshm - namespace: argocd -spec: - project: default - source: - repoURL: 'https://github.com/SE-Row-1/nus-secondhand-market.git' - targetRevision: main - path: helm/nshm - destination: - server: 'https://kubernetes.default.svc' - namespace: nshm - syncPolicy: - automated: - prune: true - selfHeal: true - retry: - limit: 3 diff --git a/argocd/argo-nshm-appset.yaml b/argocd/argo-nshm-appset.yaml new file mode 100644 index 00000000..199595e7 --- /dev/null +++ b/argocd/argo-nshm-appset.yaml @@ -0,0 +1,42 @@ +apiVersion: argoproj.io/v1alpha1 +kind: ApplicationSet +metadata: + name: nshm-applications + namespace: argocd +spec: + generators: + - list: + elements: + - env: staging + revision: staging + namespace: nshm-staging + valueFile: staging-values.yaml + syncAutomated: true + - env: main + revision: main + namespace: nshm-main + valueFile: main-values.yaml + syncAutomated: false + template: + metadata: + name: nshm-{{ env }} + spec: + project: default + source: + repoURL: 'https://github.com/SE-Row-1/nus-secondhand-market.git' + targetRevision: '{{ revision }}' + path: helm/nshm + helm: + valueFiles: + - '{{ valueFile }}' + destination: + server: 'https://kubernetes.default.svc' + namespace: '{{ namespace }}' + syncPolicy: + {{- if eq .env "staging" }} + automated: + prune: true + selfHeal: true + {{- end }} + retry: + limit: 3 diff --git a/helm/nshm/values.yaml b/helm/nshm/main-values.yaml similarity index 100% rename from helm/nshm/values.yaml rename to helm/nshm/main-values.yaml diff --git a/helm/nshm/staging-values.yaml b/helm/nshm/staging-values.yaml new file mode 100644 index 00000000..589146f9 --- /dev/null +++ b/helm/nshm/staging-values.yaml @@ -0,0 +1,89 @@ +# Account service values +account: + image: + repository: z1yoon/nshm-account + tag: account-5850506a1c5311245c29e24869892996b5b07c85 + replicas: 1 + resources: + limits: + cpu: 500m + memory: 512Mi + requests: + cpu: 250m + memory: 256Mi + +# Item service values +item: + image: + repository: z1yoon/nshm-item + tag: item-5850506a1c5311245c29e24869892996b5b07c85 + replicas: 1 + resources: + limits: + cpu: 500m + memory: 512Mi + requests: + cpu: 250m + memory: 256Mi + +# Wishlist service values +wishlist: + image: + repository: z1yoon/nshm-wishlist + tag: wishlist-5850506a1c5311245c29e24869892996b5b07c85 + replicas: 1 + resources: + limits: + cpu: 500m + memory: 512Mi + requests: + cpu: 250m + memory: 256Mi + +# Web service values +web: + image: + repository: z1yoon/nshm-web + tag: web-5850506a1c5311245c29e24869892996b5b07c85 + replicas: 1 + resources: + limits: + cpu: 500m + memory: 512Mi + requests: + cpu: 250m + memory: 256Mi + +# Notification service values +notification: + image: + repository: z1yoon/nshm-notification + tag: notification-5850506a1c5311245c29e24869892996b5b07c85 + replicas: 1 + resources: + limits: + cpu: 500m + memory: 512Mi + requests: + cpu: 250m + memory: 256Mi + +# Transaction service values +transaction: + image: + repository: z1yoon/nshm-transaction + tag: transaction-5850506a1c5311245c29e24869892996b5b07c85 + replicas: 1 + resources: + limits: + cpu: 500m + memory: 512Mi + requests: + cpu: 250m + memory: 256Mi + +# Rabbitmq service values +rabbitmq: + image: + repository: z1yoon/nshm-rabbitmq + tag: 02f7561840c2b6d431b269b363290c5bbf89757e From 1bfdd71b17c5790fd24d5aabdfb2a77121aec5c9 Mon Sep 17 00:00:00 2001 From: amber <> Date: Thu, 14 Nov 2024 14:06:03 +0800 Subject: [PATCH 02/20] fix: remove namespace --- argocd/argo-nshm-appset.yaml | 42 ------------------- argocd/argo-nshm-main-app.yaml | 20 +++++++++ argocd/argo-nshm-staging-app.yaml | 23 ++++++++++ helm/nshm/templates/account/deployment.yaml | 1 - helm/nshm/templates/account/hpa.yaml | 1 - helm/nshm/templates/account/service.yaml | 1 - .../nshm/templates/item-mongo/deployment.yaml | 1 - helm/nshm/templates/item-mongo/service.yaml | 1 - helm/nshm/templates/item/deployment.yaml | 1 - helm/nshm/templates/item/hpa.yaml | 1 - helm/nshm/templates/item/service.yaml | 1 - .../templates/notification/deployment.yaml | 1 - helm/nshm/templates/notification/hpa.yaml | 1 - helm/nshm/templates/notification/service.yaml | 1 - helm/nshm/templates/nshm-ingress.yaml | 1 - helm/nshm/templates/rabbitmq-ingress.yaml | 1 - helm/nshm/templates/rabbitmq.yaml | 1 - .../templates/transaction/deployment.yaml | 1 - helm/nshm/templates/transaction/hpa.yaml | 1 - helm/nshm/templates/transaction/service.yaml | 1 - helm/nshm/templates/web/deployment.yaml | 1 - helm/nshm/templates/web/hpa.yaml | 1 - helm/nshm/templates/web/service.yaml | 1 - .../templates/wishlist-mongo/deployment.yaml | 1 - .../templates/wishlist-mongo/service.yaml | 1 - helm/nshm/templates/wishlist/deployment.yaml | 1 - helm/nshm/templates/wishlist/hpa.yaml | 1 - helm/nshm/templates/wishlist/service.yaml | 1 - 28 files changed, 43 insertions(+), 67 deletions(-) delete mode 100644 argocd/argo-nshm-appset.yaml create mode 100644 argocd/argo-nshm-main-app.yaml create mode 100644 argocd/argo-nshm-staging-app.yaml diff --git a/argocd/argo-nshm-appset.yaml b/argocd/argo-nshm-appset.yaml deleted file mode 100644 index 199595e7..00000000 --- a/argocd/argo-nshm-appset.yaml +++ /dev/null @@ -1,42 +0,0 @@ -apiVersion: argoproj.io/v1alpha1 -kind: ApplicationSet -metadata: - name: nshm-applications - namespace: argocd -spec: - generators: - - list: - elements: - - env: staging - revision: staging - namespace: nshm-staging - valueFile: staging-values.yaml - syncAutomated: true - - env: main - revision: main - namespace: nshm-main - valueFile: main-values.yaml - syncAutomated: false - template: - metadata: - name: nshm-{{ env }} - spec: - project: default - source: - repoURL: 'https://github.com/SE-Row-1/nus-secondhand-market.git' - targetRevision: '{{ revision }}' - path: helm/nshm - helm: - valueFiles: - - '{{ valueFile }}' - destination: - server: 'https://kubernetes.default.svc' - namespace: '{{ namespace }}' - syncPolicy: - {{- if eq .env "staging" }} - automated: - prune: true - selfHeal: true - {{- end }} - retry: - limit: 3 diff --git a/argocd/argo-nshm-main-app.yaml b/argocd/argo-nshm-main-app.yaml new file mode 100644 index 00000000..bc58d5c6 --- /dev/null +++ b/argocd/argo-nshm-main-app.yaml @@ -0,0 +1,20 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: nshm-main + namespace: argocd +spec: + project: default + source: + repoURL: 'https://github.com/SE-Row-1/nus-secondhand-market.git' + targetRevision: main + path: helm/nshm + helm: + valueFiles: + - main-values.yaml + destination: + server: 'https://kubernetes.default.svc' + namespace: nshm-main + syncPolicy: + retry: + limit: 3 diff --git a/argocd/argo-nshm-staging-app.yaml b/argocd/argo-nshm-staging-app.yaml new file mode 100644 index 00000000..45330970 --- /dev/null +++ b/argocd/argo-nshm-staging-app.yaml @@ -0,0 +1,23 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: nshm-staging + namespace: argocd +spec: + project: default + source: + repoURL: 'https://github.com/SE-Row-1/nus-secondhand-market.git' + targetRevision: staging + path: helm/nshm + helm: + valueFiles: + - staging-values.yaml + destination: + server: 'https://kubernetes.default.svc' + namespace: nshm-staging + syncPolicy: + automated: + prune: true + selfHeal: true + retry: + limit: 3 diff --git a/helm/nshm/templates/account/deployment.yaml b/helm/nshm/templates/account/deployment.yaml index f7fde07a..4c205888 100644 --- a/helm/nshm/templates/account/deployment.yaml +++ b/helm/nshm/templates/account/deployment.yaml @@ -2,7 +2,6 @@ apiVersion: apps/v1 kind: Deployment metadata: name: account - namespace: nshm spec: replicas: {{ .Values.account.replicas }} selector: diff --git a/helm/nshm/templates/account/hpa.yaml b/helm/nshm/templates/account/hpa.yaml index e6f9a69b..4a3be90a 100644 --- a/helm/nshm/templates/account/hpa.yaml +++ b/helm/nshm/templates/account/hpa.yaml @@ -2,7 +2,6 @@ apiVersion: autoscaling/v1 kind: HorizontalPodAutoscaler metadata: name: account-hpa - namespace: nshm spec: scaleTargetRef: apiVersion: apps/v1 diff --git a/helm/nshm/templates/account/service.yaml b/helm/nshm/templates/account/service.yaml index 57949a47..76f6c690 100644 --- a/helm/nshm/templates/account/service.yaml +++ b/helm/nshm/templates/account/service.yaml @@ -2,7 +2,6 @@ apiVersion: v1 kind: Service metadata: name: account - namespace: nshm spec: type: ClusterIP ports: diff --git a/helm/nshm/templates/item-mongo/deployment.yaml b/helm/nshm/templates/item-mongo/deployment.yaml index 2640ee0e..56fcbe80 100644 --- a/helm/nshm/templates/item-mongo/deployment.yaml +++ b/helm/nshm/templates/item-mongo/deployment.yaml @@ -2,7 +2,6 @@ apiVersion: apps/v1 kind: Deployment metadata: name: item-mongo - namespace: nshm spec: replicas: 1 selector: diff --git a/helm/nshm/templates/item-mongo/service.yaml b/helm/nshm/templates/item-mongo/service.yaml index 9b104abc..f467e95d 100644 --- a/helm/nshm/templates/item-mongo/service.yaml +++ b/helm/nshm/templates/item-mongo/service.yaml @@ -2,7 +2,6 @@ apiVersion: v1 kind: Service metadata: name: item-mongo - namespace: nshm spec: ports: - port: 27017 diff --git a/helm/nshm/templates/item/deployment.yaml b/helm/nshm/templates/item/deployment.yaml index 622ade11..6e883886 100644 --- a/helm/nshm/templates/item/deployment.yaml +++ b/helm/nshm/templates/item/deployment.yaml @@ -2,7 +2,6 @@ apiVersion: apps/v1 kind: Deployment metadata: name: item - namespace: nshm spec: replicas: {{ .Values.item.replicas }} selector: diff --git a/helm/nshm/templates/item/hpa.yaml b/helm/nshm/templates/item/hpa.yaml index 7559c1d4..28ac47d2 100644 --- a/helm/nshm/templates/item/hpa.yaml +++ b/helm/nshm/templates/item/hpa.yaml @@ -2,7 +2,6 @@ apiVersion: autoscaling/v1 kind: HorizontalPodAutoscaler metadata: name: item-hpa - namespace: nshm spec: scaleTargetRef: apiVersion: apps/v1 diff --git a/helm/nshm/templates/item/service.yaml b/helm/nshm/templates/item/service.yaml index 61a94719..a7baeadc 100644 --- a/helm/nshm/templates/item/service.yaml +++ b/helm/nshm/templates/item/service.yaml @@ -2,7 +2,6 @@ apiVersion: v1 kind: Service metadata: name: item - namespace: nshm spec: type: ClusterIP ports: diff --git a/helm/nshm/templates/notification/deployment.yaml b/helm/nshm/templates/notification/deployment.yaml index 96d1d101..bcce2f52 100644 --- a/helm/nshm/templates/notification/deployment.yaml +++ b/helm/nshm/templates/notification/deployment.yaml @@ -2,7 +2,6 @@ apiVersion: apps/v1 kind: Deployment metadata: name: notification - namespace: nshm spec: replicas: {{ .Values.notification.replicas }} selector: diff --git a/helm/nshm/templates/notification/hpa.yaml b/helm/nshm/templates/notification/hpa.yaml index a4f25a59..d55d73dc 100644 --- a/helm/nshm/templates/notification/hpa.yaml +++ b/helm/nshm/templates/notification/hpa.yaml @@ -2,7 +2,6 @@ apiVersion: autoscaling/v1 kind: HorizontalPodAutoscaler metadata: name: notification-hpa - namespace: nshm spec: scaleTargetRef: apiVersion: apps/v1 diff --git a/helm/nshm/templates/notification/service.yaml b/helm/nshm/templates/notification/service.yaml index 3e6909fb..b6dfca86 100644 --- a/helm/nshm/templates/notification/service.yaml +++ b/helm/nshm/templates/notification/service.yaml @@ -2,7 +2,6 @@ apiVersion: v1 kind: Service metadata: name: notification - namespace: nshm spec: type: ClusterIP ports: diff --git a/helm/nshm/templates/nshm-ingress.yaml b/helm/nshm/templates/nshm-ingress.yaml index 97874b9e..fc30c831 100644 --- a/helm/nshm/templates/nshm-ingress.yaml +++ b/helm/nshm/templates/nshm-ingress.yaml @@ -2,7 +2,6 @@ apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: nshm-ingress - namespace: nshm annotations: nginx.ingress.kubernetes.io/use-regex: "true" nginx.ingress.kubernetes.io/rewrite-target: /$1 diff --git a/helm/nshm/templates/rabbitmq-ingress.yaml b/helm/nshm/templates/rabbitmq-ingress.yaml index f56c2408..482ca6a9 100644 --- a/helm/nshm/templates/rabbitmq-ingress.yaml +++ b/helm/nshm/templates/rabbitmq-ingress.yaml @@ -2,7 +2,6 @@ apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: rabbitmq-ingress - namespace: nshm spec: ingressClassName: nginx rules: diff --git a/helm/nshm/templates/rabbitmq.yaml b/helm/nshm/templates/rabbitmq.yaml index f805aef5..8979323c 100644 --- a/helm/nshm/templates/rabbitmq.yaml +++ b/helm/nshm/templates/rabbitmq.yaml @@ -2,7 +2,6 @@ apiVersion: rabbitmq.com/v1beta1 kind: RabbitmqCluster metadata: name: rabbitmq - namespace: nshm spec: image: "{{ .Values.rabbitmq.image.repository }}:{{ .Values.rabbitmq.image.tag }}" rabbitmq: diff --git a/helm/nshm/templates/transaction/deployment.yaml b/helm/nshm/templates/transaction/deployment.yaml index cb51542c..be751710 100644 --- a/helm/nshm/templates/transaction/deployment.yaml +++ b/helm/nshm/templates/transaction/deployment.yaml @@ -2,7 +2,6 @@ apiVersion: apps/v1 kind: Deployment metadata: name: transaction - namespace: nshm spec: replicas: {{ .Values.transaction.replicas }} selector: diff --git a/helm/nshm/templates/transaction/hpa.yaml b/helm/nshm/templates/transaction/hpa.yaml index 3c220807..e6dff873 100644 --- a/helm/nshm/templates/transaction/hpa.yaml +++ b/helm/nshm/templates/transaction/hpa.yaml @@ -2,7 +2,6 @@ apiVersion: autoscaling/v1 kind: HorizontalPodAutoscaler metadata: name: transaction-hpa - namespace: nshm spec: scaleTargetRef: apiVersion: apps/v1 diff --git a/helm/nshm/templates/transaction/service.yaml b/helm/nshm/templates/transaction/service.yaml index c023776c..4709ce7f 100644 --- a/helm/nshm/templates/transaction/service.yaml +++ b/helm/nshm/templates/transaction/service.yaml @@ -2,7 +2,6 @@ apiVersion: v1 kind: Service metadata: name: transaction - namespace: nshm spec: type: ClusterIP ports: diff --git a/helm/nshm/templates/web/deployment.yaml b/helm/nshm/templates/web/deployment.yaml index 3dedb4e6..61fe8ef0 100644 --- a/helm/nshm/templates/web/deployment.yaml +++ b/helm/nshm/templates/web/deployment.yaml @@ -2,7 +2,6 @@ apiVersion: apps/v1 kind: Deployment metadata: name: web - namespace: nshm spec: replicas: {{ .Values.web.replicas }} selector: diff --git a/helm/nshm/templates/web/hpa.yaml b/helm/nshm/templates/web/hpa.yaml index f5af4d99..8d93678a 100644 --- a/helm/nshm/templates/web/hpa.yaml +++ b/helm/nshm/templates/web/hpa.yaml @@ -2,7 +2,6 @@ apiVersion: autoscaling/v1 kind: HorizontalPodAutoscaler metadata: name: web-hpa - namespace: nshm spec: scaleTargetRef: apiVersion: apps/v1 diff --git a/helm/nshm/templates/web/service.yaml b/helm/nshm/templates/web/service.yaml index 38306022..65c98158 100644 --- a/helm/nshm/templates/web/service.yaml +++ b/helm/nshm/templates/web/service.yaml @@ -2,7 +2,6 @@ apiVersion: v1 kind: Service metadata: name: web - namespace: nshm spec: type: ClusterIP ports: diff --git a/helm/nshm/templates/wishlist-mongo/deployment.yaml b/helm/nshm/templates/wishlist-mongo/deployment.yaml index 3acd74ad..ee6913d3 100644 --- a/helm/nshm/templates/wishlist-mongo/deployment.yaml +++ b/helm/nshm/templates/wishlist-mongo/deployment.yaml @@ -2,7 +2,6 @@ apiVersion: apps/v1 kind: Deployment metadata: name: wishlist-mongo - namespace: nshm spec: replicas: 1 selector: diff --git a/helm/nshm/templates/wishlist-mongo/service.yaml b/helm/nshm/templates/wishlist-mongo/service.yaml index 286dccf1..86f920bc 100644 --- a/helm/nshm/templates/wishlist-mongo/service.yaml +++ b/helm/nshm/templates/wishlist-mongo/service.yaml @@ -2,7 +2,6 @@ apiVersion: v1 kind: Service metadata: name: wishlist-mongo - namespace: nshm spec: ports: - port: 27017 diff --git a/helm/nshm/templates/wishlist/deployment.yaml b/helm/nshm/templates/wishlist/deployment.yaml index 565a1152..038e9a80 100644 --- a/helm/nshm/templates/wishlist/deployment.yaml +++ b/helm/nshm/templates/wishlist/deployment.yaml @@ -2,7 +2,6 @@ apiVersion: apps/v1 kind: Deployment metadata: name: wishlist - namespace: nshm spec: replicas: {{ .Values.wishlist.replicas }} selector: diff --git a/helm/nshm/templates/wishlist/hpa.yaml b/helm/nshm/templates/wishlist/hpa.yaml index 2f1f23da..e431a794 100644 --- a/helm/nshm/templates/wishlist/hpa.yaml +++ b/helm/nshm/templates/wishlist/hpa.yaml @@ -2,7 +2,6 @@ apiVersion: autoscaling/v1 kind: HorizontalPodAutoscaler metadata: name: wishlist-hpa - namespace: nshm spec: scaleTargetRef: apiVersion: apps/v1 diff --git a/helm/nshm/templates/wishlist/service.yaml b/helm/nshm/templates/wishlist/service.yaml index faa9e56f..e1ec5e01 100644 --- a/helm/nshm/templates/wishlist/service.yaml +++ b/helm/nshm/templates/wishlist/service.yaml @@ -2,7 +2,6 @@ apiVersion: v1 kind: Service metadata: name: wishlist - namespace: nshm spec: type: ClusterIP ports: From 7f560a40c22edff00b333878f3faa8cffdf11a5d Mon Sep 17 00:00:00 2001 From: amber <> Date: Thu, 14 Nov 2024 14:27:48 +0800 Subject: [PATCH 03/20] test: gitops staging test --- services/account/test | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 services/account/test diff --git a/services/account/test b/services/account/test deleted file mode 100644 index e69de29b..00000000 From f218619599d2cb313084681cb08adad7d99464e2 Mon Sep 17 00:00:00 2001 From: amber <> Date: Thu, 14 Nov 2024 15:12:45 +0800 Subject: [PATCH 04/20] fix: adjust gitops.yaml --- .github/workflows/gitops.yaml | 26 ++++++++++---------------- 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/.github/workflows/gitops.yaml b/.github/workflows/gitops.yaml index fa9f3a1f..1acf872f 100644 --- a/.github/workflows/gitops.yaml +++ b/.github/workflows/gitops.yaml @@ -67,12 +67,12 @@ jobs: context: ./services/${{ matrix.service }} push: true tags: | - z1yoon/nshm-${{ matrix.service }}:$GITHUB_REF_NAME-${{ matrix.service }}-${{ github.sha }} - z1yoon/nshm-${{ matrix.service }}:$GITHUB_REF_NAME + z1yoon/nshm-${{ matrix.service }}:{{ github.ref_name }}-${{ matrix.service }}-${{ github.sha }} + z1yoon/nshm-${{ matrix.service }}:{{ github.ref_name }} build-args: | NEXT_PUBLIC_API_BASE_URL=${{ secrets.NEXT_PUBLIC_API_BASE_URL }} - update: + update-and-sync: name: Update Helm Manifests runs-on: ubuntu-latest container: @@ -94,6 +94,13 @@ jobs: sed -i "/z1yoon\/nshm-${{ matrix.service }}/{n;s/tag: .*/tag: $new_image_tag/;}" $chart_dir/$GITHUB_REF_NAME-values.yaml cat $chart_dir/$GITHUB_REF_NAME-values.yaml + - name: Login to ArgoCD + run: | + argocd login argocd.nshm.store \ + --username admin \ + --password ${{ secrets.ARGOCD_PASSWORD }} \ + --insecure + - name: Apply Changes with ArgoCD CLI run: | argocd app set nshm-$GITHUB_REF_NAME \ @@ -101,21 +108,8 @@ jobs: --repo https://github.com/SE-Row-1/nus-secondhand-market.git \ --revision $GITHUB_REF_NAME \ --async - env: - ARGOCD_SERVER: argocd.nshm.store - ARGOCD_AUTH_TOKEN: ${{ secrets.ARGOCD_TOKEN }} - sync: - name: Sync ArgoCD Application - runs-on: ubuntu-latest - container: - image: argoproj/argocd - needs: update - steps: - name: Sync ArgoCD Application if: github.ref == 'refs/heads/staging' || (github.ref == 'refs/heads/main' && github.event_name == 'workflow_dispatch') run: | argocd app sync nshm-${{ github.ref_name }} - env: - ARGOCD_SERVER: argocd.nshm.store - ARGOCD_AUTH_TOKEN: ${{ secrets.ARGOCD_TOKEN }} From 3c55b6755e5f455da25ddff3fa79dcddac56432d Mon Sep 17 00:00:00 2001 From: amber <> Date: Thu, 14 Nov 2024 15:13:19 +0800 Subject: [PATCH 05/20] test: gitops staging test --- services/web/test | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 services/web/test diff --git a/services/web/test b/services/web/test deleted file mode 100644 index e69de29b..00000000 From 7ca79b7fc6b46c5041aa7cfeb6aedbd2076ab711 Mon Sep 17 00:00:00 2001 From: amber <> Date: Thu, 14 Nov 2024 15:16:51 +0800 Subject: [PATCH 06/20] fix: adjust permission for container --- .github/workflows/gitops.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/gitops.yaml b/.github/workflows/gitops.yaml index 1acf872f..2cc442aa 100644 --- a/.github/workflows/gitops.yaml +++ b/.github/workflows/gitops.yaml @@ -67,8 +67,8 @@ jobs: context: ./services/${{ matrix.service }} push: true tags: | - z1yoon/nshm-${{ matrix.service }}:{{ github.ref_name }}-${{ matrix.service }}-${{ github.sha }} - z1yoon/nshm-${{ matrix.service }}:{{ github.ref_name }} + z1yoon/nshm-${{ matrix.service }}:${{ github.ref_name }}-${{ matrix.service }}-${{ github.sha }} + z1yoon/nshm-${{ matrix.service }}:${{ github.ref_name }} build-args: | NEXT_PUBLIC_API_BASE_URL=${{ secrets.NEXT_PUBLIC_API_BASE_URL }} @@ -77,6 +77,7 @@ jobs: runs-on: ubuntu-latest container: image: argoproj/argocd + options: --user root needs: changes strategy: matrix: From 64da313d8ec841f5e7703c1479c8363d89d43b07 Mon Sep 17 00:00:00 2001 From: amber <> Date: Thu, 14 Nov 2024 15:17:07 +0800 Subject: [PATCH 07/20] test: gitops staging test --- services/wishlist/test | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 services/wishlist/test diff --git a/services/wishlist/test b/services/wishlist/test deleted file mode 100644 index e69de29b..00000000 From 9d20b5e572a75406fc3465b40fcf661936e605c0 Mon Sep 17 00:00:00 2001 From: amber <> Date: Thu, 14 Nov 2024 15:52:46 +0800 Subject: [PATCH 08/20] fix: adjust dir location --- .github/workflows/gitops.yaml | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/.github/workflows/gitops.yaml b/.github/workflows/gitops.yaml index 2cc442aa..cac87ba2 100644 --- a/.github/workflows/gitops.yaml +++ b/.github/workflows/gitops.yaml @@ -89,11 +89,9 @@ jobs: - name: Update Image Tag Values run: | - echo "chart_dir=helm/nshm" >> $GITHUB_ENV - echo $chart_dir new_image_tag=${{ matrix.service }}-${{ github.sha }} - sed -i "/z1yoon\/nshm-${{ matrix.service }}/{n;s/tag: .*/tag: $new_image_tag/;}" $chart_dir/$GITHUB_REF_NAME-values.yaml - cat $chart_dir/$GITHUB_REF_NAME-values.yaml + sed -i "/z1yoon\/nshm-${{ matrix.service }}/{n;s/tag: .*/tag: $new_image_tag/;}" helm/nshm/$GITHUB_REF_NAME-values.yaml + cat helm/nshm/$GITHUB_REF_NAME-values.yaml - name: Login to ArgoCD run: | @@ -105,7 +103,7 @@ jobs: - name: Apply Changes with ArgoCD CLI run: | argocd app set nshm-$GITHUB_REF_NAME \ - --values $chart_dir/$GITHUB_REF_NAME-values.yaml \ + --values helm/nshm/$GITHUB_REF_NAME-values.yaml \ --repo https://github.com/SE-Row-1/nus-secondhand-market.git \ --revision $GITHUB_REF_NAME \ --async From d15000b36d24982bc024430506a6eb317b89bf9e Mon Sep 17 00:00:00 2001 From: amber <> Date: Thu, 14 Nov 2024 15:55:22 +0800 Subject: [PATCH 09/20] test: gitops staging test --- services/account/test | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 services/account/test diff --git a/services/account/test b/services/account/test new file mode 100644 index 00000000..e69de29b From 385319baeae11ce8f8546fb47dbd9b159c53f2a9 Mon Sep 17 00:00:00 2001 From: amber <> Date: Thu, 14 Nov 2024 16:00:47 +0800 Subject: [PATCH 10/20] fix: remove option for agocd command --- .github/workflows/gitops.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/gitops.yaml b/.github/workflows/gitops.yaml index cac87ba2..938f8ecc 100644 --- a/.github/workflows/gitops.yaml +++ b/.github/workflows/gitops.yaml @@ -106,7 +106,6 @@ jobs: --values helm/nshm/$GITHUB_REF_NAME-values.yaml \ --repo https://github.com/SE-Row-1/nus-secondhand-market.git \ --revision $GITHUB_REF_NAME \ - --async - name: Sync ArgoCD Application if: github.ref == 'refs/heads/staging' || (github.ref == 'refs/heads/main' && github.event_name == 'workflow_dispatch') From 0041bf3c18c26a0f7e9b7e99f2f393148f966773 Mon Sep 17 00:00:00 2001 From: amber <> Date: Thu, 14 Nov 2024 16:00:54 +0800 Subject: [PATCH 11/20] test: gitops staging test --- services/account/test | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 services/account/test diff --git a/services/account/test b/services/account/test deleted file mode 100644 index e69de29b..00000000 From 1e07f7ef82974d9261ed1bd6a2fd73fd0adf38a1 Mon Sep 17 00:00:00 2001 From: amber <> Date: Thu, 14 Nov 2024 16:03:24 +0800 Subject: [PATCH 12/20] fix: remove redundant path --- .github/workflows/gitops.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/gitops.yaml b/.github/workflows/gitops.yaml index 938f8ecc..48e6b0c6 100644 --- a/.github/workflows/gitops.yaml +++ b/.github/workflows/gitops.yaml @@ -103,7 +103,7 @@ jobs: - name: Apply Changes with ArgoCD CLI run: | argocd app set nshm-$GITHUB_REF_NAME \ - --values helm/nshm/$GITHUB_REF_NAME-values.yaml \ + --values $GITHUB_REF_NAME-values.yaml \ --repo https://github.com/SE-Row-1/nus-secondhand-market.git \ --revision $GITHUB_REF_NAME \ From 7759e84ae9feb4a14f6baa2d0bc51b49ba8a0994 Mon Sep 17 00:00:00 2001 From: amber <> Date: Thu, 14 Nov 2024 16:03:34 +0800 Subject: [PATCH 13/20] fix: remove redundant path --- services/account/test | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 services/account/test diff --git a/services/account/test b/services/account/test new file mode 100644 index 00000000..e69de29b From 3024e5518dda40b0db0741efcffd2bfeeff7c167 Mon Sep 17 00:00:00 2001 From: amber <> Date: Thu, 14 Nov 2024 17:25:34 +0800 Subject: [PATCH 14/20] fix: remove change value yaml file --- .github/workflows/gitops.yaml | 12 ++---------- services/account/test | 0 2 files changed, 2 insertions(+), 10 deletions(-) delete mode 100644 services/account/test diff --git a/.github/workflows/gitops.yaml b/.github/workflows/gitops.yaml index 48e6b0c6..d498ba44 100644 --- a/.github/workflows/gitops.yaml +++ b/.github/workflows/gitops.yaml @@ -90,8 +90,6 @@ jobs: - name: Update Image Tag Values run: | new_image_tag=${{ matrix.service }}-${{ github.sha }} - sed -i "/z1yoon\/nshm-${{ matrix.service }}/{n;s/tag: .*/tag: $new_image_tag/;}" helm/nshm/$GITHUB_REF_NAME-values.yaml - cat helm/nshm/$GITHUB_REF_NAME-values.yaml - name: Login to ArgoCD run: | @@ -103,11 +101,5 @@ jobs: - name: Apply Changes with ArgoCD CLI run: | argocd app set nshm-$GITHUB_REF_NAME \ - --values $GITHUB_REF_NAME-values.yaml \ - --repo https://github.com/SE-Row-1/nus-secondhand-market.git \ - --revision $GITHUB_REF_NAME \ - - - name: Sync ArgoCD Application - if: github.ref == 'refs/heads/staging' || (github.ref == 'refs/heads/main' && github.event_name == 'workflow_dispatch') - run: | - argocd app sync nshm-${{ github.ref_name }} + --helm-set ${{ matrix.service }}.image.tag=$new_image_tag + argocd app get nshm-$GITHUB_REF_NAME -o yaml diff --git a/services/account/test b/services/account/test deleted file mode 100644 index e69de29b..00000000 From 03a3dc20b5265b36c2b3e242f04dcda95b11d510 Mon Sep 17 00:00:00 2001 From: amber <> Date: Thu, 14 Nov 2024 17:34:37 +0800 Subject: [PATCH 15/20] fix: adjust argocd command --- .github/workflows/gitops.yaml | 3 ++- services/account/test | 0 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 services/account/test diff --git a/.github/workflows/gitops.yaml b/.github/workflows/gitops.yaml index d498ba44..8861b1ea 100644 --- a/.github/workflows/gitops.yaml +++ b/.github/workflows/gitops.yaml @@ -90,6 +90,7 @@ jobs: - name: Update Image Tag Values run: | new_image_tag=${{ matrix.service }}-${{ github.sha }} + echo "new_image_tag=$new_image_tag" >> $GITHUB_ENV - name: Login to ArgoCD run: | @@ -101,5 +102,5 @@ jobs: - name: Apply Changes with ArgoCD CLI run: | argocd app set nshm-$GITHUB_REF_NAME \ - --helm-set ${{ matrix.service }}.image.tag=$new_image_tag + --helm-set ${{ matrix.service }}.image.tag=${{ env.new_image_tag }} argocd app get nshm-$GITHUB_REF_NAME -o yaml diff --git a/services/account/test b/services/account/test new file mode 100644 index 00000000..e69de29b From dee8a14ce48412534023908326f0f2968c453a40 Mon Sep 17 00:00:00 2001 From: z1yoon <83934144+z1yoon@users.noreply.github.com> Date: Thu, 14 Nov 2024 17:59:05 +0800 Subject: [PATCH 16/20] Cd test account microservice (#86) Co-authored-by: amber <> --- services/account/test | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 services/account/test diff --git a/services/account/test b/services/account/test deleted file mode 100644 index e69de29b..00000000 From 6ee693757f627dad9d34e60646f23577d1f33dd9 Mon Sep 17 00:00:00 2001 From: z1yoon <83934144+z1yoon@users.noreply.github.com> Date: Thu, 14 Nov 2024 18:02:52 +0800 Subject: [PATCH 17/20] Cd test account microservice (#87) Co-authored-by: amber <> --- .github/workflows/gitops.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/gitops.yaml b/.github/workflows/gitops.yaml index 8861b1ea..5f24de27 100644 --- a/.github/workflows/gitops.yaml +++ b/.github/workflows/gitops.yaml @@ -73,7 +73,7 @@ jobs: NEXT_PUBLIC_API_BASE_URL=${{ secrets.NEXT_PUBLIC_API_BASE_URL }} update-and-sync: - name: Update Helm Manifests + name: Update image tag value runs-on: ubuntu-latest container: image: argoproj/argocd From dbca9ab3926d52d5b2856e4de81c72514d2e11f9 Mon Sep 17 00:00:00 2001 From: z1yoon <83934144+z1yoon@users.noreply.github.com> Date: Thu, 14 Nov 2024 18:04:39 +0800 Subject: [PATCH 18/20] Cd test account microservice (#88) Co-authored-by: amber <> From b01474664718c998467a48dd1eb33abce8595ad8 Mon Sep 17 00:00:00 2001 From: amber <> Date: Sat, 16 Nov 2024 16:38:11 +0800 Subject: [PATCH 19/20] chore: add continue-on-error: true --- .github/workflows/gitops.yaml | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/.github/workflows/gitops.yaml b/.github/workflows/gitops.yaml index 5f24de27..cb028cf4 100644 --- a/.github/workflows/gitops.yaml +++ b/.github/workflows/gitops.yaml @@ -72,8 +72,13 @@ jobs: build-args: | NEXT_PUBLIC_API_BASE_URL=${{ secrets.NEXT_PUBLIC_API_BASE_URL }} +<<<<<<< Updated upstream update-and-sync: name: Update image tag value +======= + update: + name: Update and Sync Image Tag in ArgoCD +>>>>>>> Stashed changes runs-on: ubuntu-latest container: image: argoproj/argocd @@ -82,25 +87,26 @@ jobs: strategy: matrix: service: ${{ fromJson(needs.changes.outputs.services) }} - steps: - - name: Check out code + - name: Checkout Code Repository uses: actions/checkout@v4 - - name: Update Image Tag Values + - name: Generate New Image Tag run: | new_image_tag=${{ matrix.service }}-${{ github.sha }} echo "new_image_tag=$new_image_tag" >> $GITHUB_ENV - - name: Login to ArgoCD + - name: Authenticate to ArgoCD run: | argocd login argocd.nshm.store \ --username admin \ --password ${{ secrets.ARGOCD_PASSWORD }} \ --insecure + continue-on-error: true - - name: Apply Changes with ArgoCD CLI + - name: Update ArgoCD Application with New Image Tag run: | argocd app set nshm-$GITHUB_REF_NAME \ --helm-set ${{ matrix.service }}.image.tag=${{ env.new_image_tag }} argocd app get nshm-$GITHUB_REF_NAME -o yaml + continue-on-error: true From 866deecde91087b325901dc8fa38d9d44f968d67 Mon Sep 17 00:00:00 2001 From: amber <> Date: Sat, 16 Nov 2024 16:38:41 +0800 Subject: [PATCH 20/20] fix: adjust argocd command --- .github/workflows/gitops.yaml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.github/workflows/gitops.yaml b/.github/workflows/gitops.yaml index cb028cf4..334103c5 100644 --- a/.github/workflows/gitops.yaml +++ b/.github/workflows/gitops.yaml @@ -72,13 +72,8 @@ jobs: build-args: | NEXT_PUBLIC_API_BASE_URL=${{ secrets.NEXT_PUBLIC_API_BASE_URL }} -<<<<<<< Updated upstream - update-and-sync: - name: Update image tag value -======= update: name: Update and Sync Image Tag in ArgoCD ->>>>>>> Stashed changes runs-on: ubuntu-latest container: image: argoproj/argocd