# ============================================================================= # SBOM 파이프라인 실행 이미지 # # .github/workflows/sbom.yml 의 `container:` (Repo Variable SBOM_PIPELINE_IMAGE) # 로 사용되는 이미지. doc/scripts/*.sh 를 컨테이너 내부에서 직접 실행한다. # 상세: doc/sbom-pipeline.md # # 도구: helm(v3) + trivy + python3 + bash + git # 베이스: debian(glibc) — GitHub Actions container 안에서 node 기반 액션 # (actions/checkout, upload-artifact)이 동작하려면 glibc 필요. # (alpine/musl 은 node 실행 실패 가능 → debian 사용) # # 빌드 & 푸시 (amd64 필수 — GitHub 러너가 amd64): # docker buildx build --platform linux/amd64 \ # -t docker.io//sbom-pipeline:latest -f doc/scripts/Dockerfile --push doc/scripts # # 이후: gh variable set SBOM_PIPELINE_IMAGE --body docker.io//sbom-pipeline:latest # ============================================================================= FROM debian:stable-slim RUN apt-get update && apt-get install -y --no-install-recommends \ curl ca-certificates git python3 bash \ && rm -rf /var/lib/apt/lists/* # helm v3 RUN curl -fsSL https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash # trivy (최신) RUN curl -fsSL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh \ | sh -s -- -b /usr/local/bin # 설치 확인 (빌드 시 도구 누락 조기 감지) RUN helm version --short && trivy --version | head -1 && python3 --version && git --version ENTRYPOINT [] CMD ["bash"]