Conversation
- sources를 외부 Helm 차트와 Git 저장소의 두 항목으로 구성 - ref: values와 $values 경로로 프로젝트 설정 파일 연결 - values 파일을 feat/code-improvements 브랜치에서 읽도록 지정
- .helmignore에 secret values 파일 제외 규칙 추가 - .dockerignore로 환경 파일·비밀값·로컬 산출물 제외
- HPA 활성화 시 Deployment replicas 렌더링 제외 - Argo CD가 HPA가 조정한 replicas 차이를 무시하도록 설정
- 연결 풀 크기와 timeout을 환경변수 및 Helm values로 분리 - HPA와 롤링 업데이트를 고려해 운영 연결 수 제한 - Replica 미사용 시 read/write 연결 풀 공유
- 캐시 세대 키와 최근 쓰기 Primary 조회 창 추가 - 생성·삭제 후 세대 증가로 오래된 캐시 격리 - 일관성 창 외 cache miss는 Read Replica 유지
- Prometheus와 Alertmanager의 emptyDir 임시 스토리지를 EBS PVC(gp2)로 변경하여 Pod 재기동 시 시계열 데이터 및 Silence 상태 보존 - Prometheus storageSpec의 volumeClaimTemplate 계층 누락 및 storageClassName 오타 수정 - 디스크 용량 초과로 인한 크래시 방지를 위해 50Gi PVC 기준 retentionSize를 40Gi로 설정 - 노드 OOM 방지 및 안정적인 스케줄링을 위한 Prometheus Pod 리소스(requests/limits) 설정
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configuration
You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
- OIDC Role의 신뢰 subject를 main 브랜치 push로 축소 - 기능 브랜치와 PR의 ECR push Role Assume 차단 - CI/CD 배포 트리거와 쓰기 권한을 운영 배포 job으로 한정
- 모든 알림 규칙(HighErrorRate, CacheHitRateLow, CacheOperationErrorHigh, DBQueryLatencyHigh, APIRequestLatencyHigh)에 namespace 및 service 라벨 selector 추가하여 타 서비스 메트릭 혼입 방지 - HighErrorRate의 분자/분모 모두에서 probe(/healthz, /readyz) 경로를 제외하여 사용자 요청 에러율 희석 방지 - CacheHitRateLow 평가 시 첫 hit 전 시계열 부재(Empty Vector)로 알림이 누락되지 않도록 vector(0) fallback 적용
- Alertmanager에 Healthchecks Ping URL Secret 마운트 - Watchdog 알림을 전용 webhook receiver로 라우팅 - resolved 이벤트 없이 5분 주기로 heartbeat 전송
- EKS VPC CNI에 NetworkPolicy 집행 기능 활성화 - Traefik·Prometheus의 API 접근과 CoreDNS 조회 허용 - API Pod의 RDS·Redis egress를 VPC CIDR과 필수 포트로 제한 - 환경별 NetworkPolicy 설정값 추가
- Argo CD 동기화와 Healthy 상태 확인 - readiness 및 읽기 API smoke test 추가 - 검증 실패 시 이전 이미지로 GitOps 롤백 및 복구 검증 - 동시 배포 방지 설정 추가
- Primary RDS의 Multi-AZ 구성을 활성화 - Read Replica와 Multi-AZ Standby의 역할을 명확히 구분 - 수동 Replica 승격 시 필요한 복구 절차를 주석으로 기록
- CI/CD 워크플로를 main push에서만 실행하도록 변경 - Argo CD 애플리케이션이 main 브랜치만 추적하도록 통일 - GitHub Actions IAM Role을 main 브랜치 OIDC subject로 제한
- 운영·실습 환경의 RDS 삭제 보호와 최종 스냅샷 정책 분리 - 태그가 있는 ECR 이미지의 자동 만료를 제거하고 release 태그 digest 확인 - 누락된 GitOps 배포 검증 스크립트와 복원 절차 문서 추가
- S3 state 버킷 부트스트랩 및 운영·실습 backend 분리 - Terraform 최소 버전을 올리고 빈 로컬 state를 원격 backend로 이전 - plan.out의 Git 추적 제거 및 운영 절차 문서화
- S3 state 버킷 부트스트랩 및 운영·실습 backend 분리 - Terraform 최소 버전을 올리고 빈 로컬 state를 원격 backend로 이전 - plan.out의 Git 추적 제거 및 운영 절차 문서화
- GitHub Actions를 commit SHA로 고정하고 SonarCloud Action을 후속 Action으로 변경 - yq, Argo CD CLI, Ruff, uv의 버전과 다운로드 해시 고정 - Python base 이미지를 digest로 고정하고 전이 의존성 lock 파일 적용 - Terraform 모듈, Karpenter AMI, GitOps Helm chart 버전 고정 - Dependabot 월간 갱신 PR 및 Terraform·Python·Docker·Helm PR 검사 추가 - 의존성 갱신과 검토 절차를 런북에 문서화 검증: 빌드·배포·인프라 점검은 추후 일괄 진행
- Terraform fmt 검사에서 실패한 파일의 서식 정리 - GitHub Actions를 Node.js 24 지원 버전의 commit SHA로 갱신 - 의존성 검사 워크플로의 YAML 명령 구문 수정
- macOS/arm64 및 Linux/amd64 provider 해시 기록 - 현재 모듈에 맞게 tls provider 제약 정보 갱신 - 다중 플랫폼 lock 파일 갱신 절차 문서화
- API 요청 경로를 그대로 전달하도록 rewrite-target 기본값 제거 - 개발 Ingress class를 Traefik으로 지정
|




개요
DevOps/SRE 코드 리뷰 문서에서 완료로 표시한 17개 항목을
develop에 반영합니다. 아래 내용은 문서의 개선 목표를 실제 변경 코드와 대조해 요약했습니다.변경 사항
애플리케이션·GitOps
sources를 올바른 배열로 수정하고, Git 저장소의 Prometheus values 파일을$values로 연결했습니다.replicas렌더링을 생략하고, Argo CD가 해당 필드를 동기화 과정에서 덮어쓰지 않도록 설정했습니다.관측·네트워크
배포·인프라 운영
main브랜치에만 허용하고, 운영 배포 워크플로도main에서만 실행하도록 제한했습니다.Synced·Healthy인지 확인하고/readyz,/items를 검사합니다. 실패하면 GitOps 이미지 태그를 이전 값으로 되돌린 뒤 복구를 재검증하도록 구성했습니다.release-<commit SHA>태그를 부여합니다.plan.out은 Git 추적에서 제거했습니다.secretRevision기반 롤아웃 경로를 추가했습니다.