Skip to content

feat: Pod 목록·토폴로지 API 전체 namespace 조회 지원 (closes #51)#52

Merged
younchanhyeok merged 1 commit into
devfrom
feat/#51-pods-all-namespaces
Jun 1, 2026
Merged

feat: Pod 목록·토폴로지 API 전체 namespace 조회 지원 (closes #51)#52
younchanhyeok merged 1 commit into
devfrom
feat/#51-pods-all-namespaces

Conversation

@younchanhyeok
Copy link
Copy Markdown
Contributor

관련 이슈

closes #51

변경 사항

  • GET /api/pods — namespace 파라미터 optional 처리, 미지정 시 전체 namespace 조회
  • GET /api/topology — 동일 패턴 적용, 전체 Pod 포함 + 응답 namespace 필드 "all" 반환
  • GET /api/pods/{podName}/events — namespace optional 처리, 미지정 시 "default" 유지 (하위 호환)

작업 내용 상세

문제
PodController의 세 엔드포인트 모두 @RequestParam(defaultValue = "default")로 고정되어 있어, 프론트엔드가 파라미터 없이 호출하면 항상 default namespace만 반환.
boutique namespace의 Online Boutique 쇼핑몰 Pod 11개가 대시보드에 표시되지 않음.

해결

  • /api/pods, /api/topology: required = false로 변경. namespace 미지정 시 기존 KubernetesService.getAllPods()(전체 namespace) 활용.
  • /api/pods/{podName}/events: namespace optional로 변경하되, 미지정 시 "default" fallback. 프론트가 boutique Pod 클릭 시 namespace를 함께 전달하면 해당 namespace 이벤트 조회 가능. 이상 탐지·티켓·AI 연동 로직은 건드리지 않음.

topology 응답 변경
namespace 미지정(전체 조회) 시 응답의 namespace 필드가 "all"로 반환됨. 특정 namespace 조회 시 기존과 동일.

체크리스트

  • ./gradlew build 성공 확인 (bootJar -x test 통과)
  • 이상 탐지 임계치 변경이 있다면 application.yml에서만 관리되고 있음
  • 에러 응답 형식 ({ status, message, timestamp }) 준수
  • 민감 정보 (API 키, 비밀번호 등) 코드에 포함되지 않음
  • AI 서버 연동 변경 시 fallback 로직 포함 여부 확인

- GET /api/pods: namespace 미지정 시 getAllPods()로 전체 namespace 조회
- GET /api/topology: namespace 미지정 시 전체 Pod 반환, namespace 응답 "all"
- GET /api/pods/{podName}/events: namespace optional 처리, 미지정 시 "default" 유지

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@younchanhyeok younchanhyeok merged commit 7b83783 into dev Jun 1, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant