From 41f67ad2360a9eac5c5e833d2423cd7b4fbe2d9c Mon Sep 17 00:00:00 2001 From: Mayne0213 Date: Wed, 17 Dec 2025 18:02:02 +0900 Subject: [PATCH 1/4] FEAT(app): add self-managing application resources - Add ArgoCD Application manifest - Enable GitOps self-management --- application-dev.yaml | 27 ++++++++++++++++ application.yaml | 36 +++++++++++++++++++++ deploy/k8s/overlays/prod/kustomization.yaml | 2 +- kustomization.yaml | 10 ++++++ 4 files changed, 74 insertions(+), 1 deletion(-) 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/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 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 c877661fd2d96ddff77cf1f0b0ecc327f69fdbed Mon Sep 17 00:00:00 2001 From: Mayne0213 Date: Wed, 17 Dec 2025 18:14:10 +0900 Subject: [PATCH 2/4] REFACTOR(deploy): remove argocd yaml - Remove ArgoCD application from kustomization - Prevent duplicate resource management --- deploy/k8s/overlays/dev/kustomization.yaml | 2 +- deploy/k8s/overlays/prod/kustomization.yaml | 2 +- kustomization.yaml | 5 ++--- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/deploy/k8s/overlays/dev/kustomization.yaml b/deploy/k8s/overlays/dev/kustomization.yaml index 1b273e2..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-498f707f39a515e148c4dd3422745f92be137968 + newTag: develop-sha-b27f4a1c67210ae1b2d1096e35c19c70258d9a66 patchesStrategicMerge: - deployment-patch.yaml diff --git a/deploy/k8s/overlays/prod/kustomization.yaml b/deploy/k8s/overlays/prod/kustomization.yaml index d0ce3e1..440f267 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-422977ae47ad6f57aea541d216758d888e589314 + newTag: main-sha-879cb420edb94a27a6ecd00d9383a6edd0ab4c0c 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 fafc265895e33a9642bb078234d593489aabdf6e Mon Sep 17 00:00:00 2001 From: Mayne0213 Date: Wed, 17 Dec 2025 18:27:23 +0900 Subject: [PATCH 3/4] 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/prod/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/prod/kustomization.yaml b/deploy/k8s/overlays/prod/kustomization.yaml index 440f267..5ccfe2d 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-879cb420edb94a27a6ecd00d9383a6edd0ab4c0c + newTag: main-sha-22be18850e9e0d735b4b1a9375ae470815338bef 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 4/4] 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