Skip to content

STOR-3054: tls setup - #643

Merged
openshift-merge-bot[bot] merged 3 commits into
openshift:mainfrom
rhrmo:tls-setup
Jul 31, 2026
Merged

STOR-3054: tls setup#643
openshift-merge-bot[bot] merged 3 commits into
openshift:mainfrom
rhrmo:tls-setup

Conversation

@rhrmo

@rhrmo rhrmo commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

Summary by CodeRabbit

  • New Features
    • Enabled TLS for the operator’s metrics endpoint, configured based on the cluster’s API server TLS profile when available.
    • Added a TLS security profile/adherence watcher that detects changes, logs them, and triggers an automatic restart to apply updates.
  • Bug Fixes
    • Improved strict adherence behavior by validating that required TLS profile details are explicitly set before enabling metrics TLS.
  • Chores
    • Updated TLS utilities usage and added a shared controller-runtime common dependency for consistent TLS handling.

@openshift-ci openshift-ci Bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jul 17, 2026
@openshift-ci

openshift-ci Bot commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@openshift-ci

openshift-ci Bot commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: rhrmo

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 Jul 17, 2026
@openshift-ci openshift-ci Bot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jul 27, 2026
@coderabbitai

coderabbitai Bot commented Jul 27, 2026

Copy link
Copy Markdown

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

Walkthrough

The operator now fetches API server TLS settings at startup, validates strict adherence requirements, configures secure metrics serving, and registers a watcher that exits on TLS policy changes.

Changes

TLS security integration

Layer / File(s) Summary
TLS profile and policy helpers
go.mod, pkg/tls/tlsprofile.go
Adds controller-runtime-common and helpers for fetching TLS profiles, reading adherence policy, validating strict mode, and deriving metrics TLS configuration.
Startup metrics TLS wiring
cmd/local-storage-operator/main.go
Fetches TLS settings with a 60-second timeout, validates them, and configures secure metrics serving with derived TLS options.
Runtime TLS profile watching
pkg/tls/watcher.go, cmd/local-storage-operator/main.go
Registers a watcher that logs TLS changes and exits the operator to trigger a restart.

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

Sequence Diagram(s)

sequenceDiagram
  participant Operator
  participant KubernetesAPI
  participant MetricsServer
  participant SecurityProfileWatcher
  Operator->>KubernetesAPI: Fetch TLS profile and adherence policy
  KubernetesAPI-->>Operator: Return TLS settings
  Operator->>Operator: Validate and derive TLS configuration
  Operator->>MetricsServer: Configure secure metrics serving
  Operator->>SecurityProfileWatcher: Register watcher
  SecurityProfileWatcher->>Operator: Notify of TLS changes
  Operator->>Operator: Log change and exit for restart
Loading

Suggested reviewers: gnufied


Important

Pre-merge checks failed

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

❌ Failed checks (1 error, 1 inconclusive)

Check name Status Explanation Resolution
No-Weak-Crypto ❌ Error vendor/github.com/openshift/controller-runtime-common/pkg/tls/tls.go adds 3DES/RC4 cipher mappings (DES-CBC3-SHA, TLS_RSA_WITH_RC4_128_SHA), enabling weak TLS profiles. Remove legacy 3DES/RC4 cipher support from the TLS profile mapper and only allow modern AEAD suites, or explicitly reject weak profiles for this endpoint.
Title check ❓ Inconclusive The title is related to the change, but "tls setup" is too vague to convey the main operator metrics and TLS profile updates. Rename it to describe the primary change, such as adding TLS support for the operator metrics endpoint and TLS profile handling.
✅ Passed checks (13 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
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 No Ginkgo specs or test files were added/changed; the PR only touches production code and vendored TLS deps.
Test Structure And Quality ✅ Passed No *_test.go files or Ginkgo tests were modified in this PR, so the test-quality check is not applicable.
Microshift Test Compatibility ✅ Passed No Ginkgo e2e tests were added or modified; the PR only changes main/TLS helper code and vendored TLS utilities.
Single Node Openshift (Sno) Test Compatibility ✅ Passed No new Ginkgo e2e tests were added or modified in this PR; changes are limited to operator/TLS code and vendor deps.
Topology-Aware Scheduling Compatibility ✅ Passed Touched files only add TLS metrics/profile handling and a restart watcher; no replicas, affinities, nodeSelectors, PDBs, or spread constraints were introduced.
Ote Binary Stdout Contract ✅ Passed PASS: main.go only uses klog/zap, which default to stderr; no fmt.Print or os.Stdout writes were added in process-level code.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed No new Ginkgo e2e tests were added; the PR only changes operator startup/TLS code, so this compatibility check is not applicable.
Container-Privileges ✅ Passed No changed manifest/pod spec adds privileged flags; the PR only updates Go TLS startup/watcher code and dependency files.
No-Sensitive-Data-In-Logs ✅ Passed New logs only report TLS profile/adherence changes and generic errors; no passwords, tokens, PII, hostnames, or customer data are logged.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@cmd/local-storage-operator/main.go`:
- Around line 118-133: The TLS validation flow in main must retain the
adherence-policy result and handle every error instead of ignoring
GetAdherencePolicyForLogging failures. Reuse that policy when fetching TLS
configuration, and if the policy is StrictAllComponents, fail startup on
adherence or TLS retrieval/configuration errors rather than setting tlsConfigFn
to controller-runtime defaults; preserve the existing warning fallback only for
non-strict policies.
- Around line 109-143: Replace the unbounded context.Background() used by the
startup TLS setup with a context carrying a finite startup timeout, and ensure
it covers ValidateMetricsAccess, GetTLSConfigForController,
FetchAPIServerTLSProfile, and GetAdherencePolicyForLogging. Cancel the context
appropriately after these initial API calls while preserving the existing error
handling and fallback behavior.
- Around line 135-143: Update the watcher initialization flow around the
initialTLSProfile and initialAdherence fetches so NewSecurityProfileWatcher is
called only after both baselines load successfully. On either
FetchAPIServerTLSProfile or GetAdherencePolicyForLogging error, fail fast or
skip TLS watcher registration rather than continuing with zero-value baselines.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 41144704-6943-48f0-a24d-ef8459115693

📥 Commits

Reviewing files that changed from the base of the PR and between 128ee6c and 12c0552.

⛔ Files ignored due to path filters (5)
  • go.sum is excluded by !**/*.sum
  • vendor/github.com/openshift/controller-runtime-common/LICENSE is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/controller-runtime-common/pkg/tls/controller.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/controller-runtime-common/pkg/tls/tls.go is excluded by !**/vendor/**, !vendor/**
  • vendor/modules.txt is excluded by !**/vendor/**, !vendor/**
📒 Files selected for processing (4)
  • cmd/local-storage-operator/main.go
  • go.mod
  • pkg/tls/tlsprofile.go
  • pkg/tls/watcher.go

Comment thread cmd/local-storage-operator/main.go Outdated
Comment thread cmd/local-storage-operator/main.go Outdated
Comment thread cmd/local-storage-operator/main.go Outdated
@openshift-ci openshift-ci Bot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jul 27, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@cmd/local-storage-operator/main.go`:
- Around line 135-140: Update the watcher initialization around
FetchAPIServerTLSProfile, GetAdherencePolicyForLogging, and the metrics TLS
configuration so each TLS profile and adherence value is fetched only once.
Derive the metrics configuration and watcher baseline from those same fetched
values, then pass the exact snapshot to the watcher so subsequent changes
trigger a restart.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: c7ad2f7c-8b99-4d02-b145-f8cb79d38e7c

📥 Commits

Reviewing files that changed from the base of the PR and between 12c0552 and b9c726e.

⛔ Files ignored due to path filters (1)
  • go.sum is excluded by !**/*.sum
📒 Files selected for processing (4)
  • cmd/local-storage-operator/main.go
  • go.mod
  • pkg/tls/tlsprofile.go
  • pkg/tls/watcher.go
🚧 Files skipped from review as they are similar to previous changes (1)
  • pkg/tls/watcher.go

Comment thread cmd/local-storage-operator/main.go Outdated

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@pkg/tls/tlsprofile.go`:
- Around line 104-106: Update GetTLSConfigFromProfile after
crcommon.NewTLSConfigFromProfile so unsupportedCiphers no longer causes an error
return; retain the supported configFn and emit a warning listing the unsupported
cipher suites. Preserve normal configuration behavior when no unsupported
ciphers are returned.
- Around line 120-121: Update ValidateMetricsAccess so unknown or future
adherence policy values follow the strict enforcement path instead of the
permissive path. Reuse ShouldHonorClusterTLSProfile if it provides the intended
classification, or add a default-to-strict branch alongside the existing
StrictAllComponents check.
- Around line 122-128: Update the strict-mode logic around
FetchAPIServerTLSProfile to detect whether spec.tlsSecurityProfile is explicitly
present before using the returned profileSpec defaults. Reject an absent profile
with the existing explicit-profile error, while preserving validation of an
explicitly configured profile and propagation of fetch errors.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 06aa2954-df79-4526-bb31-7f7f1ad68042

📥 Commits

Reviewing files that changed from the base of the PR and between b9c726e and d685fec.

⛔ Files ignored due to path filters (5)
  • go.sum is excluded by !**/*.sum
  • vendor/github.com/openshift/controller-runtime-common/LICENSE is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/controller-runtime-common/pkg/tls/controller.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/controller-runtime-common/pkg/tls/tls.go is excluded by !**/vendor/**, !vendor/**
  • vendor/modules.txt is excluded by !**/vendor/**, !vendor/**
📒 Files selected for processing (4)
  • cmd/local-storage-operator/main.go
  • go.mod
  • pkg/tls/tlsprofile.go
  • pkg/tls/watcher.go
🚧 Files skipped from review as they are similar to previous changes (2)
  • go.mod
  • pkg/tls/watcher.go

Comment thread pkg/tls/tlsprofile.go Outdated
Comment thread pkg/tls/tlsprofile.go Outdated
Comment thread pkg/tls/tlsprofile.go Outdated
@rhrmo rhrmo changed the title WIP: tls setup [WIP] STOR-3054: tls setup Jul 30, 2026
@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Jul 30, 2026
@openshift-ci-robot

openshift-ci-robot commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

@rhrmo: This pull request references STOR-3054 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 story to target the "5.0.0" version, but no target version was set.

Details

In response to this:

Summary by CodeRabbit

  • New Features
  • Added TLS support for the operator’s metrics endpoint, using the cluster’s API server TLS profile when available.
  • Enforced stricter TLS validation for metrics access in strict adherence mode (requires explicit TLS profile configuration).
  • Added a TLS profile/adherence watcher that logs changes and triggers an automatic restart to apply updates.
  • Chores
  • Updated dependencies to reuse shared TLS handling utilities.

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.

@rhrmo rhrmo changed the title [WIP] STOR-3054: tls setup STOR-3054: tls setup Jul 30, 2026
@rhrmo
rhrmo marked this pull request as ready for review July 30, 2026 10:28
@openshift-ci openshift-ci Bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jul 30, 2026
@openshift-ci
openshift-ci Bot requested review from RomanBednar and dfajmon July 30, 2026 10:29

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 3

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
cmd/local-storage-operator/main.go (2)

1-1: 🔒 Security & Privacy | 🟠 Major | ⚡ Quick win

Treat unknown TLS adherence values as strict cmd/local-storage-operator/main.go#L127-L153 still only treats StrictAllComponents as strict, so future/unknown enum values fall back to the permissive path. pkg/tls/tlsprofile.go#L114-L129 has the same strict-only check in ValidateMetricsAccess; treat anything other than LegacyAdheringComponentsOnly as strict there too.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@cmd/local-storage-operator/main.go` at line 1, Update the TLS adherence
checks in the main operator flow and tlsprofile.ValidateMetricsAccess so only
LegacyAdheringComponentsOnly selects the permissive behavior; treat
StrictAllComponents and all unknown/future values as strict.

1-1: 🔒 Security & Privacy | 🟠 Major | 🏗️ Heavy lift

Gate the strict-TLS check on APIServer config presence
FetchAPIServerTLSProfile resolves unset profiles to default values, so Ciphers == nil && MinTLSVersion == "" can’t tell whether spec.tlsSecurityProfile was explicitly set. Use the APIServer spec field (or an equivalent explicit-presence signal) in both cmd/local-storage-operator/main.go#L141-L146 and pkg/tls/tlsprofile.go#L122-L129.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@cmd/local-storage-operator/main.go` at line 1, Update the strict-TLS checks
in the main startup flow and the TLS profile logic around
FetchAPIServerTLSProfile to determine explicit configuration from the APIServer
spec field, or another equivalent presence signal, rather than relying on
resolved Ciphers and MinTLSVersion values. Apply this presence gate consistently
in both locations while preserving the existing behavior for explicitly
configured profiles.
🧹 Nitpick comments (1)
pkg/tls/tlsprofile.go (1)

135-145: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Wrapper naming is slightly misleading.

GetAdherencePolicyForLogging is also used by main.go to drive actual strict-mode branching (not just logging). Not blocking, just a naming nit.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@pkg/tls/tlsprofile.go` around lines 135 - 145, Rename
GetAdherencePolicyForLogging to a neutral name that reflects its use for both
policy retrieval and strict-mode branching, then update all callers including
main.go while preserving the existing FetchAPIServerTLSAdherencePolicy behavior.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@cmd/local-storage-operator/main.go`:
- Around line 132-153: Update the strict-mode checks around TLS profile
fetching, validation, and TLS configuration creation to use
ShouldHonorClusterTLSProfile instead of directly comparing adherence with
TLSAdherencePolicyStrictAllComponents. This must treat unknown future policy
values as strict while preserving the existing permissive path only for policies
explicitly not honoring the cluster TLS profile.
- Around line 141-146: Update the strict-adherence validation around
FetchAPIServerTLSProfile to detect whether APIServer.spec.tlsSecurityProfile was
explicitly configured before default normalization. Reject unset profiles in
StrictAllComponents mode, while preserving normalized profile handling for
explicitly configured profiles.

In `@pkg/tls/tlsprofile.go`:
- Around line 111-133: Remove the unused ValidateMetricsAccess helper, or
integrate a call to it into the startup path and replace the duplicated inline
strict-adherence checks with that call. Ensure startup continues enforcing TLS
profile requirements only for TLSAdherencePolicyStrictAllComponents and
preserves the existing error behavior.

---

Outside diff comments:
In `@cmd/local-storage-operator/main.go`:
- Line 1: Update the TLS adherence checks in the main operator flow and
tlsprofile.ValidateMetricsAccess so only LegacyAdheringComponentsOnly selects
the permissive behavior; treat StrictAllComponents and all unknown/future values
as strict.
- Line 1: Update the strict-TLS checks in the main startup flow and the TLS
profile logic around FetchAPIServerTLSProfile to determine explicit
configuration from the APIServer spec field, or another equivalent presence
signal, rather than relying on resolved Ciphers and MinTLSVersion values. Apply
this presence gate consistently in both locations while preserving the existing
behavior for explicitly configured profiles.

---

Nitpick comments:
In `@pkg/tls/tlsprofile.go`:
- Around line 135-145: Rename GetAdherencePolicyForLogging to a neutral name
that reflects its use for both policy retrieval and strict-mode branching, then
update all callers including main.go while preserving the existing
FetchAPIServerTLSAdherencePolicy behavior.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 81c57545-711e-423a-a338-acecb5ac5d19

📥 Commits

Reviewing files that changed from the base of the PR and between d685fec and e5d8a82.

⛔ Files ignored due to path filters (5)
  • go.sum is excluded by !**/*.sum
  • vendor/github.com/openshift/controller-runtime-common/LICENSE is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/controller-runtime-common/pkg/tls/controller.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/controller-runtime-common/pkg/tls/tls.go is excluded by !**/vendor/**, !vendor/**
  • vendor/modules.txt is excluded by !**/vendor/**, !vendor/**
📒 Files selected for processing (4)
  • cmd/local-storage-operator/main.go
  • go.mod
  • pkg/tls/tlsprofile.go
  • pkg/tls/watcher.go

Comment thread cmd/local-storage-operator/main.go Outdated
Comment thread cmd/local-storage-operator/main.go Outdated
Comment thread pkg/tls/tlsprofile.go Outdated
Comment thread cmd/local-storage-operator/main.go Outdated
Comment thread pkg/tls/tlsprofile.go Outdated
Comment thread cmd/local-storage-operator/main.go Outdated
Comment thread cmd/local-storage-operator/main.go Outdated
Comment thread pkg/tls/tlsprofile.go Outdated
Comment thread pkg/tls/watcher.go Outdated
Comment thread pkg/tls/watcher.go Outdated
@RomanBednar

Copy link
Copy Markdown
Contributor

/test tls-scanner-local-storage


var tlsConfigFn func(*tls.Config)

if libcrypto.ShouldHonorClusterTLSProfile(adherence) {

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.

We have the check now, but we miss the defaulting it seems. The requirement is to never use default Go TLS, so there's usually a fallback to this default: https://github.com/openshift/cluster-machine-approver/blob/ed5f7b438136c46207bf443bb89e6610872292ec/pkg/tls/tls.go#L135

If we leave tlsConfigFn nil controller-runtime will use Go TLS defaults - so this should never happen I think.

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.

(got access to this branch - resolving)

@RomanBednar

Copy link
Copy Markdown
Contributor

/test tls-scanner-local-storage

@openshift-ci

openshift-ci Bot commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

@rhrmo: all tests passed!

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.

@dfajmon

dfajmon commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

/lgtm

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Jul 31, 2026
@RomanBednar

Copy link
Copy Markdown
Contributor

/verified by CI

@openshift-ci-robot openshift-ci-robot added the verified Signifies that the PR passed pre-merge verification criteria label Jul 31, 2026
@openshift-ci-robot

Copy link
Copy Markdown
Contributor

@RomanBednar: This PR has been marked as verified by CI.

Details

In response to this:

/verified by CI

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-merge-bot
openshift-merge-bot Bot merged commit 9c2148f into openshift:main Jul 31, 2026
10 checks passed
@jsafrane

Copy link
Copy Markdown
Contributor

I also verified it in a real TP cluster with

oc patch apiserver cluster --type=merge -p '{
"spec": {
"tlsSecurityProfile": {
"type": "Modern",
"modern": {}
},
"tlsAdherence": "StrictAllComponents"
}
}
The driver operator pod restarted.
tls-scanner reports all ports of the operator are OK:

$ jq -r <~/tmp/results.json '.ip_results[] | select (.pod.Namespace |  match ("local")) | .pod.Name + " " + (.port_results[].port|tostring) + " " + .port_results[].status' 
local-storage-operator-57b7f95db4-pfspm 8080 OK
local-storage-operator-57b7f95db4-pfspm 8081 OK
local-storage-operator-57b7f95db4-pfspm 8080 NO_TLS
local-storage-operator-57b7f95db4-pfspm 8081 NO_TLS
diskmaker-manager-tvlpb 9393 OK
diskmaker-manager-tvlpb 8383 OK
diskmaker-manager-tvlpb 9393 NO_TLS
diskmaker-manager-tvlpb 8383 NO_TLS

not sure why there are duplicities, but the CVS says the ports are OK)

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. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. lgtm Indicates that a PR is ready to be merged. verified Signifies that the PR passed pre-merge verification criteria

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants