Skip to content

플랫폼 배포 검증·운영 안전장치 main 릴리스 - #17

Merged
masondev1024 merged 9 commits into
mainfrom
dev
Sep 27, 2026
Merged

masondev1024 merged 9 commits into
mainfrom
dev

Conversation

@masondev1024

@masondev1024 masondev1024 commented Sep 27, 2026 •

Copy link
Copy Markdown
Owner

변경 내용

  • #16에서 검증한 개발자 GitOps 배포·복구 경로와 운영 안전장치를 dev에서 main으로 릴리스합니다.
  • 서명된 image-only 후보, OCI 이미지 출처 검사, Argo revision 및 실제 제한 계정의 Pod digest 검증을 연결했습니다.
  • DB TLS·마이그레이션 계정 분리, 해시 전용 로그인, 세션별 ALB 권한, 실험 자원 수명 제한을 보강했습니다.
  • #18의 CodeQL 테스트 정밀 비교와 #19의 마감·추첨 완료 응모 차단 및 미래 시점 합성 seed를 포함합니다. 기존 상품을 재오픈하지 않습니다.
  • 공개 Markdown은 루트 README만 유지합니다. 개인 판단 기록과 원시 실행 증거는 원격에 포함하지 않습니다.

변경 이유

검사를 통과한 코드·이미지와 실제 배포된 버전을 연결하고, 검증 실패나 불명확한 상태를 성공으로 처리하지 않기 위한 릴리스입니다.

데이터·실행 영향

  • main CD는 공통 검사 뒤 기존 ECR에 불변 SHA 이미지를 발행하고 서명된 prod/validation 후보를 만듭니다. 자동 인프라 생성·자동 앱 배포는 하지 않습니다.
  • validation 배포는 발행된 후보를 별도 dev → main PR로 반영한 후, 승인된 임시 AWS 세션에서만 실행합니다.
  • 기존 평문 로그인 계정은 비밀번호 재설정이 필요합니다. 운영 DB의 데이터나 비밀번호를 이 PR에서 변경하지 않습니다.
  • 새 임시 인프라는 예비비 포함 USD 5.50·최대 생존 3시간 계획으로 제한합니다. AWS 청구 하드캡은 아닙니다.

검증

  • 공개 파일 snapshot 테스트 650개 통과 후 응모 경계 검증을 추가해 최신 Python 3.12 전체 653개 통과, skip 0. #19의 원격 CI도 통과했습니다.
  • kubectl 1.36 manifest 렌더링, Terraform fmt/validate, Trivy HIGH/CRITICAL IaC·secret 검사 0건.
  • 개발자 GitOps 배포 검증·임시 AWS 운영 경로 dev 반영 #16 최신 commit의 원격 CI·Security·CodeQL 통과. Optional ZAP은 미실행입니다.
  • AWS 정책 문법 및 권한 모의 검사 통과. 신규 GitOps·HTTP·DB·canary 복구 실환경 E2E는 이미지 발행 후 별도로 실행하며, 현재 결과로 성공을 주장하지 않습니다.

되돌리기

  • 코드 및 배포 변경은 dev → main revert PR로 복구합니다. 앱은 검증된 이전 이미지 digest를 사용합니다.
  • DB 추가형 DDL을 앱 rollback과 함께 자동 삭제하지 않습니다.
  • 임시 AWS 자원은 정확한 계정·리전·Session/Approval 태그를 확인한 뒤 해당 세션만 정리합니다.

Comment thread scripts/tests/test_prepare_release_candidate.py Fixed
Comment thread scripts/tests/test_verify_gitops_deployment.py Fixed
Comment thread scripts/tests/test_verify_gitops_deployment.py Fixed
Comment thread scripts/tests/test_verify_gitops_deployment.py Fixed
@masondev1024
masondev1024 merged commit 187c7d2 into main Sep 27, 2026
25 checks 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.

2 participants