시나리오와 위험 (CI Helm·OCI 풀 실패 유형)
Helm OCI는 레지스트리 매니페스트·레이어를 함께 당깁니다. 원격 Mac CI에서 자주 보는 유형은 429/5xx(동시 요청·재시도 스탬피드), 401(로그인 호스트 불일치·토큰 TTL), TLS·프록시(CA·SAN·HTTPS_PROXY), 디스크(HELM_CACHE_HOME 팽창)입니다. --plain-http는 문서화된 사내 HTTP 미러에만 쓰고 공용 경로에는 쓰지 마세요. 디스크·동시성은 빌드 풀 FAQ와 함께 보세요.
온콜은 “동시성·토큰·CA” 중 한 축만 주간에 조정하는 것이 안전합니다.
의사결정 매트릭스 (동시 install·plain-http·인증·백오프)
출발점·지표로만 승격. 토큰은 최대 TTL ~50%에서 순환.
| 프로필 | 동시 install | plain-http | 인증·TTL | 백오프 |
|---|---|---|---|---|
| 보수적 | 잡당 install 1·선행 helm pull |
끔 | 토큰 ≤6h·잡마다 login | 429 4→8→16…·5xx 1→3→9… |
| 균형 | 병렬 2 | 화이트리스트 HTTP만 | 로봇 12–24h | 429 2→4→8…·5xx 1→2→6… |
| 공격적 | 병렬 3–4·프리풀 | 격리망만 | OIDC·짧은 TTL | 429 1→2→4…·5xx 0.5→1→3… |
원칙: helm install 전에 helm pull oci://…로 digest를 고정하면 재시도 폭주를 줄입니다. 이미지는 GHCR 글과 단계를 맞추세요.
실행 체크리스트 (helm registry login·helm pull oci://·환경 변수)
플레이스홀더는 대문자 스네이크로 치환합니다.
export HELM_CACHE_HOME="${WORKSPACE}/.helm-cache"
export HELM_CONFIG_HOME="${WORKSPACE}/.helm-config"
mkdir -p "$HELM_CACHE_HOME" "$HELM_CONFIG_HOME"
export SSL_CERT_FILE="${SSL_CERT_FILE:-/path/to/ca-bundle.pem}"
echo "$REGISTRY_TOKEN" | helm registry login REGISTRY_HOST -u REGISTRY_USER --password-stdin
helm pull oci://REGISTRY_HOST/PROJECT_PATH/CHART_NAME --version CHART_SEMVER \
--destination "${WORKSPACE}/charts"
# 사내 HTTP 미러만: --plain-http
n=0; until helm pull oci://REGISTRY_HOST/PROJECT_PATH/CHART_NAME --version CHART_SEMVER \
--destination "${WORKSPACE}/charts"; do n=$((n+1)); [ "$n" -ge 5 ] && exit 1; sleep $((2**n)); done
Chart.yaml의 oci:// 호스트가 로그인·프록시와 일치하는지 확인하세요. 풀 안정성 FAQ와 래퍼를 공유할 수 있습니다.
FAQ (429·401·인증서)
429: 동시 install·워크플로↓, 선행 helm pull, Retry-After 우선.
401: helm registry login 호스트=oci:// 호스트, 스코프·NTP 시계.
TLS: CA·SAN·FQDN 일치; --insecure-skip-tls-verify는 진단 한정. 구조화 데이터는 상단 FAQPage JSON-LD와 동일합니다.
요약·구매 안내
보수적 행에서 시작해 지표로만 승격하세요. 차트·이미지를 함께 쓰면 GHCR·Harbor 글과 digest 정책을 맞추는 편이 안전합니다.