Skip to content

fix: Docker 엔진 없는 Nexus 이미지 저장 및 실패 배포 관리 개선 - #217

Closed
eunjun-strato wants to merge 7 commits into
m-cmp:mainfrom
eunjun-strato:codex/nexus-engine-ui-tests-20261014
Closed

eunjun-strato wants to merge 7 commits into
m-cmp:mainfrom
eunjun-strato:codex/nexus-engine-ui-tests-20261014

Conversation

@eunjun-strato

Copy link
Copy Markdown
Contributor

변경 내용

  • Docker Hub → Nexus 이미지 저장을 AM 이미지에 포함된 Skopeo로 변경합니다. Docker socket 연결, 호스트 Engine 설정 변경 및 mc-admin-cli 수정 없이 기존 Import & Create 흐름을 유지합니다.
  • 원본 digest와 멀티플랫폼 manifest를 보존하고, 임시 인증 파일을 제한된 권한으로 생성·정리합니다. 기존 Nexus 계정과 Registry 접속·쓰기 권한은 필요합니다.
  • 다른 태그를 이미 저장된 이미지로 오인하는 검사와 전송 실패 후 Catalog가 등록되는 문제를 수정합니다. 선택적 Registry endpoint 설정은 기본 내부 네트워크 환경에서 필요하지 않습니다.
  • 기존 #216의 배포 실패 메시지·상세 로그 및 모달 수명주기 개선, K8s 메모리 단위 처리, 빌트인 Helm chart 0.1.1 변경을 포함합니다.
  • Failed 앱의 Uninstall을 허용하고 Catalog 삭제 시 nullable 관계의 로그 누락을 수정합니다.
  • CI/CD에서 최신 프런트엔드를 빌드해 이미지에 포함하도록 수정합니다.

검증

  • Gradle: 828 tests, 0 failures, 0 errors, 1 conditional skip.
  • 프런트엔드 빌드·타입 검사, Failed Uninstall 26개 조건 및 빌트인 차트 form 64개 조건 검증.
  • 실제 UI에서 ghost:bookworm Import & Create 성공 후 Repository에서 같은 이미지·태그를 확인했습니다. 원본/대상 SHA256이 일치하며 child manifest 6개와 blob 40개를 독립 확인했습니다.
  • 추가 API 시험: busybox:1.37.0 복사·digest 일치, 존재하지 않는 태그와 잘못된 이미지 이름의 실패, 동일 이미지의 다른 태그 중복 검사.
  • AM만 이미지 교체했습니다. 다른 서비스 43개 컨테이너 및 호스트 Docker Registry 설정은 변경하지 않았습니다. 기존 일별 아카이빙 421건의 전체 내용 hash가 유지되며 수집이 계속됩니다.
  • 시험용 Catalog·Package·Repository·복사 이미지는 정리했습니다. VM/클러스터 생성이나 기존 애플리케이션 재배포는 하지 않았습니다.

범위·주의 사항

  • 새 Registry 복사 기능은 기존 공개 Docker Hub 경로 대상입니다. 비공개 이미지의 소스 인증 지원을 새로 추가하지 않습니다.
  • HTTP destination은 기존 구성대로 사용할 수 있지만 암호화되지 않습니다. Docker Hub source 및 HTTPS destination의 인증서 검증은 유지합니다. 전체 멀티플랫폼 복사는 단일 플랫폼보다 전송량이 늘 수 있습니다.
  • 민감한 로컬 인수인계 문서와 데이터 생성/복구 스크립트는 포함하지 않았습니다.
  • 이 PR은 #216을 대체합니다.

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