Skip to content

이미지 정리를 공용 블록으로 옮기고 pull 앞으로 - #75

Open
m-a-king wants to merge 4 commits into
mainfrom
infra/prune-images-gate
Open

m-a-king wants to merge 4 commits into
mainfrom
infra/prune-images-gate

Conversation

@m-a-king

Copy link
Copy Markdown
Collaborator

Situation

  • 배포 이미지 정리를 공용 블록으로 (prune_images.sh) infra#92 에서 만든 blocks/prune_images.sh 를 이 repo 가 소비하는 단계다.
  • 이 박스도 정리가 dangling 만 지우고 있어 sha 태그가 35개, 7.9GB 쌓여 있었다. 그중 5.5GB 가 회수 가능한 상태였다. renderer 가 같은 조건에서 2026-09-13 디스크 98% 로 배포에 실패했다.

Task

Action

  • 공용 블록 prune_images.sh 를 업로드 목록과 chmod 목록에 추가한다.
  • run_container.sh 호출 앞에서 --min-free-gb 10 으로 부른다.
  • 배포 마지막의 docker image prune -f 를 제거한다.
자리 디스크가 찼을 때
배포 마지막 (기존) pull 이 먼저 실패해 정리가 실행되지 않는다
pull 앞 (변경) 정리하고, 그래도 모자라면 여유 N MB < 필요 10240MB 로 끊는다

Result

  • 기준 10GB 는 네 앱 박스 공통이다. 볼륨을 25GB 로 통일해(앱 박스 루트 볼륨을 25GB 로 통일 infra#94) 네 대 모두 이 기준을 만족한다. 이 박스는 확장 후 여유 12.5GB 다.
  • 보존 개수를 세는 로직은 없다. 실행 중 컨테이너의 이미지는 정리 대상이 아니라 blue-green 두 슬롯의 이미지가 자동으로 남는다. 더 오래된 롤백은 레지스트리가 갖는다.

연관 이슈

- 정리가 배포 마지막에 있어 디스크가 찬 상태에서는 pull 이 먼저 죽고 그 줄에 도달하지 못한다. renderer 가 같은 배치로 2026-09-13 배포에 실패했다. 이 박스도 dangling 만 지우고 있어 sha 태그가 35개·7.9GB 쌓여 있었다
- shared-infra 의 prune_images.sh 를 run_container 호출 앞에서 부른다. 정리 후 여유가 10GB 미만이면 배포를 그 자리에서 끊어, pull 이 절반 받고 죽는 대신 원인이 드러난다
- 기준 10GB 는 네 앱 박스 공통이다(볼륨 25GB 통일, TeamPiKi/infra#94). 보존 개수를 세는 로직은 없다 - 실행 중 컨테이너의 이미지는 정리 대상이 아니라 blue-green 두 슬롯의 이미지가 자동으로 남는다 (TeamPiKi/infra#92)
@m-a-king m-a-king added the infra 운영 환경 (IaC·클라우드 리소스·secret·배포 workflow) label Sep 13, 2026
@m-a-king m-a-king self-assigned this Sep 13, 2026
@coderabbitai

coderabbitai Bot commented Sep 13, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Advanced

Run ID: 1b0b2e6a-bb8f-4ecc-8860-a52b4ebcddfe


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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

Copy link
Copy Markdown

Discord 스레드 연동용 메타데이터입니다. discord-pr-bot 워크플로가 자동 생성하며, 수정·삭제하면 PR 과 Discord 알림 연동이 끊깁니다.

- 한 줄에 이어 붙이던 source 를 항목당 한 줄로 바꾸고 블록을 알파벳순으로 둔다. core 가 이미 이 형식이라 세 repo 의 같은 단계가 보기에도 같아진다
- 값은 그대로다. scp-action 은 콤마와 줄바꿈을 같은 구분자로 읽는다(core 배포로 실증)
- 같은 숫자를 세 repo 호출부에 복제하지 않는다. 기준은 함대 정책이라 블록이 기본값 10 을 갖고(TeamPiKi/infra#97), 기준을 바꿀 때 infra 한 곳만 고치면 다음 배포부터 반영된다
- 박스 사정이 다른 서비스가 생기면 그때 --min-free-gb 로 덮어쓴다 (TeamPiKi/infra#92)
- 블록은 전부 bash <경로> 로 부르므로 실행 권한이 필요 없다. core 는 애초에 이 줄이 없고 같은 방식으로 돌고 있다
- 지우는 실익은 유지 비용이다. 블록을 추가할 때마다 이 목록에 이름을 넣어야 하는데 빠뜨려도 아무 일이 없어, 있으나 마나 한 단계가 하나 줄어든다
- 직접 실행하는 provision-observability.sh 의 chmod 는 그대로 둔다 (TeamPiKi/infra#92)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

infra 운영 환경 (IaC·클라우드 리소스·secret·배포 workflow)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant