2af7fcb43d
manifests/helm 카탈로그 전 이미지의 SBOM(CycloneDX)과 취약점 리포트를 생성하는 파이프라인 추가. 컨테이너 내부 trivy/helm 바이너리 직접 호출. - doc/scripts/extract-helm-images.sh: helm template 렌더로 이미지 인벤토리 추출 - doc/scripts/generate-sbom.sh: trivy image --format cyclonedx (이미지 1회 pull) - doc/scripts/scan-sbom.sh: trivy sbom 로 SBOM 기반 오프라인 취약점 스캔 - .github/workflows/sbom.yml: 스케줄(전체)+PR(증분)+수동, 산출물은 아티팩트 - doc/sbom-pipeline.md: 파이프라인 설계·운영 문서(단일) - latest/무태그 digest 고정: mlflow postgresql, vllm-openai(v0.24.0) - .gitignore: 파이프라인 산출물 제외 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
MLflow Helm Chart
MLflow는 머신러닝 실험 추적, 모델 패키징, 배포를 위한 오픈소스 플랫폼이다.
- Chart version: 1.9.0
- App version: 3.11.1
- Upstream: community-charts/helm-charts
- PaaSup 커스텀 이미지:
paasup/mlflow:v3.11.1-oidc(mlflow-oidc-auth v7.0.3 포함)
실제 배포 방법 및 custom-values.yaml 설명은 CUSTOM-README.md를 참고한다.
주요 파라미터
이미지
| 파라미터 | 설명 | 기본값 |
|---|---|---|
image.repository |
MLflow 이미지 저장소 | paasup/mlflow |
image.tag |
이미지 태그 | v3.11.1-oidc |
image.pullPolicy |
이미지 pull 정책 | IfNotPresent |
initImages.dbchecker.tag |
DB 연결 확인 init 컨테이너 태그 | 1.37 |
initImages.mlflowDbMigration.repository |
DB 마이그레이션 init 컨테이너 이미지 | paasup/mlflow |
initImages.iniFileInitializer.tag |
ini 파일 초기화 init 컨테이너 태그 | 1.37 |
replicaCount |
Pod 복제 수 | 1 |
백엔드 스토어
| 파라미터 | 설명 | 기본값 |
|---|---|---|
backendStore.databaseMigration |
시작 시 DB 마이그레이션 실행 여부 | false |
backendStore.databaseConnectionCheck |
DB 연결 확인 init 컨테이너 활성화 | false |
backendStore.postgres.enabled |
외부 PostgreSQL 사용 여부 | false |
backendStore.mysql.enabled |
외부 MySQL 사용 여부 | false |
postgresql.enabled |
내장 Bitnami PostgreSQL 배포 여부 | false |
postgresql.auth.database |
PostgreSQL 데이터베이스 이름 | mlflow |
Artifact 스토리지
| 파라미터 | 설명 | 기본값 |
|---|---|---|
artifactRoot.proxiedArtifactStorage |
MLflow 서버를 통한 프록시 아티팩트 접근 활성화 | false |
artifactRoot.defaultArtifactsDestination |
기본 아티팩트 저장 경로 | ./mlartifacts |
artifactRoot.s3.enabled |
S3 아티팩트 스토리지 사용 여부 | false |
artifactRoot.s3.bucket |
S3 버킷 이름 | "" |
artifactRoot.s3.awsAccessKeyId |
S3 액세스 키 | "" |
artifactRoot.s3.awsSecretAccessKey |
S3 시크릿 키 | "" |
artifactRoot.azureBlob.enabled |
Azure Blob Storage 사용 여부 | false |
artifactRoot.gcs.enabled |
Google Cloud Storage 사용 여부 | false |
인증
| 파라미터 | 설명 | 기본값 |
|---|---|---|
auth.enabled |
MLflow 기본 인증 활성화 | false |
auth.adminUsername |
기본 관리자 계정명 | admin |
auth.adminPassword |
기본 관리자 비밀번호 | password |
extraArgs.appName |
MLflow 앱 플러그인 이름 (oidc-auth 설정 시 OIDC 활성화) |
"" |
extraArgs.uvicornOpts |
uvicorn 추가 옵션 | "" |
extraArgs.allowedHosts |
허용할 호스트명 | "" |
로깅
| 파라미터 | 설명 | 기본값 |
|---|---|---|
log.enabled |
MLflow gunicorn 로깅 활성화 | true |
log.level |
로그 레벨 | info |
extraArgs.uvicornOpts사용 시log.enabled: false필수 (gunicorn/uvicorn 충돌 방지)
네트워크
| 파라미터 | 설명 | 기본값 |
|---|---|---|
service.type |
서비스 타입 | ClusterIP |
service.port |
서비스 포트 | 80 |
ingress.enabled |
Ingress 활성화 여부 | false |
ingress.className |
Ingress class 이름 | "" |
ingress.hosts |
Ingress 호스트 목록 | [] |
ingress.tls |
TLS 설정 목록 | [] |
리소스
| 파라미터 | 설명 | 기본값 |
|---|---|---|
resources.limits.cpu |
CPU 상한 | "" |
resources.limits.memory |
메모리 상한 | "" |
resources.requests.cpu |
CPU 요청량 | "" |
resources.requests.memory |
메모리 요청량 | "" |
확장
| 파라미터 | 설명 | 기본값 |
|---|---|---|
extraEnvVars |
추가 환경변수 맵 (KEY: VALUE 형식) |
{} |
extraSecretNamesForEnvFrom |
환경변수로 주입할 Secret 이름 목록 | [] |
extraVolumes |
추가 볼륨 목록 | [] |
extraVolumeMounts |
추가 볼륨 마운트 목록 | [] |
extraArgs |
MLflow 서버 추가 인수 맵 | {} |