From b57a3e67192bf0b853f3269c50d7c09ebb507a3f Mon Sep 17 00:00:00 2001 From: Youn Chan Hyeok Date: Mon, 1 Jun 2026 19:18:04 +0900 Subject: [PATCH 1/2] =?UTF-8?q?feat:=20Pod=20=EB=AA=A9=EB=A1=9D=C2=B7?= =?UTF-8?q?=ED=86=A0=ED=8F=B4=EB=A1=9C=EC=A7=80=20API=20=EC=A0=84=EC=B2=B4?= =?UTF-8?q?=20namespace=20=EC=A1=B0=ED=9A=8C=20=EC=A7=80=EC=9B=90=20(close?= =?UTF-8?q?s=20#51)=20(#53)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit feat: Pod 목록·토폴로지 API 전체 namespace 조회 지원 (closes #51) --- .../com/dgu/cap/kubernetes/PodController.java | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/dgu/cap/kubernetes/PodController.java b/src/main/java/com/dgu/cap/kubernetes/PodController.java index 6adf399..df5fd2e 100644 --- a/src/main/java/com/dgu/cap/kubernetes/PodController.java +++ b/src/main/java/com/dgu/cap/kubernetes/PodController.java @@ -16,20 +16,28 @@ public class PodController { @GetMapping("/pods") public ResponseEntity> getPods( - @RequestParam(defaultValue = "default") String namespace) { + @RequestParam(required = false) String namespace) { + if (namespace == null || namespace.isBlank()) { + return ResponseEntity.ok(kubernetesService.getAllPods()); + } return ResponseEntity.ok(kubernetesService.getPods(namespace)); } @GetMapping("/pods/{podName}/events") public ResponseEntity> getPodEvents( @PathVariable String podName, - @RequestParam(defaultValue = "default") String namespace) { - return ResponseEntity.ok(kubernetesService.getPodEvents(podName, namespace)); + @RequestParam(required = false) String namespace) { + String ns = (namespace == null || namespace.isBlank()) ? "default" : namespace; + return ResponseEntity.ok(kubernetesService.getPodEvents(podName, ns)); } @GetMapping("/topology") public ResponseEntity> getTopology( - @RequestParam(defaultValue = "default") String namespace) { + @RequestParam(required = false) String namespace) { + if (namespace == null || namespace.isBlank()) { + List pods = kubernetesService.getAllPods(); + return ResponseEntity.ok(Map.of("pods", pods, "namespace", "all")); + } List pods = kubernetesService.getPods(namespace); return ResponseEntity.ok(Map.of("pods", pods, "namespace", namespace)); } From cdc74161a7407f8bc052bbec961c671a9dc54636 Mon Sep 17 00:00:00 2001 From: Youn Chan Hyeok Date: Mon, 1 Jun 2026 19:34:39 +0900 Subject: [PATCH 2/2] =?UTF-8?q?chore:=20CI=20latest=20=ED=83=9C=EA=B7=B8?= =?UTF-8?q?=20=EC=A0=9C=EA=B1=B0=20=EB=B0=8F=20=EC=9D=B8=ED=94=84=EB=9D=BC?= =?UTF-8?q?=20=EB=A0=88=ED=8F=AC=20=EC=9D=B4=EB=AF=B8=EC=A7=80=20=ED=83=9C?= =?UTF-8?q?=EA=B7=B8=20=EC=9E=90=EB=8F=99=20bump=20(closes=20#54)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - ECR IMMUTABLE 정책 대응: :latest 태그 빌드/push 제거 - main push 성공 후 DGU-CAP/infra kustomization.yaml의 newTag를 commit SHA로 자동 업데이트하여 ArgoCD GitOps 자동 배포 완성 Co-Authored-By: Claude Sonnet 4.6 --- .github/workflows/ci.yml | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ce5699c..c1b62e6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -82,6 +82,27 @@ jobs: run: | IMAGE_TAG=${{ github.sha }} docker build -t $ECR_REGISTRY/${{ secrets.ECR_REPOSITORY }}:$IMAGE_TAG . - docker tag $ECR_REGISTRY/${{ secrets.ECR_REPOSITORY }}:$IMAGE_TAG $ECR_REGISTRY/${{ secrets.ECR_REPOSITORY }}:latest docker push $ECR_REGISTRY/${{ secrets.ECR_REPOSITORY }}:$IMAGE_TAG - docker push $ECR_REGISTRY/${{ secrets.ECR_REPOSITORY }}:latest \ No newline at end of file + + - name: Bump image tag in infra repo + if: github.event_name == 'push' && github.ref == 'refs/heads/main' + env: + INFRA_REPO_TOKEN: ${{ secrets.INFRA_REPO_TOKEN }} + run: | + git clone https://x-access-token:${INFRA_REPO_TOKEN}@github.com/DGU-CAP/infra.git infra-repo + cd infra-repo/k8s/manifests/overlays/eks/backend + + # kustomize가 없으면 설치 + if ! command -v kustomize &> /dev/null; then + curl -s "https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/hack/install_kustomize.sh" | bash + sudo mv kustomize /usr/local/bin/ + fi + + kustomize edit set image \ + 428185450315.dkr.ecr.ap-northeast-2.amazonaws.com/dgu-cap-backend=428185450315.dkr.ecr.ap-northeast-2.amazonaws.com/dgu-cap-backend:${{ github.sha }} + + git config user.name "github-actions[bot]" + git config user.email "github-actions[bot]@users.noreply.github.com" + git add kustomization.yaml + git commit -m "chore: bump backend image to ${{ github.sha }}" + git push origin main \ No newline at end of file