Skip to content

ROX-33119: Allow operator install method on non-OpenShift platforms#19446

Draft
sachaudh wants to merge 12 commits intomasterfrom
ROX-33119/operator-instructions-non-openshift
Draft

ROX-33119: Allow operator install method on non-OpenShift platforms#19446
sachaudh wants to merge 12 commits intomasterfrom
ROX-33119/operator-instructions-non-openshift

Conversation

@sachaudh
Copy link
Contributor

@sachaudh sachaudh commented Mar 16, 2026

Description

Jira: ROX-33119

The Operator installation method was restricted to OpenShift only. Users selecting EKS, AKS, or GKE were forced to use Helm chart, even though the RHACS Operator now supports non-OpenShift platforms.

Changes

  • Remove platform gating that disabled the Operator option for non-OpenShift platforms in InitBundleForm
  • Simplify onChangePlatform to only set the platform field instead of force-switching installation to Helm
  • Narrow InstallationKey and PlatformKey types using as const inference and oneOf validation derived from the source-of-truth option objects
  • Update operator instruction text in both Init Bundles and Cluster Registration Secrets flows:
    • Add "(OpenShift)" labels to documentation links to clarify they are OpenShift-specific
    • Replace OpenShift-specific prerequisite language with platform-neutral instructions and nested sub-bullets for OpenShift (OperatorHub) vs other platforms (Helm chart)
    • Add kubectl command option alongside the existing oc command
    • Use generic placeholder filenames (<init-bundle-file>.yaml, <cluster-registration-secret-file>.yaml)
    • Tighten and simplify wording throughout

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
  • added e2e tests
  • added regression tests
  • added compatibility tests
  • modified existing tests

How I validated my change

  • Verified Operator option remains enabled when selecting EKS, AKS, or GKE platforms
  • Verified dropdown shows both "Operator (recommended)" and "Helm chart" for all platforms
  • Verified operator instruction text renders correctly with platform-neutral language, nested sub-bullets, and kubectl commands on both Init Bundles and Cluster Registration Secrets flows
  • No type errors or lint warnings

Visuals

Screen.Recording.2026-03-17.at.12.12.00.PM.mov
Screenshot 2026-03-17 at 12 10 49 PM Screenshot 2026-03-17 at 12 10 59 PM Screenshot 2026-03-17 at 12 13 22 PM Screenshot 2026-03-17 at 12 13 29 PM

ROX-33119: Remove platform gating that restricted the Operator
installation method to OpenShift only. Update instruction text in
both Init Bundles and CRS flows to be platform-neutral, with
qualified sub-bullets for OpenShift vs other platforms and kubectl
as an alternative to oc.

Signed-off-by: Saif Chaudhry <schaudhr@redhat.com>
…pace

Simplify onChangePlatform to only set the platform field instead of
resetting installation to Operator on every platform switch, which
silently overrode the user's selection. Also fix ClipboardCopy in
CRS operator instructions where line wrapping caused whitespace in
the copied command text.

Signed-off-by: Saif Chaudhry <schaudhr@redhat.com>
@openshift-ci
Copy link

openshift-ci bot commented Mar 16, 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

Remove Record<string, string> annotations that widened as const
types, so InstallationKey resolves to 'Operator' | 'Helm' and
PlatformKey to 'OpenShift' | 'EKS' | 'AKS' | 'GKE'. Add oneOf
validators to the yup schema for compile-time and runtime safety.

Signed-off-by: Saif Chaudhry <schaudhr@redhat.com>
Add missing article in heading ("using the Operator installation
method"), replace awkward colon with comma in OpenShift web console
bullet, remove redundant clause, and fix plural "secrets" to
singular "secret" in CRS apply step.

Signed-off-by: Saif Chaudhry <schaudhr@redhat.com>
Rewrite "In the cluster that you are securing, you have installed
the RHACS Operator" to lead with the action for clarity.

Signed-off-by: Saif Chaudhry <schaudhr@redhat.com>
Remove "by" from "by using", replace redundant "YAML file for the
init bundle/cluster registration secret" with "its YAML file",
shorten "Perform one of the following tasks to apply..." to "Apply
it using one of the following methods:", and simplify the final
install step.

Signed-off-by: Saif Chaudhry <schaudhr@redhat.com>
@rhacs-bot
Copy link
Contributor

rhacs-bot commented Mar 16, 2026

Images are ready for the commit at 3764876.

To use with deploy scripts, first export MAIN_IMAGE_TAG=4.11.x-350-g37648764e8.

@codecov
Copy link

codecov bot commented Mar 16, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 49.32%. Comparing base (7593465) to head (3764876).
⚠️ Report is 16 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master   #19446      +/-   ##
==========================================
- Coverage   49.56%   49.32%   -0.25%     
==========================================
  Files        2711     2722      +11     
  Lines      204849   205163     +314     
==========================================
- Hits       101528   101191     -337     
- Misses      95741    96439     +698     
+ Partials     7580     7533      -47     
Flag Coverage Δ
go-unit-tests 49.32% <ø> (-0.25%) ⬇️

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.

@sachaudh sachaudh requested a review from porridge March 17, 2026 19:27
@sachaudh sachaudh changed the title feat(clusters): allow operator install method on non-OpenShift platforms ROX-33119: Allow operator install method on non-OpenShift platforms Mar 17, 2026
</p>
</ListItem>
<ListItem>
<p>You have installed the RHACS Operator on the cluster you are securing.</p>
Copy link
Contributor Author

@sachaudh sachaudh Mar 17, 2026

Choose a reason for hiding this comment

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

@porridge, I changed this from the suggested: "In the cluster that you are securing, you have installed the RHACS Operator". This puts the action first and tacks on the location as a simple prepositional phrase at the end, which feels more direct.

I see that we use fronted prepositional phrases with a relative clause in a few other areas, too. Your suggestion probably followed the same pattern, but I wonder if we should keep this to make it clearer.

@mansursyed @zhenpesky, this might be relevant for you both, too.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@mansursyed @zhenpesky I'm curious about the language used in the "Secure a cluster with an init bundle" and "Secure a cluster with a cluster registration secret" sections. There are several spots where the prose front-loads prepositional phrases and buries the action verb.

Examples:

On the cluster that you are securing, using the Red Hat OpenShift CLI, run a command similar to the following:

In the RHACS web portal, you have created an init bundle and downloaded the YAML file for the init bundle.

Applying the init bundle creates the secrets and resources that the secured cluster needs to communicate with RHACS. Perform one of the following tasks to apply the init bundle:

The style seems to be verbose and front-loaded. I feel like a more direct language would be ideal. Is this style something that comes from Red Hat?

Standardize ClipboardCopy content to use HTML entities (&lt;/&gt;)
instead of JSX string expressions for angle brackets, matching the
pattern used in the InitBundles variant and other ClipboardCopy
usages across the codebase.

Signed-off-by: Saif Chaudhry <schaudhr@redhat.com>
Derive Yup oneOf validation values from installationOptions and
platformOptions objects instead of hardcoding them. This prevents
silent divergence if a new option is added to the source-of-truth
objects but not to the schema.

Signed-off-by: Saif Chaudhry <schaudhr@redhat.com>
Add explicit string type to the value parameter to avoid implicit
any, consistent with the type narrowing done elsewhere in this PR.

Signed-off-by: Saif Chaudhry <schaudhr@redhat.com>
Remove trailing space before closing </p> tags in both
SecureClusterUsingOperator components.

Signed-off-by: Saif Chaudhry <schaudhr@redhat.com>
HTML entities cause prettier to treat the content as plain text and
wrap long lines, which introduces newlines in the copied command.
JSX string expressions are treated as atomic by prettier and
preserve the command as a single line.

Signed-off-by: Saif Chaudhry <schaudhr@redhat.com>
Move CLI commands into named constants so ClipboardCopy children
use simple variable references, avoiding both HTML entity escaping
and JSX string expression wrapping for angle brackets.

Signed-off-by: Saif Chaudhry <schaudhr@redhat.com>
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.

2 participants