Skip to content

Add TLS strict-adherence and PQC-readiness scanner jobs for ocp-release-operator-sdk and ansible-operator-plugins - #83172

Open
mytreya-rh wants to merge 1 commit into
openshift:mainfrom
mytreya-rh:tls-scanner-sdk-operators
Open

Add TLS strict-adherence and PQC-readiness scanner jobs for ocp-release-operator-sdk and ansible-operator-plugins#83172
mytreya-rh wants to merge 1 commit into
openshift:mainfrom
mytreya-rh:tls-scanner-sdk-operators

Conversation

@mytreya-rh

@mytreya-rh mytreya-rh commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds TLS 1.3 strict-adherence and post-quantum-cryptography (PQC) readiness scanner jobs for openshift/ocp-release-operator-sdk and openshift/ansible-operator-plugins, mirroring the tls13-adherence / tls-pqc-readiness (+ -periodic) pattern already used by oadp-operator, machine-config-operator, and the CSI driver operators.

For each repo, this adds 4 tests:

  • tls13-adherence (presubmit, optional: true, always_run: false — triggerable via /test tls13-adherence): sets the cluster TLS profile to Modern with strict TLS adherence (TLS_13_ENABLE_TLS_ADHERENCE: "true", policy StrictAllComponents), then scans the deployed sample operator's namespace.
  • tls13-adherence-periodic (weekly cron): same as above, runs automatically.
  • tls-pqc-readiness (presubmit, optional: true, always_run: false — triggerable via /test tls-pqc-readiness): scans the deployed sample operator's namespace with PQC_CHECK: "true" (checks TLS 1.3 + mlkem/mlkem25519 support).
  • tls-pqc-readiness-periodic (weekly cron): same as above, runs automatically.

Since neither repo ships an OLM bundle, each job first deploys the repo's own sample memcached operator (built from the existing osdk-helm-e2e / ansible-operator-e2e e2e images, same as the existing e2e-helm / e2e-ansible jobs) into memcached-operator-system / memcached-molecule-operator-system via make deploy IMG=..., waits for the deployment to become available, and then runs the tls-13 and tls-scanner-run step-registry refs against that namespace.

Both configs also gain a base_images.tls-scanner-tool entry, required by the tls-scanner-run ref's PULL_SPEC_TLS_SCANNER_TOOL dependency.

Test plan

  • make update regenerated ci-operator/jobs/** presubmits/periodics for both repos with no unexpected diffs.
  • make jobs (ci-operator-checkconfig + ci-operator-prowgen + sanitize-prow-jobs) completed with no errors, validating the new step-registry refs/workflow usage.
  • Once merged, trigger /test tls13-adherence and /test tls-pqc-readiness on a PR against each repo to confirm the sample operator deploys and the scan runs end-to-end.

Made with Cursor

Summary by CodeRabbit

  • Adds TLS 1.3 adherence and post-quantum cryptography readiness CI jobs for openshift/ocp-release-operator-sdk and openshift/ansible-operator-plugins.
  • Adds presubmit and weekly periodic jobs that deploy the sample memcached operator and run the required TLS scanner workflows.
  • Adds tls-scanner-tool as a base image dependency and configures TLS and PQC scanner settings.
  • Updates generated Prow job definitions and validates the configuration.
  • End-to-end testing after merge remains pending.

…tors

Deploys the sample memcached operator built from the existing
osdk-helm-e2e / ansible-operator-e2e images and runs the tls-13 /
tls-scanner-run steps against it, mirroring the tls13-adherence and
tls-pqc-readiness (+ periodic) pattern used by oadp-operator and
other repos.

Co-authored-by: Cursor <cursoragent@cursor.com>
@coderabbitai

coderabbitai Bot commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: 8bdc36f1-a5dc-40c1-b59c-e7fd949b4a3a

📥 Commits

Reviewing files that changed from the base of the PR and between 2815cff and d780e9a.

⛔ Files ignored due to path filters (4)
  • ci-operator/jobs/openshift/ansible-operator-plugins/openshift-ansible-operator-plugins-main-periodics.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift/ansible-operator-plugins/openshift-ansible-operator-plugins-main-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift/ocp-release-operator-sdk/openshift-ocp-release-operator-sdk-main-periodics.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift/ocp-release-operator-sdk/openshift-ocp-release-operator-sdk-main-presubmits.yaml is excluded by !ci-operator/jobs/**
📒 Files selected for processing (2)
  • ci-operator/config/openshift/ansible-operator-plugins/openshift-ansible-operator-plugins-main.yaml
  • ci-operator/config/openshift/ocp-release-operator-sdk/openshift-ocp-release-operator-sdk-main.yaml

Walkthrough

The change adds the tls-scanner image and four TLS validation jobs to each of two operator configurations. Jobs cover optional and weekly TLS 1.3 adherence checks and PQC readiness checks.

Changes

TLS scanner validation

Layer / File(s) Summary
TLS 1.3 adherence jobs
ci-operator/config/openshift/ansible-operator-plugins/..., ci-operator/config/openshift/ocp-release-operator-sdk/...
Adds the tls-scanner image and optional and weekly jobs that deploy the memcached operator and run strict TLS 1.3 adherence and scanner workflows.
PQC readiness jobs
ci-operator/config/openshift/ansible-operator-plugins/..., ci-operator/config/openshift/ocp-release-operator-sdk/...
Adds optional and weekly jobs that deploy the memcached operator and run TLS 1.3 and scanner workflows with PQC checks enabled.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Sequence Diagram(s)

sequenceDiagram
  participant CI job
  participant memcached molecule operator
  participant TLS 1.3 workflow
  participant TLS scanner workflow
  CI job->>memcached molecule operator: Deploy operator
  memcached molecule operator-->>CI job: Confirm availability
  CI job->>TLS 1.3 workflow: Run adherence or PQC checks
  CI job->>TLS scanner workflow: Run scanner workflow
Loading

Possibly related PRs


Important

Pre-merge checks failed

Please resolve all errors before merging. Addressing warnings is optional.

❌ Failed checks (1 error)

Check name Status Explanation Resolution
Container-Privileges ❌ Error All eight new jobs invoke tls-scanner-run; its default path emits privileged: true, hostNetwork: true, hostPID: true, and runAsUser: 0. Use a restricted scanner mode for namespace-scoped jobs, or explicitly justify and isolate the required host privileges in the job design.
✅ Passed checks (14 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main change by naming the TLS strict-adherence and PQC-readiness scanner jobs and both target repositories.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Stable And Deterministic Test Names ✅ Passed The PR changes only CI YAML and generated job files. No Ginkgo title declarations or dynamic test titles were added; job and namespace identifiers are static.
Test Structure And Quality ✅ Passed The pull request changes only ci-operator YAML configuration and generated Prow job files; it adds no Ginkgo test code to review.
Microshift Test Compatibility ✅ Passed The patch changes only CI configuration and generated Prow YAML; it adds no Ginkgo e2e tests or test implementations requiring MicroShift API compatibility review.
Single Node Openshift (Sno) Test Compatibility ✅ Passed The pull request changes only YAML CI configuration and generated Prow jobs; it adds no Ginkgo test declarations or multi-node/HA assumptions to assess.
Topology-Aware Scheduling Compatibility ✅ Passed The PR changes only CI configuration and generated Prow job YAML; it adds no deployment manifests, controllers, replicas, affinity, topology spread, node selectors, tolerations, or PDB constraints.
Ote Binary Stdout Contract ✅ Passed The PR changes six YAML-only CI config/generated job files; it adds no Go or OTE process-level source such as main, init, or suite setup.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed The PR adds only CI YAML and generated Prow jobs; it adds no Ginkgo tests, IPv4 literals, or public endpoints. Scanner targets are cluster namespaces and internal CI images.
No-Weak-Crypto ✅ Passed The commit adds CI YAML and generated Prow jobs only; scans of all added lines found no MD5, SHA-1, DES, RC4, Blowfish, ECB, custom crypto, or secret comparisons.
No-Sensitive-Data-In-Logs ✅ Passed The PR adds only image references, namespace/TLS settings, and deployment commands; it introduces no logging of passwords, tokens, API keys, PII, or secret values.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands.

@openshift-ci
openshift-ci Bot requested review from anik120 and grokspawn August 10, 2026 12:29
@openshift-ci

openshift-ci Bot commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: mytreya-rh

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 Aug 10, 2026
@openshift-merge-bot

Copy link
Copy Markdown
Contributor

[REHEARSALNOTIFIER]
@mytreya-rh: the pj-rehearse plugin accommodates running rehearsal tests for the changes in this PR. Expand 'Interacting with pj-rehearse' for usage details. The following rehearsable tests have been affected by this change:

Test name Repo Type Reason
pull-ci-openshift-ansible-operator-plugins-main-tls-pqc-readiness openshift/ansible-operator-plugins presubmit Presubmit changed
pull-ci-openshift-ansible-operator-plugins-main-tls13-adherence openshift/ansible-operator-plugins presubmit Presubmit changed
pull-ci-openshift-ansible-operator-plugins-main-e2e-ansible openshift/ansible-operator-plugins presubmit Ci-operator config changed
pull-ci-openshift-ansible-operator-plugins-main-e2e-ansible-fips openshift/ansible-operator-plugins presubmit Ci-operator config changed
pull-ci-openshift-ansible-operator-plugins-main-e2e-ansible-rhcos10 openshift/ansible-operator-plugins presubmit Ci-operator config changed
pull-ci-openshift-ansible-operator-plugins-main-e2e-ansible-rhcos10-fips openshift/ansible-operator-plugins presubmit Ci-operator config changed
pull-ci-openshift-ansible-operator-plugins-main-images openshift/ansible-operator-plugins presubmit Ci-operator config changed
pull-ci-openshift-ansible-operator-plugins-main-sanity openshift/ansible-operator-plugins presubmit Ci-operator config changed
pull-ci-openshift-ansible-operator-plugins-main-unit openshift/ansible-operator-plugins presubmit Ci-operator config changed
pull-ci-openshift-ansible-operator-plugins-main-verify-collections openshift/ansible-operator-plugins presubmit Ci-operator config changed
pull-ci-openshift-ansible-operator-plugins-main-verify-deps openshift/ansible-operator-plugins presubmit Ci-operator config changed
pull-ci-openshift-ansible-operator-plugins-main-verify-requirements openshift/ansible-operator-plugins presubmit Ci-operator config changed
pull-ci-openshift-ocp-release-operator-sdk-main-tls-pqc-readiness openshift/ocp-release-operator-sdk presubmit Presubmit changed
pull-ci-openshift-ocp-release-operator-sdk-main-tls13-adherence openshift/ocp-release-operator-sdk presubmit Presubmit changed
pull-ci-openshift-ocp-release-operator-sdk-main-e2e-helm openshift/ocp-release-operator-sdk presubmit Ci-operator config changed
pull-ci-openshift-ocp-release-operator-sdk-main-e2e-helm-fips openshift/ocp-release-operator-sdk presubmit Ci-operator config changed
pull-ci-openshift-ocp-release-operator-sdk-main-e2e-helm-rhcos10 openshift/ocp-release-operator-sdk presubmit Ci-operator config changed
pull-ci-openshift-ocp-release-operator-sdk-main-e2e-helm-rhcos10-fips openshift/ocp-release-operator-sdk presubmit Ci-operator config changed
pull-ci-openshift-ocp-release-operator-sdk-main-images openshift/ocp-release-operator-sdk presubmit Ci-operator config changed
pull-ci-openshift-ocp-release-operator-sdk-main-sanity openshift/ocp-release-operator-sdk presubmit Ci-operator config changed
pull-ci-openshift-ocp-release-operator-sdk-main-unit openshift/ocp-release-operator-sdk presubmit Ci-operator config changed
pull-ci-openshift-ocp-release-operator-sdk-main-verify-deps openshift/ocp-release-operator-sdk presubmit Ci-operator config changed
periodic-ci-openshift-ansible-operator-plugins-main-tls13-adherence-periodic N/A periodic Periodic changed
periodic-ci-openshift-ocp-release-operator-sdk-main-tls13-adherence-periodic N/A periodic Periodic changed
periodic-ci-openshift-ansible-operator-plugins-main-tls-pqc-readiness-periodic N/A periodic Periodic changed

A total of 26 jobs have been affected by this change. The above listing is non-exhaustive and limited to 25 jobs.

A full list of affected jobs can be found here
Prior to this PR being merged, you will need to either run and acknowledge or opt to skip these rehearsals.

Interacting with pj-rehearse

Comment: /pj-rehearse to run up to 5 rehearsals
Comment: /pj-rehearse skip to opt-out of rehearsals
Comment: /pj-rehearse {test-name}, with each test separated by a space, to run one or more specific rehearsals
Comment: /pj-rehearse more to run up to 10 rehearsals
Comment: /pj-rehearse max to run up to 25 rehearsals
Comment: /pj-rehearse auto-ack to run up to 5 rehearsals, and add the rehearsals-ack label on success
Comment: /pj-rehearse list to get an up-to-date list of affected jobs
Comment: /pj-rehearse abort to abort all active rehearsals
Comment: /pj-rehearse network-access-allowed to allow rehearsals of tests that have the restrict_network_access field set to false. This must be executed by an openshift org member who is not the PR author

Once you are satisfied with the results of the rehearsals, comment: /pj-rehearse ack to unblock merge. When the rehearsals-ack label is present on your PR, merge will no longer be blocked by rehearsals.
If you would like the rehearsals-ack label removed, comment: /pj-rehearse reject to re-block merging.

@mytreya-rh

Copy link
Copy Markdown
Contributor Author

/pj-rehearse pull-ci-openshift-ansible-operator-plugins-main-tls13-adherence pull-ci-openshift-ansible-operator-plugins-main-tls-pqc-readiness pull-ci-openshift-ocp-release-operator-sdk-main-tls13-adherence pull-ci-openshift-ocp-release-operator-sdk-main-tls-pqc-readiness

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@mytreya-rh: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@openshift-ci

openshift-ci Bot commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

@mytreya-rh: 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/rehearse/openshift/ansible-operator-plugins/main/tls13-adherence d780e9a link unknown /pj-rehearse pull-ci-openshift-ansible-operator-plugins-main-tls13-adherence
ci/rehearse/openshift/ansible-operator-plugins/main/tls-pqc-readiness d780e9a link unknown /pj-rehearse pull-ci-openshift-ansible-operator-plugins-main-tls-pqc-readiness
ci/rehearse/openshift/ocp-release-operator-sdk/main/tls-pqc-readiness d780e9a link unknown /pj-rehearse pull-ci-openshift-ocp-release-operator-sdk-main-tls-pqc-readiness
ci/rehearse/openshift/ocp-release-operator-sdk/main/tls13-adherence d780e9a link unknown /pj-rehearse pull-ci-openshift-ocp-release-operator-sdk-main-tls13-adherence

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.

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.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant