Skip to content

Commit 493d8f4

Browse files
ckhordiasmaclaude
andcommitted
enable SBOM metadata extraction in bundle workflows
Add registry auth (registry.redhat.io, registry.stage.redhat.io, quay.io/aipcc) and pass -mc flag to bundle processor so it extracts package versions from image SBOMs. Add metadata-config.yaml targeting vllm package across all VLLM image variants. Depends on: red-hat-data-services/RHOAI-Konflux-Automation#37 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 5964095 commit 493d8f4

3 files changed

Lines changed: 51 additions & 2 deletions

File tree

.github/workflows/process-operator-bundle.yaml

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,18 @@ jobs:
7171
run: |
7272
pip install --default-timeout=100 -r utils/utils/processors/requirements.txt
7373
74+
- name: Login to container registries
75+
env:
76+
REGISTRY_REDHAT_IO_USERNAME: ${{ secrets.REGISTRY_REDHAT_IO_USERNAME }}
77+
REGISTRY_REDHAT_IO_PASSWORD: ${{ secrets.REGISTRY_REDHAT_IO_PASSWORD }}
78+
REGISTRY_STAGE_REDHAT_IO_USERNAME: ${{ secrets.REGISTRY_STAGE_REDHAT_IO_USERNAME }}
79+
REGISTRY_STAGE_REDHAT_IO_PASSWORD: ${{ secrets.REGISTRY_STAGE_REDHAT_IO_PASSWORD }}
80+
AIPCC_QUAY_RO_USERNAME: ${{ secrets.AIPCC_QUAY_RO_USERNAME }}
81+
AIPCC_QUAY_RO_TOKEN: ${{ secrets.AIPCC_QUAY_RO_TOKEN }}
82+
run: |
83+
skopeo login registry.redhat.io -u "${REGISTRY_REDHAT_IO_USERNAME}" -p "${REGISTRY_REDHAT_IO_PASSWORD}"
84+
skopeo login registry.stage.redhat.io -u "${REGISTRY_STAGE_REDHAT_IO_USERNAME}" -p "${REGISTRY_STAGE_REDHAT_IO_PASSWORD}"
85+
skopeo login quay.io/aipcc -u "${AIPCC_QUAY_RO_USERNAME}" -p "${AIPCC_QUAY_RO_TOKEN}"
7486
- name: Process Operator Bundle
7587
env:
7688
BRANCH: ${{ steps.get_branch.outputs.branch }}
@@ -120,6 +132,13 @@ jobs:
120132
OPENSHIFT_HELM_VALUES_YAML_PATH=${HELM_RAW_INPUTS_DIR}/rhai-on-openshift-chart/values.yaml
121133
OPENSHIFT_HELM_PUSH_PIPELINE_PATH=${BRANCH}/.tekton/${OPENSHIFT_HELM_CHART_COMPONENT_NAME}-push.yaml
122134
135+
#Declare SBOM metadata config path
136+
METADATA_CONFIG_PATH=${BRANCH}/bundle/metadata-config.yaml
137+
METADATA_CONFIG_FLAG=""
138+
if [ -f "${METADATA_CONFIG_PATH}" ]; then
139+
METADATA_CONFIG_FLAG="-mc ${METADATA_CONFIG_PATH}"
140+
fi
141+
123142
#Invoke Bundle processor to patch the catalog
124143
python3 utils/utils/processors/bundle-processor.py \
125144
-op bundle-patch \
@@ -136,7 +155,8 @@ jobs:
136155
-ohv ${OPENSHIFT_HELM_VALUES_YAML_PATH} \
137156
-ohpp ${OPENSHIFT_HELM_PUSH_PIPELINE_PATH} \
138157
-y ${BUNDLE_PUSH_PIPELINE_PATH} \
139-
-x enable
158+
-x enable \
159+
${METADATA_CONFIG_FLAG}
140160
141161
# Sync processed content back to bundle and helm directories
142162
# Convention: root-level files are permanent configs, subdirectories are synced content

.github/workflows/trigger-nightly-bundle-build.yaml

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,18 @@ jobs:
6464
run: |
6565
pip install --default-timeout=100 -r utils/utils/processors/requirements.txt
6666
67+
- name: Login to container registries
68+
env:
69+
REGISTRY_REDHAT_IO_USERNAME: ${{ secrets.REGISTRY_REDHAT_IO_USERNAME }}
70+
REGISTRY_REDHAT_IO_PASSWORD: ${{ secrets.REGISTRY_REDHAT_IO_PASSWORD }}
71+
REGISTRY_STAGE_REDHAT_IO_USERNAME: ${{ secrets.REGISTRY_STAGE_REDHAT_IO_USERNAME }}
72+
REGISTRY_STAGE_REDHAT_IO_PASSWORD: ${{ secrets.REGISTRY_STAGE_REDHAT_IO_PASSWORD }}
73+
AIPCC_QUAY_RO_USERNAME: ${{ secrets.AIPCC_QUAY_RO_USERNAME }}
74+
AIPCC_QUAY_RO_TOKEN: ${{ secrets.AIPCC_QUAY_RO_TOKEN }}
75+
run: |
76+
skopeo login registry.redhat.io -u "${REGISTRY_REDHAT_IO_USERNAME}" -p "${REGISTRY_REDHAT_IO_PASSWORD}"
77+
skopeo login registry.stage.redhat.io -u "${REGISTRY_STAGE_REDHAT_IO_USERNAME}" -p "${REGISTRY_STAGE_REDHAT_IO_PASSWORD}"
78+
skopeo login quay.io/aipcc -u "${AIPCC_QUAY_RO_USERNAME}" -p "${AIPCC_QUAY_RO_TOKEN}"
6779
- name: Process Operator Bundle
6880
env:
6981
BRANCH: ${{ steps.get_branch.outputs.branch }}
@@ -113,6 +125,13 @@ jobs:
113125
OPENSHIFT_HELM_VALUES_YAML_PATH=${HELM_RAW_INPUTS_DIR}/rhai-on-openshift-chart/values.yaml
114126
OPENSHIFT_HELM_PUSH_PIPELINE_PATH=${BRANCH}/.tekton/${OPENSHIFT_HELM_CHART_COMPONENT_NAME}-push.yaml
115127
128+
#Declare SBOM metadata config path
129+
METADATA_CONFIG_PATH=${BRANCH}/bundle/metadata-config.yaml
130+
METADATA_CONFIG_FLAG=""
131+
if [ -f "${METADATA_CONFIG_PATH}" ]; then
132+
METADATA_CONFIG_FLAG="-mc ${METADATA_CONFIG_PATH}"
133+
fi
134+
116135
#Invoke Bundle processor to patch the catalog
117136
python3 utils/utils/processors/bundle-processor.py \
118137
-op bundle-patch \
@@ -130,7 +149,8 @@ jobs:
130149
-ohpp ${OPENSHIFT_HELM_PUSH_PIPELINE_PATH} \
131150
-y ${BUNDLE_PUSH_PIPELINE_PATH} \
132151
-x disable \
133-
-t nightly
152+
-t nightly \
153+
${METADATA_CONFIG_FLAG}
134154
135155
cp -r ${RAW_INPUTS_DIR}/* ${BRANCH}/bundle
136156
cp -r ${HELM_RAW_INPUTS_DIR}/* ${BRANCH}/helm/

bundle/metadata-config.yaml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
sbom-metadata:
2+
- env_vars:
3+
- "RELATED_IMAGE_RHAII_VLLM_CUDA_IMAGE"
4+
- "RELATED_IMAGE_RHAII_VLLM_ROCM_IMAGE"
5+
- "RELATED_IMAGE_RHAII_VLLM_SPYRE_IMAGE"
6+
- "RELATED_IMAGE_RHAII_VLLM_CPU_IMAGE"
7+
- "RELATED_IMAGE_RHAII_VLLM_GAUDI_IMAGE"
8+
package: "vllm"
9+
suffix: "_UPSTREAM_VERSION"

0 commit comments

Comments
 (0)