Skip to content

📖 Documentation Update to Creating a ROSA HCP cluster directions#5920

Open
tinaafitz wants to merge 11 commits intokubernetes-sigs:mainfrom
tinaafitz:create_cluster_doc_fix
Open

📖 Documentation Update to Creating a ROSA HCP cluster directions#5920
tinaafitz wants to merge 11 commits intokubernetes-sigs:mainfrom
tinaafitz:create_cluster_doc_fix

Conversation

@tinaafitz
Copy link
Copy Markdown
Contributor

/kind documentation

  • Simplify and reorganize the ROSA HCP "Creating a cluster" documentation
  • Add Prerequisites section with links to the Quick Start Guide and ROSA Setup guide
  • Separate Authentication and Permissions into distinct sections for clarity
  • Remove deprecated SSO offline token authentication and migration instructions
  • Minor wording fixes

@k8s-ci-robot
Copy link
Copy Markdown
Contributor

Adding the "do-not-merge/release-note-label-needed" label because no release-note block was detected, please follow our release note process to remove it.

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.

@k8s-ci-robot k8s-ci-robot added kind/documentation Categorizes issue or PR as related to documentation. do-not-merge/release-note-label-needed Indicates that a PR should not merge because it's missing one of the release note labels. labels Mar 31, 2026
@k8s-ci-robot k8s-ci-robot requested review from faiq and serngawy March 31, 2026 17:07
@k8s-ci-robot k8s-ci-robot added needs-priority cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. size/L Denotes a PR that changes 100-499 lines, ignoring generated files. needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. labels Mar 31, 2026
@k8s-ci-robot
Copy link
Copy Markdown
Contributor

Hi @tinaafitz. Thanks for your PR.

I'm waiting for a kubernetes-sigs 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.

Tip

We noticed you've done this a few times! Consider joining the org to skip this step and gain /lgtm and other bot rights. We recommend asking approvers on your previous PRs to sponsor you.

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.

@tinaafitz tinaafitz force-pushed the create_cluster_doc_fix branch 4 times, most recently from 8f82392 to 818e792 Compare March 31, 2026 18:13
@tinaafitz tinaafitz changed the title Draft Documentation - Update Creating a ROSA HCP cluster directions 📖 Draft - Documentation Update to Creating a ROSA HCP cluster directions Mar 31, 2026
Comment thread docs/book/src/topics/rosa/creating-a-cluster.md Outdated
Comment thread docs/book/src/topics/rosa/creating-a-cluster.md
Comment thread docs/book/src/topics/rosa/creating-a-cluster.md
@tinaafitz tinaafitz changed the title 📖 Draft - Documentation Update to Creating a ROSA HCP cluster directions 📖 Documentation Update to Creating a ROSA HCP cluster directions Mar 31, 2026
@tinaafitz tinaafitz force-pushed the create_cluster_doc_fix branch from c6eaab7 to 9afb9f1 Compare April 1, 2026 18:58

## Authentication
The CAPA controller requires service account credentials to provision ROSA HCP clusters.
If you already have a service account, you can skip these steps.
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.

Suggested change
If you already have a service account, you can skip these steps.
**Note:** If you already have a service account, you can skip these steps.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Done.

Comment thread docs/book/src/topics/rosa/creating-a-cluster.md
Comment thread docs/book/src/topics/rosa/creating-a-cluster.md
rosaClusterName: rosa-hcp-1
domainPrefix: rosa-hcp
rosaRoleConfigRef:
name: role-config
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.

Suggested change
name: role-config
name: role-config # reference to the ROSARoleConfig created above

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Done.

version: "4.19.0"
region: "us-west-2"
rosaNetworkRef:
name: "rosa-vpc"
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.

Suggested change
name: "rosa-vpc"
name: "rosa-vpc" # reference to the ROSANetwork created above

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Done.

Comment thread docs/book/src/topics/rosa/creating-a-cluster.md
… and deletion steps

- Bold the service account skip note
- Add full resource headers (apiVersion, kind, metadata, spec) to ROSARoleConfig and ROSANetwork status examples
- Add inline comments to rosaRoleConfigRef and rosaNetworkRef for clarity
- Add example for creating an additional ROSAMachinePool (workers-extra)
- Add section for deleting a ROSA HCP cluster and cleaning up resources
Comment thread docs/book/src/topics/rosa/creating-a-cluster.md Outdated
Comment thread docs/book/src/topics/rosa/creating-a-cluster.md
Comment thread docs/book/src/topics/rosa/creating-a-cluster.md
1. Extract the OIDC provider from the management cluster and set your AWS account ID:

```shell
export OIDC_PROVIDER=$(kubectl get authentication.config.openshift.io cluster -ojson | jq -r .spec.serviceAccountIssuer | sed 's/https:\/\///')
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.

This is only for Openshift not kubernetes in general

@@ -0,0 +1,86 @@
# Specifying the IAM Role for ROSA HCP Management Components

When using a management cluster (kind or minikube) with CAPI and CAPA installed, you can configure the CAPA controller to use IAM roles instead of storing AWS credentials. This uses OIDC federation to allow the CAPA controller service account to assume an IAM role.
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.

lets mentioned that a rosa-hcp is the management cluster or any cluster created using aws credential

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Modified.

  - Add IAM Role Configuration section linking to specify-management-iam-role doc
  - Reorder prerequisites: ROSA setup first, management cluster second
  - Fix Authentication section formatting and numbering
  - Add new specify-management-iam-role doc with step-by-step IAM role setup instructions
@tinaafitz tinaafitz force-pushed the create_cluster_doc_fix branch 2 times, most recently from d911351 to cc9fec5 Compare April 8, 2026 21:51
- Add ROSA and MachinePool feature gate requirements before clusterctl init
- Add note about rosa-creds-secret namespace matching resource namespace
- Add note about ROSARoleConfig prefix max length (4 characters)
- Update OpenShift version from 4.19.0 to 4.20.11 with version check hint
- Update Cluster and MachinePool API version from v1beta1 to v1beta2
@tinaafitz tinaafitz force-pushed the create_cluster_doc_fix branch from cc9fec5 to f21d69f Compare April 9, 2026 13:36
…nces

 - Fix Markdown rendering issues: add blank lines to separate code blocks,
   notes, and section headings within list items
 - Remove YAML document separators (---) that were being interpreted as
    Markdown thematic breaks, breaking code block rendering
 - Move AWSClusterControllerIdentity to its own step before cluster creation
 - Remove separate identityRef/multi-tenancy step (identity now created upfront)
 - Remove IAM Role Configuration section
 - Add namespace: "capa-system" to ROSARoleConfig and ROSANetwork examples
   and their expected status output
@tinaafitz tinaafitz force-pushed the create_cluster_doc_fix branch from ee140cd to 0441ae8 Compare April 15, 2026 16:43
@serngawy
Copy link
Copy Markdown
Contributor

/ok-to-test

@k8s-ci-robot k8s-ci-robot added ok-to-test Indicates a non-member PR verified by an org member that is safe to test. and removed needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. labels Apr 15, 2026
@k8s-ci-robot
Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign serngawy for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found 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

@tinaafitz
Copy link
Copy Markdown
Contributor Author

/retest

--policy-arn arn:aws:iam::aws:policy/AmazonVPCFullAccess
```

## Annotate the Service Account
Copy link
Copy Markdown
Contributor

@serngawy serngawy Apr 17, 2026

Choose a reason for hiding this comment

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

Before this step we assume the CAPA and CAPI are been installed. Better to show the steps using clusterctl and clusterawsadm to initialize CAPI/CAPA as below

# kubeconfig is pointing to the same cluster we retrieved the OIDC_PROVIDER from

export EXP_ROSA=true
export EXP_MACHINE_POOL=true

# Not sure; if we set the env variable the capa deployment and serviceAccount will be annotated.
export AWS_CONTROLLER_IAM_ROLE=$(aws iam get-role --role-name=capa-manager-role --query Role.Arn --output text)

clusterctl init --infrastructure aws

Comment on lines +104 to +105
oidcProviderType: Managed
apiVersion: infrastructure.cluster.x-k8s.io/v1beta2
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.

I believe the --- separator is missing from here

export OPENSHIFT_VERSION="4.19.0"
export OPENSHIFT_VERSION="4.20.11" # check available versions with: rosa list versions --hosted-cp
export AWS_REGION="us-west-2"
export AWS_AVAILABILITY_ZONE="us-west-2a"
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 could probably provide the aws sts commands here:

export AWS_ACCOUNT_ID=$(aws sts get-caller-identity --query Account --output text)
export AWS_CREATOR_ARN=$(aws sts get-caller-identity --query Arn --output text)

Comment on lines +88 to +91
Save the following to a file named `rosa-role-network.yaml`:

```yaml
apiVersion: infrastructure.cluster.x-k8s.io/v1beta2
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.

It would be nice that this yaml file and the ones below have the cat <<EOF ... > command so that a user can just copy and paste them

controlPlaneRef:
apiGroup: controlplane.cluster.x-k8s.io
kind: ROSAControlPlane
name: "rosa-hcp-1-control-plane"
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.

I believe the --- separator is missing from here

kind: ROSACluster
metadata:
name: "rosa-hcp-1"
spec: {}
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.

I believe the --- separator is missing from here

infrastructureRef:
apiGroup: infrastructure.cluster.x-k8s.io
kind: ROSAMachinePool
name: "workers-extra"
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.

missing --- separator here

@linux-foundation-easycla
Copy link
Copy Markdown

linux-foundation-easycla Bot commented Apr 21, 2026

CLA Signed

The committers listed above are authorized under a signed CLA.

@k8s-ci-robot k8s-ci-robot added cncf-cla: no Indicates the PR's author has not signed the CNCF CLA. and removed cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. labels Apr 21, 2026
@tinaafitz tinaafitz force-pushed the create_cluster_doc_fix branch from 731e1ae to f989baa Compare April 21, 2026 14:24
@k8s-ci-robot k8s-ci-robot added cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. and removed cncf-cla: no Indicates the PR's author has not signed the CNCF CLA. labels Apr 21, 2026
Copy link
Copy Markdown
Contributor

@serngawy serngawy left a comment

Choose a reason for hiding this comment

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

thanks @tinaafitz , looks good

@serngawy
Copy link
Copy Markdown
Contributor

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Apr 22, 2026
@k8s-ci-robot
Copy link
Copy Markdown
Contributor

LGTM label has been added.

DetailsGit tree hash: 314c01c9afd6bd6d11f5faa2212d84bd75bd675e

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. do-not-merge/release-note-label-needed Indicates that a PR should not merge because it's missing one of the release note labels. kind/documentation Categorizes issue or PR as related to documentation. lgtm "Looks good to me", indicates that a PR is ready to be merged. needs-priority ok-to-test Indicates a non-member PR verified by an org member that is safe to test. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants