Commit Graph

26 Commits

Author SHA1 Message Date
ychangkim 607772283d refactor: scan images directly with trivy, output per-image CVE JSON
Skip SBOM generation entirely since cve-edge-post.yml only needs
vulnerability counts, not CycloneDX artifacts — scan each image with
`trivy image` directly and aggregate with python3 (drop jq dependency).
Output is now a JSON array with one entry per image instead of a single
merged summary.
2026-07-20 18:08:06 +09:00
ychangkim 9b368e4cfc feat: add jq to sbom pipeline image, rename cve workflow
jq is required to aggregate trivy-reports/*.json into the CVE summary
JSON posted to the edge API.
2026-07-20 17:21:39 +09:00
wbsong111 44c3888974 docs: add tenant onboarding guide (VictoriaMetrics + Perses multitenancy)
새 테넌트(accountID) 온보딩 시 계층별 생성 자원(Keycloak/vmagent/otelcol/
Perses)과 유저 RBAC, 오프보딩 절차 정리. demo01/demo02 실측 검증(2026-07-01)
기반. 자원 생성·유저 바인딩은 dip-console 온보딩 자동화 backlog.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-09 16:09:32 +09:00
wbsong111 ac119a3559 fix(sbom-ci): auth docker.getcollate.io (Docker Hub proxy) + raise trivy timeout
openmetadata 실패의 진짜 원인은 참조 오류가 아니라 docker.getcollate.io(Docker Hub 프록시)의
익명 pull rate limit(TOOMANYREQUESTS)였음. 인증 config 에 getcollate 를 추가(Docker Hub
자격증명)하고, 대용량 이미지 분석을 위해 trivy 타임아웃 기본값을 10m→15m(TRIVY_TIMEOUT).
로컬 검증: 인증+타임아웃으로 openmetadata server SBOM 생성 성공(655 comp).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-08 16:55:08 +09:00
wbsong111 c36edb3015 sbom-ci: meaningful stage timings, dynamic severity cols, doc update
- scan-sbom: 요약에 단계별 소요(SBOM 생성 vs 취약점 스캔) 표시, 오해 주던 "총 소요"·
  항상 0인 per-SBOM Sec·min/max 라인 제거. 스캔한 SEVERITY 만 동적 컬럼.
- generate-sbom: 생성 소요시간을 .sbom-gen-seconds 로 기록(요약 단계별 시간용).
- doc/sbom-pipeline.md: 실행 이미지(Dockerfile)·빌드/푸시·GitHub 설정·결과 확인/대응 보강.
- .gitignore: .sbom-gen-seconds.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-08 14:29:07 +09:00
wbsong111 f8ca673630 fix(sbom-ci): summary shows only scanned severities (drop always-zero MED/LOW)
SEVERITY 로 스캔한 심각도만 요약표 컬럼으로 동적 출력. 기본(HIGH,CRITICAL)에서
항상 0이던 MED/LOW 컬럼 제거. SEVERITY 에 MEDIUM/LOW 추가 시에만 해당 컬럼 표시.
TSV 는 CRITICAL 을 첫 카운트 열로 유지(게이트 호환).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-08 14:14:27 +09:00
wbsong111 d6e3d0af79 docs(sbom): add pipeline image Dockerfile + cross-reference from workflow
.github/workflows/sbom.yml 의 SBOM_PIPELINE_IMAGE 로 사용하는 실행 이미지
Dockerfile 을 doc/scripts/Dockerfile 로 추가(debian/glibc + helm/trivy/python3/git).
워크플로·sbom-pipeline.md 에서 상호 참조하도록 갱신.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-08 13:26:04 +09:00
wbsong111 2af7fcb43d feat(sbom): add Helm catalog SBOM+vuln pipeline (CycloneDX)
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>
2026-07-08 12:15:58 +09:00
wbsong111 9676fec2f3 docs: correct VictoriaLogs tenant header to AccountID/ProjectID across docs
otelcol 헤더 수정(aef6439)에 맞춰 아키텍처 문서·vlogs/otelcol CUSTOM-README·
vlogs custom-values 주석의 VictoriaLogs-AccountID 참조를 AccountID/ProjectID 로 정정.
VictoriaLogs-* 접두 헤더 무시(전량 acct0) 경고 추가.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-01 15:45:10 +09:00
wbsong111 aef64390f1 fix(otelcol): use AccountID/ProjectID headers for VictoriaLogs multitenancy
로그 테넌트 라우팅이 동작하지 않던 결함 수정. otelcol exporter가
'VictoriaLogs-AccountID' 헤더를 사용했으나 VictoriaLogs는 이를 인식하지 못해
모든 로그가 account 0 으로 적재됨(dev 실측: AccountID:1 쓰기는 acct1,
VictoriaLogs-AccountID:1 쓰기는 acct0). 올바른 헤더 AccountID/ProjectID 로 교체.

- opentelemetry-collector custom-values(로그 3파이프라인) + events(acct0)
- docs: deploy-guide §1.4 relabel '[]'=격리아님 경고+예시, vmagent CUSTOM-README keep 규칙 예시
- .gitignore: tenant-verification/ (로컬 검증 산출물)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-01 15:37:46 +09:00
wbsong111 b022204004 docs: formalize monitoring deploy runbook; move test record to issue #2
배포 라이프사이클 3단계(배포 전 사전조건 / 배포 시 ApplicationSet / 배포 후
테넌트 관리)로 운영 런북(monitoring-deploy-guide.md) 신규 작성.
테스트 검증 기록(monitoring-deploy-test.md)은 GitHub 이슈 #2로 분리 후 close,
레포에서는 삭제. 아키텍처 문서에 런북 링크 추가.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 16:45:01 +09:00
wbsong111 d35117a976 docs: capture internal-CA trust requirement for vmauth/perses OIDC + perses login=preferred_username
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 16:11:18 +09:00
wbsong111 9fab760992 vmauth: mount internal root CA + SSL_CERT_FILE for Keycloak OIDC discovery (fix x509)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 16:06:14 +09:00
wbsong111 7ddb1f062d improvements: ApplicationSet ignoreDifferences(SS VCT) + vmauth drop unauthorized_user
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 15:16:21 +09:00
wbsong111 14fb0d214a perses overlay template: globalAdminUsers note (login=preferred_username)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 15:01:57 +09:00
wbsong111 d1f7c77201 Adjust VM ApplicationSet for test env + per-URL tenant routing rationale
- applicationset: ns argocd→platform, repoURL service-catalog/tenant-catalog @master
- vmagent custom-values/CUSTOM-README: per-URL 채택 근거 정정(인라인 가능하나 보안·격리 위해 per-URL)
- architecture doc: §5.1 테넌트 라우팅 결정 기록 + monitoring 배포 테스트 문서

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 14:36:58 +09:00
wbsong111 6290322f1b Add VictoriaMetrics observability stack + sync catalog for monitoring test
- VM stack 10 charts: victoria-metrics-cluster/auth, victoria-logs-cluster,
  victoria-metrics-agent/alert, opentelemetry-collector, kube-state-metrics,
  prometheus-node-exporter, alertmanager, perses (JWT/OIDC, Infisical-ready)
- ArgoCD ApplicationSet (syncWave) + per-chart dip-values overlays
- doc/victoria-metrics-architecture.md, define-chart-resources updates
- includes pending working-tree changes (mlflow, kubeflow, apisix, CLAUDE.md)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 11:10:51 +09:00
wbsong111 baba7dcf55 Define resource profiles for cloudbeaver 2026-04-13 16:23:08 +09:00
wbsong111 28e4601ef2 Update openmetadata resouce 2026-02-27 14:59:32 +09:00
wbsong111 47213d260e Add flink kubernetes operator docs 2026-01-20 10:46:31 +09:00
wbsong111 0436749932 Change chart directory structure 2026-01-19 16:11:44 +09:00
wbsong111 0f2284bf35 Add directory restructure document 2026-01-19 11:13:25 +09:00
wbsong111 074a8c51b7 Update lakekeeper resources 2025-11-26 15:12:15 +09:00
wbsong111 2a3077eee0 Update resource document 2025-10-28 08:54:38 +09:00
wbsong111 858e6322eb Update document 2025-10-24 17:37:24 +09:00
wbsong111 5140835eff Add document for catalog resource 2025-10-23 16:39:04 +09:00