From 442c6e4e81e32592117727c2b81f99fa274bc235 Mon Sep 17 00:00:00 2001 From: Mayne0213 Date: Wed, 17 Dec 2025 18:01:49 +0900 Subject: [PATCH 01/11] CHORE(merge): merge self-managing resources - Merge ArgoCD self-management from main - Sync with main branch --- deploy/k8s/overlays/dev/kustomization.yaml | 2 +- deploy/k8s/overlays/prod/kustomization.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/deploy/k8s/overlays/dev/kustomization.yaml b/deploy/k8s/overlays/dev/kustomization.yaml index 1b273e2..2723c8d 100644 --- a/deploy/k8s/overlays/dev/kustomization.yaml +++ b/deploy/k8s/overlays/dev/kustomization.yaml @@ -14,7 +14,7 @@ commonLabels: # 이미지 태그 설정 images: - name: ghcr.io/mayne0213/jovies - newTag: develop-sha-498f707f39a515e148c4dd3422745f92be137968 + newTag: develop-sha-422977ae47ad6f57aea541d216758d888e589314 patchesStrategicMerge: - deployment-patch.yaml diff --git a/deploy/k8s/overlays/prod/kustomization.yaml b/deploy/k8s/overlays/prod/kustomization.yaml index 059c242..d0ce3e1 100644 --- a/deploy/k8s/overlays/prod/kustomization.yaml +++ b/deploy/k8s/overlays/prod/kustomization.yaml @@ -13,7 +13,7 @@ commonLabels: # 이미지 태그 설정 images: - name: ghcr.io/mayne0213/jovies - newTag: main-sha-af477b9ff79f3e19a03dedfccdb099161469471f + newTag: main-sha-422977ae47ad6f57aea541d216758d888e589314 patchesStrategicMerge: - deployment-patch.yaml From 3396abc3524406cf76cbb264efc70616745d05f6 Mon Sep 17 00:00:00 2001 From: Mayne0213 Date: Wed, 17 Dec 2025 18:02:02 +0900 Subject: [PATCH 02/11] FEAT(app): add self-managing application resources - Add ArgoCD Application manifest - Enable GitOps self-management --- application-dev.yaml | 27 +++++++++++++++++++++++++++ application.yaml | 36 ++++++++++++++++++++++++++++++++++++ kustomization.yaml | 10 ++++++++++ 3 files changed, 73 insertions(+) create mode 100644 application-dev.yaml create mode 100644 application.yaml create mode 100644 kustomization.yaml diff --git a/application-dev.yaml b/application-dev.yaml new file mode 100644 index 0000000..555bd7a --- /dev/null +++ b/application-dev.yaml @@ -0,0 +1,27 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: jovies-dev + namespace: argocd +spec: + project: default + source: + repoURL: https://gitea0213.kro.kr/bluemayne/jovies.git + targetRevision: develop + path: deploy/k8s/overlays/dev + destination: + server: https://kubernetes.default.svc + namespace: jovies-dev + syncPolicy: + automated: + prune: true + selfHeal: true + allowEmpty: false + syncOptions: + - CreateNamespace=true + retry: + limit: 5 + backoff: + duration: 5s + factor: 2 + maxDuration: 3m diff --git a/application.yaml b/application.yaml new file mode 100644 index 0000000..dbde1d9 --- /dev/null +++ b/application.yaml @@ -0,0 +1,36 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: jovies + namespace: argocd + finalizers: + - resources-finalizer.argocd.argoproj.io +spec: + project: default + + source: + repoURL: https://gitea0213.kro.kr/bluemayne/jovies.git + targetRevision: main + path: . + + destination: + server: https://kubernetes.default.svc + namespace: argocd + + syncPolicy: + automated: + prune: true + selfHeal: true + allowEmpty: false + + syncOptions: + - CreateNamespace=true + + retry: + limit: 5 + backoff: + duration: 5s + factor: 2 + maxDuration: 3m + + revisionHistoryLimit: 10 diff --git a/kustomization.yaml b/kustomization.yaml new file mode 100644 index 0000000..ee9d8f2 --- /dev/null +++ b/kustomization.yaml @@ -0,0 +1,10 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + # App of Apps Application + - application.yaml + + # Application deployments + - application-dev.yaml + - deploy/argocd/application.yaml From 5eca3ecc9577abb1623c68d9f256f679584c1367 Mon Sep 17 00:00:00 2001 From: Mayne0213 Date: Wed, 17 Dec 2025 18:14:10 +0900 Subject: [PATCH 03/11] REFACTOR(deploy): remove argocd yaml - Remove ArgoCD application from kustomization - Prevent duplicate resource management --- deploy/k8s/overlays/dev/kustomization.yaml | 2 +- kustomization.yaml | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/deploy/k8s/overlays/dev/kustomization.yaml b/deploy/k8s/overlays/dev/kustomization.yaml index 2723c8d..e5573d3 100644 --- a/deploy/k8s/overlays/dev/kustomization.yaml +++ b/deploy/k8s/overlays/dev/kustomization.yaml @@ -14,7 +14,7 @@ commonLabels: # 이미지 태그 설정 images: - name: ghcr.io/mayne0213/jovies - newTag: develop-sha-422977ae47ad6f57aea541d216758d888e589314 + newTag: develop-sha-b27f4a1c67210ae1b2d1096e35c19c70258d9a66 patchesStrategicMerge: - deployment-patch.yaml diff --git a/kustomization.yaml b/kustomization.yaml index ee9d8f2..b09e970 100644 --- a/kustomization.yaml +++ b/kustomization.yaml @@ -2,9 +2,8 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: - # App of Apps Application + # App of Apps Application (self-managing) - application.yaml - # Application deployments + # Application deployments (prod and dev) - application-dev.yaml - - deploy/argocd/application.yaml From 2e2d21bfebca49b2702ce1d0a0648b1559e2c2e5 Mon Sep 17 00:00:00 2001 From: Mayne0213 Date: Wed, 17 Dec 2025 18:26:13 +0900 Subject: [PATCH 04/11] REFACTOR(deploy): move argocd manifests - Reorganize ArgoCD application structure - Move manifests to deploy/argocd folder --- application.yaml | 36 ------------------- .../argocd/application-dev.yaml | 0 deploy/argocd/application.yaml | 16 +++------ .../argocd/kustomization.yaml | 0 deploy/k8s/overlays/dev/kustomization.yaml | 2 +- 5 files changed, 6 insertions(+), 48 deletions(-) delete mode 100644 application.yaml rename application-dev.yaml => deploy/argocd/application-dev.yaml (100%) rename kustomization.yaml => deploy/argocd/kustomization.yaml (100%) diff --git a/application.yaml b/application.yaml deleted file mode 100644 index dbde1d9..0000000 --- a/application.yaml +++ /dev/null @@ -1,36 +0,0 @@ -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: jovies - namespace: argocd - finalizers: - - resources-finalizer.argocd.argoproj.io -spec: - project: default - - source: - repoURL: https://gitea0213.kro.kr/bluemayne/jovies.git - targetRevision: main - path: . - - destination: - server: https://kubernetes.default.svc - namespace: argocd - - syncPolicy: - automated: - prune: true - selfHeal: true - allowEmpty: false - - syncOptions: - - CreateNamespace=true - - retry: - limit: 5 - backoff: - duration: 5s - factor: 2 - maxDuration: 3m - - revisionHistoryLimit: 10 diff --git a/application-dev.yaml b/deploy/argocd/application-dev.yaml similarity index 100% rename from application-dev.yaml rename to deploy/argocd/application-dev.yaml diff --git a/deploy/argocd/application.yaml b/deploy/argocd/application.yaml index 7100ff2..dbde1d9 100644 --- a/deploy/argocd/application.yaml +++ b/deploy/argocd/application.yaml @@ -3,10 +3,6 @@ kind: Application metadata: name: jovies namespace: argocd - annotations: - argocd-image-updater.argoproj.io/image-list: jovies=ghcr.io/mayne0213/jovies - argocd-image-updater.argoproj.io/jovies.update-strategy: latest - argocd-image-updater.argoproj.io/write-back-method: argocd finalizers: - resources-finalizer.argocd.argoproj.io spec: @@ -15,22 +11,20 @@ spec: source: repoURL: https://gitea0213.kro.kr/bluemayne/jovies.git targetRevision: main - path: deploy/k8s/overlays/prod + path: . destination: server: https://kubernetes.default.svc - namespace: jovies + namespace: argocd syncPolicy: automated: - prune: true # 매니페스트에서 제거된 리소스 자동 삭제 - selfHeal: true # 클러스터에서 수동 변경 시 자동 복구 + prune: true + selfHeal: true allowEmpty: false syncOptions: - - CreateNamespace=true # namespace가 없으면 자동 생성 - - PrunePropagationPolicy=foreground - - PruneLast=true + - CreateNamespace=true retry: limit: 5 diff --git a/kustomization.yaml b/deploy/argocd/kustomization.yaml similarity index 100% rename from kustomization.yaml rename to deploy/argocd/kustomization.yaml diff --git a/deploy/k8s/overlays/dev/kustomization.yaml b/deploy/k8s/overlays/dev/kustomization.yaml index e5573d3..fd92af3 100644 --- a/deploy/k8s/overlays/dev/kustomization.yaml +++ b/deploy/k8s/overlays/dev/kustomization.yaml @@ -14,7 +14,7 @@ commonLabels: # 이미지 태그 설정 images: - name: ghcr.io/mayne0213/jovies - newTag: develop-sha-b27f4a1c67210ae1b2d1096e35c19c70258d9a66 + newTag: develop-sha-253a5257f44a20c3c33c2cf7302bb8e24f370c45 patchesStrategicMerge: - deployment-patch.yaml From d59294995d23f37d3a6c556e235d41fb1d692697 Mon Sep 17 00:00:00 2001 From: Mayne0213 Date: Wed, 17 Dec 2025 18:33:10 +0900 Subject: [PATCH 05/11] CHORE(deploy): update argocd path - Move ArgoCD application to deploy/argocd - Update path references --- deploy/argocd/application.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deploy/argocd/application.yaml b/deploy/argocd/application.yaml index dbde1d9..eb7dc12 100644 --- a/deploy/argocd/application.yaml +++ b/deploy/argocd/application.yaml @@ -11,7 +11,7 @@ spec: source: repoURL: https://gitea0213.kro.kr/bluemayne/jovies.git targetRevision: main - path: . + path: deploy/argocd destination: server: https://kubernetes.default.svc From d0b2fae86035f85b0dc9314847335f3fd89c12d6 Mon Sep 17 00:00:00 2001 From: Mayne0213 Date: Thu, 18 Dec 2025 17:34:42 +0900 Subject: [PATCH 06/11] CHORE(app): refresh hooks - Trigger CI/CD pipeline - Refresh deployment hooks From ce5894d2be165f5c82b004e4ac94157d995f88cc Mon Sep 17 00:00:00 2001 From: Mayne0213 Date: Sat, 20 Dec 2025 12:29:16 +0900 Subject: [PATCH 07/11] CHORE(app): switch to Gitea container registry - Migrate from ghcr.io to Gitea registry - Update image references --- .gitea/workflows/build.yml | 8 ++++---- deploy/k8s/overlays/dev/kustomization.yaml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml index b8bea58..7e55118 100644 --- a/.gitea/workflows/build.yml +++ b/.gitea/workflows/build.yml @@ -8,7 +8,7 @@ on: workflow_dispatch: env: - REGISTRY: ghcr.io + REGISTRY: gitea0213.kro.kr IMAGE_NAME: ${{ github.repository }} DOCKER_HOST: tcp://172.17.0.1:2375 @@ -27,14 +27,14 @@ jobs: - name: Checkout code uses: actions/checkout@v4 - - name: Log in to GitHub Container Registry + - name: Log in to Gitea Container Registry run: | - echo "${{ secrets.githubregistry }}" | docker login ${{ env.REGISTRY }} -u Mayne0213 --password-stdin + echo "${{ secrets.GITEA_TOKEN }}" | docker login ${{ env.REGISTRY }} -u bluemayne --password-stdin - name: Lowercase repository name id: lowercase run: | - echo "repo=$(echo ${{ github.repository }} | tr '[:upper:]' '[:lower:]' | sed 's/bluemayne/mayne0213/')" >> $GITHUB_OUTPUT + echo "repo=$(echo ${{ github.repository }} | tr '[:upper:]' '[:lower:]')" >> $GITHUB_OUTPUT - name: Extract metadata (tags, labels) id: meta diff --git a/deploy/k8s/overlays/dev/kustomization.yaml b/deploy/k8s/overlays/dev/kustomization.yaml index e5573d3..c31ad23 100644 --- a/deploy/k8s/overlays/dev/kustomization.yaml +++ b/deploy/k8s/overlays/dev/kustomization.yaml @@ -14,7 +14,7 @@ commonLabels: # 이미지 태그 설정 images: - name: ghcr.io/mayne0213/jovies - newTag: develop-sha-b27f4a1c67210ae1b2d1096e35c19c70258d9a66 + newTag: develop-sha-be01ba679bb808ae818affd205b2194a42e67103 patchesStrategicMerge: - deployment-patch.yaml From 1db60d59ea7d1db672587c6fa16398cb7973876e Mon Sep 17 00:00:00 2001 From: Mayne0213 Date: Sat, 20 Dec 2025 12:38:57 +0900 Subject: [PATCH 08/11] FIX(ci): fix gitea registry login - Use github.token for Gitea registry authentication - Fix CI authentication --- .gitea/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml index 7e55118..5f97783 100644 --- a/.gitea/workflows/build.yml +++ b/.gitea/workflows/build.yml @@ -29,7 +29,7 @@ jobs: - name: Log in to Gitea Container Registry run: | - echo "${{ secrets.GITEA_TOKEN }}" | docker login ${{ env.REGISTRY }} -u bluemayne --password-stdin + echo "${{ github.token }}" | docker login ${{ env.REGISTRY }} -u ${{ github.actor }} --password-stdin - name: Lowercase repository name id: lowercase From 21018184509962e30aa352265fc1c5b6c66075aa Mon Sep 17 00:00:00 2001 From: Mayne0213 Date: Sat, 20 Dec 2025 12:42:20 +0900 Subject: [PATCH 09/11] REFACTOR(auth): use GITEA_PACKAGE_TOKEN - Change to GITEA_PACKAGE_TOKEN for authentication - Update registry login method --- .gitea/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml index 5f97783..8974b47 100644 --- a/.gitea/workflows/build.yml +++ b/.gitea/workflows/build.yml @@ -29,7 +29,7 @@ jobs: - name: Log in to Gitea Container Registry run: | - echo "${{ github.token }}" | docker login ${{ env.REGISTRY }} -u ${{ github.actor }} --password-stdin + echo "${{ secrets.GITEA_PACKAGE_TOKEN }}" | docker login ${{ env.REGISTRY }} -u bluemayne --password-stdin - name: Lowercase repository name id: lowercase From c411a6499b99619d1ceaa2e17226192bbaa9f3f2 Mon Sep 17 00:00:00 2001 From: Mayne0213 Date: Sat, 20 Dec 2025 12:45:02 +0900 Subject: [PATCH 10/11] REFACTOR(auth): use gitea secret - Use Gitea-provided secret for registry authentication - Simplify credential management --- .gitea/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml index 8974b47..a552af6 100644 --- a/.gitea/workflows/build.yml +++ b/.gitea/workflows/build.yml @@ -29,7 +29,7 @@ jobs: - name: Log in to Gitea Container Registry run: | - echo "${{ secrets.GITEA_PACKAGE_TOKEN }}" | docker login ${{ env.REGISTRY }} -u bluemayne --password-stdin + echo "${{ secrets.GITEA }}" | docker login ${{ env.REGISTRY }} -u bluemayne --password-stdin - name: Lowercase repository name id: lowercase From 673921be5c74c59ead75e2a8863fd56ece3fbd98 Mon Sep 17 00:00:00 2001 From: Mayne0213 Date: Sat, 20 Dec 2025 13:04:10 +0900 Subject: [PATCH 11/11] REFACTOR(auth): use gitearegistry secret - Change to gitearegistry secret for authentication - Update registry credentials --- .gitea/workflows/build.yml | 4 ++-- deploy/k8s/overlays/dev/kustomization.yaml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml index a552af6..d5a1018 100644 --- a/.gitea/workflows/build.yml +++ b/.gitea/workflows/build.yml @@ -29,7 +29,7 @@ jobs: - name: Log in to Gitea Container Registry run: | - echo "${{ secrets.GITEA }}" | docker login ${{ env.REGISTRY }} -u bluemayne --password-stdin + echo "${{ secrets.GITEAREGISTRY}}" | docker login ${{ env.REGISTRY }} -u bluemayne --password-stdin - name: Lowercase repository name id: lowercase @@ -121,7 +121,7 @@ jobs: - name: Update kustomization with new image tag env: - GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }} + GITEA_TOKEN: ${{ secrets.GITEAREGISTRYTOKEN }} run: | git config --global user.name "gitea-actions[bot]" git config --global user.email "gitea-actions[bot]@users.noreply.gitea.com" diff --git a/deploy/k8s/overlays/dev/kustomization.yaml b/deploy/k8s/overlays/dev/kustomization.yaml index c31ad23..8908e64 100644 --- a/deploy/k8s/overlays/dev/kustomization.yaml +++ b/deploy/k8s/overlays/dev/kustomization.yaml @@ -14,7 +14,7 @@ commonLabels: # 이미지 태그 설정 images: - name: ghcr.io/mayne0213/jovies - newTag: develop-sha-be01ba679bb808ae818affd205b2194a42e67103 + newTag: develop-sha-2e9b27379f5556743af359fe5024cd22c957166d patchesStrategicMerge: - deployment-patch.yaml