Skip to content

ROX-33465: Remove OCP 3 support, make OCP auto-sensing more reliable#19921

Draft
mclasmeier wants to merge 35 commits intomasterfrom
mc/ROX-33465-openshift-autosensing-4
Draft

ROX-33465: Remove OCP 3 support, make OCP auto-sensing more reliable#19921
mclasmeier wants to merge 35 commits intomasterfrom
mc/ROX-33465-openshift-autosensing-4

Conversation

@mclasmeier
Copy link
Copy Markdown
Contributor

@mclasmeier mclasmeier commented Apr 9, 2026

Description

Review commit-wise.

This changes removes OpenShift 3 support across the board.
Originally it started as just an improvement of the auto-sensing logic for OpenShift within the Helm chart, but since the suggested change -- checking for a different, CRD-based API -- is OpenShift 4 only, this also triggered the removal of OpenShift 3 from the code, which we don't support anymore since a long time. The oldest supported OpenShift version, which is currently in extended support, is 4.12.

User-facing documentation

Testing and quality

  • the change is production ready: the change is GA, or otherwise the functionality is gated by a feature flag
  • CI results are inspected

Automated testing

  • added unit tests
  • modified existing tests

How I validated my change

change me!

Moritz Clasmeier added 30 commits April 9, 2026 12:28
Adjust computation in central/graphql/resolvers/cluster_vulnerabilities_postgres_test.go
@openshift-ci
Copy link
Copy Markdown

openshift-ci bot commented Apr 9, 2026

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

Copy link
Copy Markdown
Contributor

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

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

Hey - I've found 1 issue

Prompt for AI Agents
Please address the comments from this code review:

## Individual Comments

### Comment 1
<location path="image/templates/helm/shared/templates/_openshift.tpl" line_range="10-14" />
<code_context>
-    If "true" is passed for $._rox.env.openshift the OpenShift version is detected based on the Kubernetes cluster version.
-    If the Kubernetes version is not available (i.e. when using Helm template) auto-sensing falls back on OpenShift 3 to be
-    backward compatible.
+    If "true" is passed for $._rox.env.openshift, this is unconditionally mapped to OpenShift version "4", because that is the only
+    major version we currently support.
   */}}
</code_context>
<issue_to_address>
**issue (bug_risk):** Align handling of string vs boolean values for `env.openshift=true` to avoid potential type issues.

The logic and docs treat `env.openshift` as a boolean, but Helm users often set `openshift: "true"` as a string. That will skip the `kindIs "bool"` branch and hit `int $env.openshift`, which will fail for the string "true". Either normalize string values (e.g., handle "true"/numeric strings before calling `int`) or add a guard that rejects non-numeric strings with a clear error message.
</issue_to_address>

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Apr 9, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Central YAML (base), Organization UI (inherited)

Review profile: CHILL

Plan: Pro

Run ID: 7a8dd7a2-067a-41ca-9a48-895c4f0a88e1

📥 Commits

Reviewing files that changed from the base of the PR and between 86903ae and e2c71f2.

📒 Files selected for processing (7)
  • central/graphql/resolvers/cluster_count_by_type.go
  • central/views/platformcve/db_response.go
  • central/views/platformcve/empty.go
  • central/views/platformcve/mocks/types.go
  • central/views/platformcve/types.go
  • central/views/platformcve/view_impl.go
  • central/views/platformcve/view_test.go
💤 Files with no reviewable changes (6)
  • central/views/platformcve/empty.go
  • central/views/platformcve/view_impl.go
  • central/graphql/resolvers/cluster_count_by_type.go
  • central/views/platformcve/types.go
  • central/views/platformcve/mocks/types.go
  • central/views/platformcve/db_response.go

📝 Walkthrough

Summary by CodeRabbit

Release Notes

  • Breaking Changes

    • Removed OpenShift 3 support. Systems using OpenShift 3 will now return an error indicating only OpenShift 4.x is supported.
  • Deprecations

    • Deprecated the legacy OpenShift cluster type. All OpenShift deployments now map to OpenShift 4.
  • Chores

    • Updated test suite schemas and dependencies to reflect OpenShift 4 environment standards.

Walkthrough

This PR removes OpenShift 3 support across the codebase: deprecates the old enum, eliminates OpenShift 3-specific Helm/template and runtime logic, updates validation and generation tools to accept only OpenShift 4, and removes or adjusts tests and fixtures that referenced OpenShift 3.

Changes

Cohort / File(s) Summary
Protobuf / Deprecation
proto/storage/cluster.proto
Marked OPENSHIFT_CLUSTER enum value as deprecated.
Validation
pkg/cluster/validation.go, pkg/cluster/validation_test.go
Validation now rejects OpenShift 3 unconditionally; test expectations updated to new error text.
Helm templates & values
image/templates/helm/shared/templates/_openshift.tpl, image/templates/helm/shared/templates/02-scanner-v4-01-security.yaml, image/templates/helm/stackrox-secured-cluster/internal/cluster-config.yaml.tpl.htpl, image/templates/helm/stackrox-secured-cluster/internal/compatibility-translation.yaml, image/templates/helm/stackrox-secured-cluster/internal/defaults/30-base-config.yaml.htpl, image/templates/helm/stackrox-secured-cluster/templates/_init.tpl.htpl, image/templates/helm/stackrox-secured-cluster/templates/admission-controller.yaml, image/templates/helm/stackrox-secured-cluster/values.yaml.htpl
Removed OpenShift 3-specific branching and fallbacks; auto-detection simplified to OpenShift 4; cluster type templating standardized to OPENSHIFT4_CLUSTER; webhook/admission gating simplified.
Helm template docs
image/templates/helm/stackrox-secured-cluster/sensor-chart-upgrade.md.htpl
Docs updated to reference OPENSHIFT4_CLUSTER and env.openshift=true mapping.
Helm test fixtures (central & secured cluster charts)
pkg/helm/charts/tests/centralservices/testdata/helmtest/..., pkg/helm/charts/tests/securedclusterservices/..., pkg/helm/charts/tests/securedclusterservices/flavor/testdata/helmtest/..., pkg/helm/charts/tests/securedclusterservices/testdata/helmtest/...
Removed OpenShift 3 test cases and schema scenarios; updated OpenShift 4 schema IDs from openshift-4.1.0 to openshift-4.12; adjusted related expectations.
Renderer tests
pkg/renderer/central_db_test.go, pkg/renderer/kubernetes_test.go
Stopped running renders for OPENSHIFT_CLUSTER; added tests asserting render fails for OpenShift 3 with a specific error message.
roxctl / sensor generation
roxctl/central/generate/generate_test.go, roxctl/central/generate/k8s.go, roxctl/sensor/generate/openshift.go, tests/roxctl/bats-tests/cluster/sensor-generate-bundle.bats
Removed OpenShift 3 generation paths and tests; generation now accepts only 4 and returns errors for 3; tests updated to expect failures for --openshift-version 3.
Image embed / scripts
image/embed_charts.go
Removed handling for OPENSHIFT_CLUSTER in chart script selection; only OpenShift4 branch remains.
Telemetry comment
central/telemetry/centralclient/client.go
Added inline comment noting OpenShift detection constant choice; no logic change.
Cluster-type changes in tests & data
central/cluster/datastore/datastore_impl_postgres_test.go, central/clusters/zip/render_test.go, central/complianceoperator/v2/integration/datastore/datastore_impl_test.go, migrator/migrations/m_211_to_m_212_admission_control_config/migration_test.go, central/complianceoperator/v2/integration/service/convert_test.go, central/complianceoperator/v2/integration/service/service_impl_test.go, central/graphql/resolvers/test_utils.go
Replaced OPENSHIFT_CLUSTER usages in test fixtures and expected results with OPENSHIFT4_CLUSTER; removed OpenShift 3 test entries.
GraphQL / Views: platform CVE counts
central/graphql/resolvers/cluster_count_by_type.go, central/views/platformcve/db_response.go, central/views/platformcve/empty.go, central/views/platformcve/mocks/types.go, central/views/platformcve/types.go, central/views/platformcve/view_impl.go, central/views/platformcve/view_test.go
Removed OpenShift (v3) cluster-count field and accessor from types, mocks, and DB response; tests and SQL aggregation no longer reference OpenShift 3, replaced with OpenShift4 counterparts.
GraphQL tests / impact calc
central/graphql/resolvers/cluster_vulnerabilities_postgres_test.go
Adjusted environment-impact assertions to scale with actual cluster count instead of a hardcoded denominator.
Central datastore test tweak
central/cluster/datastore/datastore_impl_postgres_test.go
Removed the audit-log defaulting test case for OpenShift 3.
Go module / deps
go.mod
Bumped github.com/stackrox/helmtest to v0.0.9.
CHANGELOG
CHANGELOG.md
Added entry noting removal of OpenShift 3 support from Helm charts and roxctl manifest bundle generation.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

🚥 Pre-merge checks | ✅ 1 | ❌ 2

❌ Failed checks (1 warning, 1 inconclusive)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 12.50% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Description check ❓ Inconclusive The description provides context about the removal of OpenShift 3 support, explains the relationship to auto-sensing improvements, and mentions CHANGELOG was updated. However, the validation section still contains the template placeholder 'change me!' which indicates incomplete documentation of how the changes were validated. Complete the 'How I validated my change' section by describing the validation approach, whether manual testing was performed, or why it was skipped and will be done post-merge.
✅ Passed checks (1 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and specifically describes the main change: removal of OpenShift 3 support and improvement of OpenShift auto-sensing. It is concise, specific, and directly related to the changeset.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch mc/ROX-33465-openshift-autosensing-4

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

Caution

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

⚠️ Outside diff range comments (1)
central/views/platformcve/view_test.go (1)

943-961: ⚠️ Potential issue | 🟠 Major

This drops coverage of the legacy platform bucket without removing it.

After removing all OPENSHIFT_CLUSTER fixtures here, the suite can only ever observe GetOpenshiftClusterCount() == 0, but production still builds and returns a separate openshift_cluster_count bucket (central/views/platformcve/view_impl.go:150-159, central/views/platformcve/db_response.go:1-25). That means upgraded databases with legacy cluster rows are no longer covered by tests even though the public view still exposes the old bucket.

Either remove the legacy bucket in production as part of this PR, or keep one compatibility fixture/assertion that locks down how existing OPENSHIFT_CLUSTER rows are handled.

Also applies to: 984-987

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@central/views/platformcve/view_test.go` around lines 943 - 961, Tests removed
all OPENSHIFT_CLUSTER fixtures causing coverage for the legacy
openshift_cluster_count bucket to be lost while production still exposes that
bucket (see GetOpenshiftClusterCount(), view_impl.go:150-159 and db_response.go
legacy mapping). Fix by either (A) restoring a single legacy fixture with
PlatformType set to storage.ClusterType_OPENSHIFT_CLUSTER (or
ProviderType/labels as in legacy rows) in the test setup and add an assertion
that GetOpenshiftClusterCount() returns the expected legacy count, or (B) remove
the legacy openshift_cluster_count bucket code from view_impl.go and
db_response.go in this PR so tests and production behavior match; choose one
approach and update the tests to reflect that decision.
🧹 Nitpick comments (2)
image/embed_charts.go (1)

272-278: Return a specific error for deprecated OPENSHIFT_CLUSTER values.

The current fallback emits a generic “invalid cluster type” message. A specific OpenShift 3 message (and including the actual cluster type in default errors) will make failures easier to triage.

Proposed refactor
 func (i *Image) addScripts(values *charts.MetaValues) ([]*loader.BufferedFile, error) {
-	if values.ClusterType == storage.ClusterType_KUBERNETES_CLUSTER.String() {
-		return i.scripts(values, k8sScriptsFileMap)
-	} else if values.ClusterType == storage.ClusterType_OPENSHIFT4_CLUSTER.String() {
-		return i.scripts(values, osScriptsFileMap)
-	}
-	return nil, errors.Errorf("unable to create sensor bundle, invalid cluster type for cluster %s",
-		values.ClusterName)
+	switch values.ClusterType {
+	case storage.ClusterType_KUBERNETES_CLUSTER.String():
+		return i.scripts(values, k8sScriptsFileMap)
+	case storage.ClusterType_OPENSHIFT4_CLUSTER.String():
+		return i.scripts(values, osScriptsFileMap)
+	case storage.ClusterType_OPENSHIFT_CLUSTER.String():
+		return nil, errors.Errorf("unable to create sensor bundle for cluster %q: OpenShift 3.x is not supported", values.ClusterName)
+	default:
+		return nil, errors.Errorf("unable to create sensor bundle for cluster %q: invalid cluster type %q", values.ClusterName, values.ClusterType)
+	}
 }
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@image/embed_charts.go` around lines 272 - 278, The current branch in the
function that dispatches on values.ClusterType (checking
storage.ClusterType_KUBERNETES_CLUSTER and
storage.ClusterType_OPENSHIFT4_CLUSTER) returns a generic error; update this
logic to detect the deprecated OpenShift v3 token
(storage.ClusterType_OPENSHIFT_CLUSTER.String()) and return a clear, specific
error message like "OpenShift 3 cluster types are no longer supported" when that
value is seen, and change the final fallback error to include the actual
values.ClusterType (e.g., "unable to create sensor bundle, invalid cluster type:
<actual-type> for cluster <ClusterName>") so failures are triageable; keep
existing calls to i.scripts(values, ...) for the supported cluster types.
central/complianceoperator/v2/integration/datastore/datastore_impl_test.go (1)

260-260: Replace magic enum literal with the generated enum constant.
Using a raw 5 for cluster type makes this test fragile if enum values ever shift.

Proposed refactor
-	_, err = s.db.DB.Exec(context.Background(), "insert into clusters (id, name, status_providermetadata_cluster_type, type) values ($1, $2, $3, $4)", testconsts.Cluster2, "cluster2", 2, 5)
+	_, err = s.db.DB.Exec(context.Background(), "insert into clusters (id, name, status_providermetadata_cluster_type, type) values ($1, $2, $3, $4)", testconsts.Cluster2, "cluster2", 2, int32(storage.ClusterType_OPENSHIFT4_CLUSTER))

As per coding guidelines, "Focus on major issues impacting performance, readability, maintainability and security. Avoid nitpicks and avoid verbosity."

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@central/complianceoperator/v2/integration/datastore/datastore_impl_test.go`
at line 260, The test currently inserts a magic literal "5" for the cluster type
in the s.db.DB.Exec call; replace that raw integer with the generated enum
constant for the cluster type (instead of 5) coming from the package that
defines cluster types (e.g., use the appropriate ClusterType enum value such as
clusterpb.ClusterType_<NAME> or provisioner.ClusterType_<NAME>), update imports
if necessary, and ensure the Exec call uses testconsts.Cluster2, "cluster2", 2,
<ENUM_CONSTANT> so the test won't break if enum numeric values change.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@image/templates/helm/shared/templates/_openshift.tpl`:
- Around line 32-40: The template currently coerces string inputs with int which
turns invalid strings into 0; add a guard that rejects non-numeric string values
before calling set(..., int ...). Specifically, before the block that does set
$env "openshift" (int $env.openshift), check if kindIs "string" $env.openshift
and if not (regexMatch "^[0-9]+$" $env.openshift) then call include "srox.fail"
with a clear message referencing the invalid $env.openshift value; keep the
existing boolean and numeric flows intact so only non-numeric strings are
rejected early.

In
`@image/templates/helm/stackrox-secured-cluster/internal/compatibility-translation.yaml`:
- Around line 13-15: The template currently treats only "OPENSHIFT4_CLUSTER" as
OpenShift by evaluating {{ eq .rawValue "OPENSHIFT4_CLUSTER" }}, which silently
maps legacy "OPENSHIFT_CLUSTER" to false; update the compatibility rule to
preserve legacy semantics by checking for both values (e.g., treat .rawValue ==
"OPENSHIFT4_CLUSTER" OR .rawValue == "OPENSHIFT_CLUSTER" as true) or add an
explicit pre-check that rejects/normalizes the deprecated "OPENSHIFT_CLUSTER"
value before this translation; modify the template condition that references
.rawValue and the string "OPENSHIFT4_CLUSTER" accordingly so OpenShift-specific
resources continue to render (or fail fast) for callers still emitting the
legacy value (see callers like roxctl/scanner/clustertype/wrapper.go and
central/telemetry/centralclient/client.go).

---

Outside diff comments:
In `@central/views/platformcve/view_test.go`:
- Around line 943-961: Tests removed all OPENSHIFT_CLUSTER fixtures causing
coverage for the legacy openshift_cluster_count bucket to be lost while
production still exposes that bucket (see GetOpenshiftClusterCount(),
view_impl.go:150-159 and db_response.go legacy mapping). Fix by either (A)
restoring a single legacy fixture with PlatformType set to
storage.ClusterType_OPENSHIFT_CLUSTER (or ProviderType/labels as in legacy rows)
in the test setup and add an assertion that GetOpenshiftClusterCount() returns
the expected legacy count, or (B) remove the legacy openshift_cluster_count
bucket code from view_impl.go and db_response.go in this PR so tests and
production behavior match; choose one approach and update the tests to reflect
that decision.

---

Nitpick comments:
In `@central/complianceoperator/v2/integration/datastore/datastore_impl_test.go`:
- Line 260: The test currently inserts a magic literal "5" for the cluster type
in the s.db.DB.Exec call; replace that raw integer with the generated enum
constant for the cluster type (instead of 5) coming from the package that
defines cluster types (e.g., use the appropriate ClusterType enum value such as
clusterpb.ClusterType_<NAME> or provisioner.ClusterType_<NAME>), update imports
if necessary, and ensure the Exec call uses testconsts.Cluster2, "cluster2", 2,
<ENUM_CONSTANT> so the test won't break if enum numeric values change.

In `@image/embed_charts.go`:
- Around line 272-278: The current branch in the function that dispatches on
values.ClusterType (checking storage.ClusterType_KUBERNETES_CLUSTER and
storage.ClusterType_OPENSHIFT4_CLUSTER) returns a generic error; update this
logic to detect the deprecated OpenShift v3 token
(storage.ClusterType_OPENSHIFT_CLUSTER.String()) and return a clear, specific
error message like "OpenShift 3 cluster types are no longer supported" when that
value is seen, and change the final fallback error to include the actual
values.ClusterType (e.g., "unable to create sensor bundle, invalid cluster type:
<actual-type> for cluster <ClusterName>") so failures are triageable; keep
existing calls to i.scripts(values, ...) for the supported cluster types.
🪄 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: Central YAML (base), Organization UI (inherited)

Review profile: CHILL

Plan: Pro

Run ID: 308b03ae-a623-4676-ad6e-818afa56369c

📥 Commits

Reviewing files that changed from the base of the PR and between 9d35506 and 86903ae.

⛔ Files ignored due to path filters (3)
  • generated/storage/cluster.pb.go is excluded by !**/*.pb.go, !**/generated/**
  • go.sum is excluded by !**/*.sum
  • proto/storage/proto.lock is excluded by !**/*.lock
📒 Files selected for processing (55)
  • CHANGELOG.md
  • central/cluster/datastore/datastore_impl_postgres_test.go
  • central/clusters/zip/render_test.go
  • central/complianceoperator/v2/integration/datastore/datastore_impl_test.go
  • central/complianceoperator/v2/integration/service/convert_test.go
  • central/complianceoperator/v2/integration/service/service_impl_test.go
  • central/graphql/resolvers/cluster_vulnerabilities_postgres_test.go
  • central/graphql/resolvers/test_utils.go
  • central/telemetry/centralclient/client.go
  • central/views/platformcve/view_test.go
  • go.mod
  • image/embed_charts.go
  • image/templates/helm/shared/templates/02-scanner-v4-01-security.yaml
  • image/templates/helm/shared/templates/_openshift.tpl
  • image/templates/helm/stackrox-secured-cluster/internal/cluster-config.yaml.tpl.htpl
  • image/templates/helm/stackrox-secured-cluster/internal/compatibility-translation.yaml
  • image/templates/helm/stackrox-secured-cluster/internal/defaults/30-base-config.yaml.htpl
  • image/templates/helm/stackrox-secured-cluster/sensor-chart-upgrade.md.htpl
  • image/templates/helm/stackrox-secured-cluster/templates/_init.tpl.htpl
  • image/templates/helm/stackrox-secured-cluster/templates/admission-controller.yaml
  • image/templates/helm/stackrox-secured-cluster/values.yaml.htpl
  • migrator/migrations/m_211_to_m_212_admission_control_config/migration_test.go
  • pkg/cluster/validation.go
  • pkg/cluster/validation_test.go
  • pkg/helm/charts/tests/centralservices/testdata/helmtest/central.test.yaml
  • pkg/helm/charts/tests/centralservices/testdata/helmtest/injected-cabundle-cm.test.yaml
  • pkg/helm/charts/tests/centralservices/testdata/helmtest/openshift-auth.test.yaml
  • pkg/helm/charts/tests/centralservices/testdata/helmtest/openshift-autosense.test.yaml
  • pkg/helm/charts/tests/centralservices/testdata/helmtest/openshift-monitoring.test.yaml
  • pkg/helm/charts/tests/centralservices/testdata/helmtest/scanner-v4.test.yaml
  • pkg/helm/charts/tests/centralservices/testdata/helmtest/scanner.test.yaml
  • pkg/helm/charts/tests/securedclusterservices/feature-flags/testdata/helmtest/admission-controller-config-disabled/admission-control.test.yaml
  • pkg/helm/charts/tests/securedclusterservices/feature-flags/testdata/helmtest/admission-controller-config/admission-control.test.yaml
  • pkg/helm/charts/tests/securedclusterservices/flavor/testdata/helmtest/development_build-non-release/development_build.test.yaml
  • pkg/helm/charts/tests/securedclusterservices/flavor/testdata/helmtest/development_build-release/development_build.test.yaml
  • pkg/helm/charts/tests/securedclusterservices/flavor/testdata/helmtest/opensource-non-release/opensource.test.yaml
  • pkg/helm/charts/tests/securedclusterservices/flavor/testdata/helmtest/opensource-release/opensource.test.yaml
  • pkg/helm/charts/tests/securedclusterservices/flavor/testdata/helmtest/override/override.test.yaml
  • pkg/helm/charts/tests/securedclusterservices/flavor/testdata/helmtest/rhacs/rhacs.test.yaml
  • pkg/helm/charts/tests/securedclusterservices/flavor/testdata/helmtest/stackrox/stackrox.test.yaml
  • pkg/helm/charts/tests/securedclusterservices/testdata/helmtest/admission-control.test.yaml
  • pkg/helm/charts/tests/securedclusterservices/testdata/helmtest/audit-logs.test.yaml
  • pkg/helm/charts/tests/securedclusterservices/testdata/helmtest/env.test.yaml
  • pkg/helm/charts/tests/securedclusterservices/testdata/helmtest/injected-cabundle-cm.test.yaml
  • pkg/helm/charts/tests/securedclusterservices/testdata/helmtest/legacy-settings.test.yaml
  • pkg/helm/charts/tests/securedclusterservices/testdata/helmtest/openshift-monitoring.test.yaml
  • pkg/helm/charts/tests/securedclusterservices/testdata/helmtest/scanner-slim.test.yaml
  • pkg/helm/charts/tests/securedclusterservices/testdata/helmtest/scanner-v4.test.yaml
  • pkg/renderer/central_db_test.go
  • pkg/renderer/kubernetes_test.go
  • proto/storage/cluster.proto
  • roxctl/central/generate/generate_test.go
  • roxctl/central/generate/k8s.go
  • roxctl/sensor/generate/openshift.go
  • tests/roxctl/bats-tests/cluster/sensor-generate-bundle.bats
💤 Files with no reviewable changes (7)
  • image/templates/helm/stackrox-secured-cluster/templates/_init.tpl.htpl
  • central/graphql/resolvers/test_utils.go
  • central/cluster/datastore/datastore_impl_postgres_test.go
  • pkg/helm/charts/tests/securedclusterservices/feature-flags/testdata/helmtest/admission-controller-config/admission-control.test.yaml
  • roxctl/central/generate/generate_test.go
  • image/templates/helm/stackrox-secured-cluster/values.yaml.htpl
  • image/templates/helm/stackrox-secured-cluster/internal/defaults/30-base-config.yaml.htpl

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 9, 2026

🚀 Build Images Ready

Images are ready for commit 49c1168. To use with deploy scripts:

export MAIN_IMAGE_TAG=4.11.x-642-g49c11684e9

@mclasmeier
Copy link
Copy Markdown
Contributor Author

@coderabbitio, review again

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Apr 9, 2026

@mclasmeier: Sure! I'll kick off a new review of the PR right away.

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@mclasmeier mclasmeier force-pushed the mc/ROX-33465-openshift-autosensing-4 branch from e2c71f2 to 49c1168 Compare April 9, 2026 13:43
@codecov
Copy link
Copy Markdown

codecov bot commented Apr 9, 2026

Codecov Report

❌ Patch coverage is 22.22222% with 7 lines in your changes missing coverage. Please review.
✅ Project coverage is 49.60%. Comparing base (9d35506) to head (49c1168).

Files with missing lines Patch % Lines
central/telemetry/centralclient/client.go 0.00% 2 Missing ⚠️
roxctl/central/generate/k8s.go 0.00% 2 Missing ⚠️
central/graphql/resolvers/cluster_count_by_type.go 0.00% 1 Missing ⚠️
image/embed_charts.go 0.00% 1 Missing ⚠️
roxctl/sensor/generate/openshift.go 0.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master   #19921      +/-   ##
==========================================
- Coverage   49.61%   49.60%   -0.01%     
==========================================
  Files        2765     2765              
  Lines      208541   208510      -31     
==========================================
- Hits       103464   103440      -24     
+ Misses      97401    97395       -6     
+ Partials     7676     7675       -1     
Flag Coverage Δ
go-unit-tests 49.60% <22.22%> (-0.01%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

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.

1 participant