Skip to content

CMP-4571: Switch production base images to ubi9-minimal-pqc for PQC support - #1346

Merged
yuumasato merged 1 commit into
ComplianceAsCode:masterfrom
guzalv:pqc-base-images
Aug 21, 2026
Merged

CMP-4571: Switch production base images to ubi9-minimal-pqc for PQC support#1346
yuumasato merged 1 commit into
ComplianceAsCode:masterfrom
guzalv:pqc-base-images

Conversation

@guzalv

@guzalv guzalv commented Aug 17, 2026

Copy link
Copy Markdown

What

Switch production and CI container base images to registry.redhat.io/ubi9/ubi-minimal-pqc to enable Post-Quantum Cryptography (PQC) support via the DEFAULT:PQ crypto policy in OpenSSL.

Why

Required by OCPSTRAT-3113: all OCP and layered-product images must ship with DEFAULT:PQ crypto policy so the release pipeline check finds it. The PQC base images (ubi-minimal-pqc) are now GA (announcement).

The ubi-minimal-pqc image is identical to ubi-minimal except it ships with the DEFAULT:PQ crypto policy pre-configured, enabling ML-KEM (post-quantum key encapsulation) in OpenSSL on RHEL 9. On FIPS-mode clusters the FIPS-140 regulation is properly observed and PQC is disabled.

Changes

File Old base image New base image
images/operator/Dockerfile registry.redhat.io/ubi9/ubi-minimal registry.redhat.io/ubi9/ubi-minimal-pqc
images/openscap/Containerfile registry.redhat.io/ubi9/ubi-minimal registry.redhat.io/ubi9/ubi-minimal-pqc
images/must-gather/Containerfile registry.redhat.io/ubi9/ubi-minimal registry.redhat.io/ubi9/ubi-minimal-pqc
Dockerfile.ci registry.access.redhat.com/ubi9/ubi-micro registry.redhat.io/ubi9/ubi-minimal-pqc
images/openscap/Dockerfile.ci registry.access.redhat.com/ubi8/ubi-minimal registry.redhat.io/ubi9/ubi-minimal-pqc

Upstream community Dockerfiles (build/Dockerfile, images/openscap/Dockerfile, images/testcontent/broken-content.Dockerfile) are not changed because they are built by GitHub Actions which cannot authenticate to registry.redhat.io, and they are not checked by the OCP release pipeline.

Testing

  1. Built operator image locally using make image -- build succeeded.
  2. Verified DEFAULT:PQ crypto policy inside the built image.
  3. Deployed to OCP 4.22 cluster, verified operator runs with DEFAULT:PQ and ran a CIS compliance scan to completion.
  4. Ran full e2e parallel suite (73 tests) -- all passed.

Fixes: CMP-4571

@openshift-ci-robot

openshift-ci-robot commented Aug 17, 2026

Copy link
Copy Markdown
Collaborator

@guzalv: This pull request references CMP-4571 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the task to target the "5.1.0" version, but no target version was set.

Details

In response to this:

Summary

Switch all container base images to registry.redhat.io/ubi9/ubi-minimal-pqc to enable Post-Quantum Cryptography (PQC) support via the DEFAULT:PQ crypto policy in OpenSSL.

The ubi-minimal-pqc image is identical to ubi-minimal except it ships with the DEFAULT:PQ crypto policy pre-configured, enabling ML-KEM (post-quantum key encapsulation) in OpenSSL on RHEL 9. On FIPS-mode clusters the FIPS-140 regulation is properly observed and PQC support is disabled.

Changes

File Old base image New base image
images/operator/Dockerfile registry.redhat.io/ubi9/ubi-minimal registry.redhat.io/ubi9/ubi-minimal-pqc
images/openscap/Containerfile registry.redhat.io/ubi9/ubi-minimal registry.redhat.io/ubi9/ubi-minimal-pqc
images/must-gather/Containerfile registry.redhat.io/ubi9/ubi-minimal registry.redhat.io/ubi9/ubi-minimal-pqc
build/Dockerfile registry.access.redhat.com/ubi9/ubi-micro registry.redhat.io/ubi9/ubi-minimal-pqc
Dockerfile.ci registry.access.redhat.com/ubi9/ubi-micro registry.redhat.io/ubi9/ubi-minimal-pqc
images/openscap/Dockerfile registry.access.redhat.com/ubi8/ubi-minimal registry.redhat.io/ubi9/ubi-minimal-pqc
images/openscap/Dockerfile.ci registry.access.redhat.com/ubi8/ubi-minimal registry.redhat.io/ubi9/ubi-minimal-pqc
images/testcontent/broken-content.Dockerfile registry.access.redhat.com/ubi8/ubi-minimal registry.redhat.io/ubi9/ubi-minimal-pqc
tests/e2e/framework/common.go registry.access.redhat.com/ubi9/ubi-minimal registry.redhat.io/ubi9/ubi-minimal-pqc
utils/must-gather/fetch-raw-results-pod-template.yaml registry.access.redhat.com/ubi9/ubi registry.redhat.io/ubi9/ubi-minimal-pqc

Note: The dev/CI Dockerfiles (build/Dockerfile, Dockerfile.ci) switched from ubi-micro to ubi-minimal-pqc because no PQC variant of ubi-micro exists.

Testing

  1. Built operator image locally using make image - build succeeded
  2. Verified DEFAULT:PQ crypto policy inside built image:
$ docker run --rm --entrypoint cat <image> /etc/crypto-policies/state/current
DEFAULT:PQ
  1. Deployed to OCP 4.22 cluster (ga-ocp4-cron-2), verified:
  • Operator pod running with DEFAULT:PQ crypto policy
  • Ran CIS compliance scan to completion (DONE / NON-COMPLIANT as expected on unhardened cluster)
  • Operator logs show normal operation with no errors

References

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 openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci

openshift-ci Bot commented Aug 17, 2026

Copy link
Copy Markdown

Hi @guzalv. Thanks for your PR.

I'm waiting for a ComplianceAsCode member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work.

Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

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.

@guzalv guzalv changed the title CMP-4571: Switch all base images to ubi9-minimal-pqc for PQC support CMP-4571: Switch production base images to ubi9-minimal-pqc for PQC support Aug 17, 2026
@github-actions

Copy link
Copy Markdown

🤖 To deploy this PR, run the following command:

make catalog-deploy CATALOG_IMG=ghcr.io/complianceascode/compliance-operator-catalog:1346-d705498686456fc62c49ef89fb53852e4500feec

@github-actions

Copy link
Copy Markdown

🤖 To deploy this PR, run the following command:

make catalog-deploy CATALOG_IMG=ghcr.io/complianceascode/compliance-operator-catalog:1346-6154744d850c32f3c55778d4611fc8b9f94c334d

@guzalv
guzalv marked this pull request as ready for review August 19, 2026 12:36
@github-actions

Copy link
Copy Markdown

🤖 To deploy this PR, run the following command:

make catalog-deploy CATALOG_IMG=ghcr.io/complianceascode/compliance-operator-catalog:1346-166241ca749b17151846e1e4eb02215394897d18

@taimurhafeez

Copy link
Copy Markdown
Collaborator

/ok-to-test

@taimurhafeez

Copy link
Copy Markdown
Collaborator

/retest-required

@openshift-ci openshift-ci Bot removed the lgtm label Aug 20, 2026
@github-actions

Copy link
Copy Markdown

🤖 To deploy this PR, run the following command:

make catalog-deploy CATALOG_IMG=ghcr.io/complianceascode/compliance-operator-catalog:1346-297cd064a96051b9aae0b264a70eba7a8fefad8b

…upport

Switch production and CI container base images to
registry.redhat.io/ubi9/ubi-minimal-pqc to enable Post-Quantum
Cryptography (PQC) support via the DEFAULT:PQ crypto policy in OpenSSL.

Production Containerfiles (operator, openscap, must-gather) and CI
Dockerfiles (Dockerfile.ci, openscap/Dockerfile.ci) are switched to
ubi-minimal-pqc. Upstream community Dockerfiles (build/Dockerfile,
openscap/Dockerfile, broken-content.Dockerfile) keep their original
unauthenticated base images since the GitHub Actions workflows that
build them cannot authenticate to registry.redhat.io.

The must-gather fetch-raw-results pod template is switched to
ubi-minimal-pqc and now installs tar at runtime, which is required by
oc cp to extract scan results.

Test helper pods and the must-gather template use ubi-minimal-pqc
since they run on OCP clusters with registry.redhat.io pull secrets.

The ubi-minimal-pqc image is identical to ubi-minimal except it ships
with the DEFAULT:PQ crypto policy pre-configured, enabling ML-KEM
(post-quantum key encapsulation) in OpenSSL on RHEL 9. On FIPS-mode
clusters the FIPS-140 regulation is properly observed and PQC is
disabled.

Tested: built operator image, deployed to OCP 4.22 cluster, verified
DEFAULT:PQ crypto policy is active, ran a CIS compliance scan to
completion.

Fixes: CMP-4571
@github-actions

Copy link
Copy Markdown

🤖 To deploy this PR, run the following command:

make catalog-deploy CATALOG_IMG=ghcr.io/complianceascode/compliance-operator-catalog:1346-a6f85a15e849c730668b87119ef8f37f603ee0e7

@yuumasato

Copy link
Copy Markdown
Member

/ok-to-test

@yuumasato yuumasato left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

/lgtm

@openshift-ci

openshift-ci Bot commented Aug 21, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: guzalv, taimurhafeez, yuumasato

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:
  • OWNERS [taimurhafeez,yuumasato]

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

@yuumasato

Copy link
Copy Markdown
Member

It seems another flaky test was found:
#1369

/retest

@yuumasato yuumasato added this to the 1.10.0 milestone Aug 21, 2026
@yuumasato

Copy link
Copy Markdown
Member

e2e tests passed

@yuumasato
yuumasato merged commit 638fc70 into ComplianceAsCode:master Aug 21, 2026
17 of 25 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants