Skip to content

EAI_1950 SBOM gen script fix#768

Merged
woojae-siloai merged 4 commits into
mainfrom
EAI_1950_sbom_gen_script_fix
Jul 3, 2026
Merged

EAI_1950 SBOM gen script fix#768
woojae-siloai merged 4 commits into
mainfrom
EAI_1950_sbom_gen_script_fix

Conversation

@woojae-siloai

@woojae-siloai woojae-siloai commented Jul 3, 2026

Copy link
Copy Markdown
Contributor

This PR fixes SBOM generation accuracy and resolves component classification issues.

Fixed Issues

  1. Component version extraction (EAI-1950)
    • Added repoVersion support for OCI charts
    • 15 components: [null] → actual versions
  2. Helm chart auto-detection (NEW)
    • Auto-detect via Chart.yaml OR repoURL+chart
    • 21 local Helm charts correctly classified
    • Removed placeholder images from Container Images section
  3. Type field introduction (NEW)
    • Separated component classification from deployment config
    • Added type: helm / type: manifest field
    • Resolved GitHub Action validation failures
  4. Code quality
    • Extracted generate_component_row() function
    • Removed 102 duplicate lines (11% reduction)
    • Added template variable filtering (grep -v '{{')

Before:

## All Components
| No | Name | Version | Project | License |
|----|------|---------|---------|---------|
| 1 | ai-gateway-discovery | [null](oci://registry-1.docker.io/...) | https://... | Apache |
| 5 | airm | [null](oci://registry-1.docker.io/...) | https://... | Apache |
| 9 | aiwb | [null](oci://registry-1.docker.io/...) | https://... | Apache |
| 24 | kaiwo | [null](oci://ghcr.io/silogen/...) | https://... | MIT |
...

## Helm Charts: 18 components
## Kubernetes Manifests: 23 components (many misclassified Helm charts)

## Container Images
### amd-gpu-operator images (Helm chart misclassified as manifest)
| No | Image |
|----|-------|
| 1 | `docker.io/myUserName/driverImage` |  ← placeholder
| 2 | `{{ .Values.controller.manager.image }}` |  ← template variable
| 3 | `{{ include "gitea.image" . }}` |  ← template variable

### gitea images (79 template lines across all components)

After:

## All Components
| No | Name | Version | Project | License |
|----|------|---------|---------|---------|
| 1 | ai-gateway-discovery | [2.0.0](oci://registry-1.docker.io/...) | https://... | Apache |
| 5 | airm | [1.1.9](oci://registry-1.docker.io/...) | https://... | Apache |
| 9 | aiwb | [2.0.0-rc.1](oci://registry-1.docker.io/...) | https://... | Apache |
| 24 | kaiwo | [v0.2.1](oci://ghcr.io/silogen/...) | https://... | MIT |
...

## Helm Charts: 39 components (auto-detected)
## Kubernetes Manifests: 4 components (actual manifests only)

## Container Images
### metallb images (real manifest with actual images)
| No | Image |
|----|-------|
| 1 | `quay.io/metallb/controller:v0.15.2` |
| 2 | `quay.io/metallb/speaker:v0.15.2` |

### rabbitmq images (4 components with real images only)

Impact:

  • 15 OCI components: [null] → actual versions (2.0.0, 1.1.9, v0.2.1)
  • 21 Helm charts auto-detected and correctly classified
  • 93% SBOM completeness (41/44 components)
  • Container Images: 4 real manifests (was 23+ mixed components)
  • Removed: 79 template variables, 102 duplicate lines, all placeholder images
  • GitHub Actions validation: ✅ pass

Modified Files:

  1. sbom/generate-sbom.sh - version extraction, deduplication, template filtering
  2. sbom/generate-compare-components.sh - Helm auto-detection, type field
  3. sbom/components.yaml - auto-regenerated with type field
  4. sbom/SBOM.md - auto-regenerated with accurate data

@woojae-siloai woojae-siloai requested a review from a team as a code owner July 3, 2026 08:11

@blankdots blankdots left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

approved

note for a possible follow-up task: revisit the container images section.

@woojae-siloai woojae-siloai merged commit 11d23d2 into main Jul 3, 2026
8 checks passed
@woojae-siloai woojae-siloai deleted the EAI_1950_sbom_gen_script_fix branch July 3, 2026 12:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants