Hye Jin Ryoo

[컨테이너 공급망] Day 4: SBOM·서명·Provenance - 이미지 출처 증명하기

서론: 오늘의 문제 취약점 scanner 결과만으로는 이미지에 무엇이 있고 누가 어떤 과정으로 만들었는지 증명할 수 없다. SBOM, digest, 서명과 provenance를 연결해 배포 전 검증한다. 1. SBOM의 역할 OS package와 언어 의존성, 버전을 기계가 읽을 수 있는 목록으로 만든다. 생성 시점과 도구, image diges...

[컨테이너 공급망] Day 2: 런타임 격리 - Root와 Capability 줄이기

서론: 오늘의 문제 컨테이너는 가상 머신과 같은 강한 경계가 아니라 커널을 공유하는 프로세스 격리다. 사용자, capability, filesystem, syscall과 자원 제한을 최소 권한으로 설정한다. 1. Non-root 사용자 이미지에 전용 UID를 만들고 런타임에서도 non-root 실행을 강제한다. 숫자 UID와 파일 소유권을 맞춰 ...

[컨테이너 공급망] Day 1: 재현 가능한 이미지 - Multi-stage와 Digest

서론: 오늘의 문제 컨테이너 이미지는 실행 파일과 운영체제 조각, 의존성을 묶은 배포 산출물이다. 작은 크기보다 동일 입력이 동일 결과를 만들고 출처를 추적할 수 있는 빌드를 우선한다. 1. Multi-stage 경계 컴파일러와 패키지 관리자는 build stage에 남기고 실행에 필요한 파일만 runtime stage로 복사한다. stage 사...

[GitHub Actions 운영] Day 2: Matrix·Cache·Artifact - 빠르고 재현 가능한 CI

서론: 오늘의 문제 병렬 실행과 캐시는 CI를 빠르게 만들지만 조합 폭발과 오래된 의존성 문제를 만들 수 있다. 테스트 범위, cache key, artifact 수명을 재현성 중심으로 설계한다. 1. Matrix의 목적 지원 런타임과 운영체제 조합을 명시하되 모든 축을 곱하지 않는다. 대표 조합과 위험 조합을 선택하고 experimental 항...

[GitHub Actions 운영] Day 1: Workflow 기본기 - 이벤트에서 Job까지 경계 세우기

서론: 오늘의 문제 CI가 커질수록 YAML 줄 수보다 이벤트, 권한, job 의존성의 경계가 중요해진다. 어떤 변경이 어떤 검증을 실행하는지 예측 가능한 workflow 구조를 만든다. 1. 이벤트를 좁게 선택 push와 pull_request를 습관적으로 모두 켜면 같은 커밋을 중복 검증할 수 있다. branch와 path 필터를 사용하되 필...