Skip to content

Add Dockerfile and configuration for ART build#3250

Merged
openshift-merge-bot[bot] merged 1 commit intoopenshift:release-6.0from
xperimental:art-6.0
Apr 13, 2026
Merged

Add Dockerfile and configuration for ART build#3250
openshift-merge-bot[bot] merged 1 commit intoopenshift:release-6.0from
xperimental:art-6.0

Conversation

@xperimental
Copy link
Copy Markdown
Contributor

/cc @cahartma
/assign @xperimental
/label tide/merge-method-squash

@openshift-ci openshift-ci Bot added the tide/merge-method-squash Denotes a PR that should be squashed by tide when it merges. label Apr 10, 2026
@openshift-ci openshift-ci Bot requested a review from cahartma April 10, 2026 12:35
@qodo-code-review
Copy link
Copy Markdown

ⓘ You are approaching your monthly quota for Qodo. Upgrade your plan

Review Summary by Qodo

Add Dockerfile and ART build configuration for v6.0.15

✨ Enhancement

Grey Divider

Walkthroughs

Description
• Add Dockerfile for ART build with FIPS compliance
• Configure bundle metadata for cluster-logging v6.0.15
• Define image references for logging components
• Support multi-architecture builds (x86_64, aarch64, ppc64le, s390x)
Diagram
flowchart LR
  A["Dockerfile.art<br/>Multi-stage build"] --> B["Builder stage<br/>FIPS runtime"]
  A --> C["Origin CLI stage<br/>Multi-arch support"]
  A --> D["Final UBI9 image<br/>Minimal runtime"]
  E["bundle/art.yaml<br/>Version updates"] --> F["CSV manifest<br/>v6.0.15"]
  G["bundle/cluster-logging-operator.package.yaml<br/>Package config"] --> H["Stable channel<br/>v6.0.15"]
  I["bundle/image-references<br/>Image stream"] --> J["Vector, exporter,<br/>operator images"]
Loading

Grey Divider

File Changes

1. Dockerfile.art ⚙️ Configuration changes +62/-0

Multi-stage FIPS-compliant Dockerfile for ART build

• Multi-stage Dockerfile with builder, origin-cli, and final UBI9 minimal image
• Enables FIPS compliance via strictfipsruntime environment variable
• Supports multiple architectures (x86_64, aarch64, ppc64le, s390x)
• Includes cluster-logging-operator binary, must-gather scripts, and oc CLI

Dockerfile.art


2. bundle/art.yaml ⚙️ Configuration changes +9/-0

Version update configuration for CSV manifest

• Updates cluster service version manifest with version 6.0.15
• Modifies olm.skipRange to reflect new version constraints
• Updates CSV name and version fields for consistency

bundle/art.yaml


3. bundle/cluster-logging-operator.package.yaml ⚙️ Configuration changes +5/-0

Package configuration for stable channel

• Defines package metadata for cluster-logging operator
• Specifies stable-6.0 channel with currentCSV v6.0.15

bundle/cluster-logging-operator.package.yaml


View more (1)
4. bundle/image-references ⚙️ Configuration changes +17/-0

Image stream references for logging components

• Defines ImageStream with three logging component images
• References vector v0.37.1, log-file-metric-exporter 6.0, and operator latest
• Supports OpenShift image stream integration

bundle/image-references


Grey Divider

Qodo Logo

@qodo-code-review
Copy link
Copy Markdown

qodo-code-review Bot commented Apr 10, 2026

Code Review by Qodo

🐞 Bugs (2)   📘 Rule violations (0)   📎 Requirement gaps (0)   🎨 UX Issues (0)
🐞\ ≡ Correctness (2)

Grey Divider


Action required

1. Wrong currentCSV name 🐞
Description
bundle/cluster-logging-operator.package.yaml sets currentCSV to cluster-logging-operator.v6.0.15,
but the CSV name in this repo follows the cluster-logging.v<version> pattern. Any tooling consuming
this package manifest will fail to resolve/install/upgrade because the referenced CSV name will not
exist.
Code

bundle/cluster-logging-operator.package.yaml[R4-5]

+- name: stable-6.0
+  currentCSV: cluster-logging-operator.v6.0.15
Evidence
The CSV manifest currently has metadata.name "cluster-logging.v6.0.0", and ART’s art.yaml intends to
bump that to "cluster-logging.v6.0.15"—not "cluster-logging-operator.v6.0.15". The repo’s existing
operatorregistry package file also uses the "cluster-logging.v<version>" naming, confirming the
expected currentCSV naming convention.

bundle/cluster-logging-operator.package.yaml[1-5]
bundle/manifests/cluster-logging.clusterserviceversion.yaml[117-123]
bundle/art.yaml[1-9]
olm_deploy/operatorregistry/cluster-logging.package.yaml[1-5]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
`bundle/cluster-logging-operator.package.yaml` references a `currentCSV` name that doesn’t match the actual CSV `metadata.name` pattern used in this repo (and the name ART will produce via `bundle/art.yaml`). This breaks consumers of the package manifest because the referenced CSV cannot be found.

## Issue Context
- CSV `metadata.name` is `cluster-logging.v<version>`.
- `bundle/art.yaml` updates `name: cluster-logging.v6.0.0` -> `name: cluster-logging.v6.0.15`.
- The new package manifest currently points to `cluster-logging-operator.v6.0.15`.

## Fix Focus Areas
- bundle/cluster-logging-operator.package.yaml[1-5]

## Suggested change
Update `currentCSV` to `cluster-logging.v6.0.15` (or otherwise ensure it exactly matches the CSV `metadata.name` that will exist after ART updates are applied).

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools



Remediation recommended

2. Invalid ImageStream metadata 🐞
Description
bundle/image-references declares a kind: ImageStream but omits metadata.name, so it is not a valid
ImageStream object as written. Any workflow that applies or validates this file as an OpenShift
resource will fail due to missing required object identity.
Code

bundle/image-references[R1-5]

+---
+kind: ImageStream
+apiVersion: image.openshift.io/v1
+spec:
+  tags:
Evidence
The added ImageStream definition contains apiVersion/kind/spec but no metadata stanza. Elsewhere in
this repo, ImageStream objects are defined with metadata.name, demonstrating the expected structure
for ImageStream resources.

bundle/image-references[1-17]
hack/image-stream-build-config-template.yaml[13-19]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
`bundle/image-references` defines an `ImageStream` without `metadata.name`, making it structurally incomplete for an OpenShift/Kubernetes resource.

## Issue Context
In this repo’s ImageStream examples, `metadata.name` is present and used to uniquely identify the ImageStream.

## Fix Focus Areas
- bundle/image-references[1-17]

## Suggested change
Add a `metadata` block with a stable `name` value (and any other required metadata your consuming pipeline expects), e.g.:
```yaml
metadata:
 name: cluster-logging
```
(Choose the name consistent with how this ImageStream will be referenced/consumed.)

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

ⓘ The new review experience is currently in Beta. Learn more

Grey Divider

Qodo Logo

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented Apr 10, 2026

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: xperimental

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Apr 10, 2026
Comment on lines +4 to +5
- name: stable-6.0
currentCSV: cluster-logging-operator.v6.0.15
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Action required

1. Wrong currentcsv name 🐞 Bug ≡ Correctness

bundle/cluster-logging-operator.package.yaml sets currentCSV to cluster-logging-operator.v6.0.15,
but the CSV name in this repo follows the cluster-logging.v<version> pattern. Any tooling consuming
this package manifest will fail to resolve/install/upgrade because the referenced CSV name will not
exist.
Agent Prompt
## Issue description
`bundle/cluster-logging-operator.package.yaml` references a `currentCSV` name that doesn’t match the actual CSV `metadata.name` pattern used in this repo (and the name ART will produce via `bundle/art.yaml`). This breaks consumers of the package manifest because the referenced CSV cannot be found.

## Issue Context
- CSV `metadata.name` is `cluster-logging.v<version>`.
- `bundle/art.yaml` updates `name: cluster-logging.v6.0.0` -> `name: cluster-logging.v6.0.15`.
- The new package manifest currently points to `cluster-logging-operator.v6.0.15`.

## Fix Focus Areas
- bundle/cluster-logging-operator.package.yaml[1-5]

## Suggested change
Update `currentCSV` to `cluster-logging.v6.0.15` (or otherwise ensure it exactly matches the CSV `metadata.name` that will exist after ART updates are applied).

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

@xperimental
Copy link
Copy Markdown
Contributor Author

/retest-required

2 similar comments
@xperimental
Copy link
Copy Markdown
Contributor Author

/retest-required

@xperimental
Copy link
Copy Markdown
Contributor Author

/retest-required

@xperimental
Copy link
Copy Markdown
Contributor Author

/override ci/prow/e2e-target
/override ci/prow/functional-target

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented Apr 13, 2026

@xperimental: Overrode contexts on behalf of xperimental: ci/prow/e2e-target, ci/prow/functional-target

Details

In response to this:

/override ci/prow/e2e-target
/override ci/prow/functional-target

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented Apr 13, 2026

@xperimental: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/functional-target 00d0922 link true /test functional-target
ci/prow/e2e-target 00d0922 link true /test e2e-target

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@Clee2691
Copy link
Copy Markdown
Contributor

/lgtm

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Apr 13, 2026
@openshift-merge-bot openshift-merge-bot Bot merged commit ac33a53 into openshift:release-6.0 Apr 13, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged. tide/merge-method-squash Denotes a PR that should be squashed by tide when it merges.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants