:_mod-docs-content-type: ASSEMBLY
include::_attributes/common-attributes.adoc[]
[id="albo-sts-cluster"]
= Preparing an AWS STS cluster for the AWS Load Balancer Operator
:context: albo-sts-cluster

toc::[]

[role="_abstract"]
To install the {aws-first} Load Balancer Operator on a cluster that uses the {sts-first}, prepare the cluster by configuring the `CredentialsRequest` object. This ensures the Operator can bootstrap the {aws-short} Load Balancer Controller and access the required secrets.

The {aws-short} Load Balancer Operator waits until the required secrets are created and available.

Before you start any {sts-first} procedures, ensure that you meet the following prerequisites:

* You installed the {oc-first}.

* You know the infrastructure ID of your cluster. To show this ID, run the following command in your CLI:
+
[source,terminal]
----
$ oc get infrastructure cluster -o=jsonpath="{.status.infrastructureName}" 
----

* You know the OpenID Connect (OIDC) DNS information for your cluster. To show this information, enter the following command in your CLI:
+
[source,terminal]
----
$ oc get authentication.config cluster -o=jsonpath="{.spec.serviceAccountIssuer}"
----
+
where:
+
`{.spec.serviceAccountIssuer}`:: Specifies an OIDC DNS URL. An example URL is `\https://rh-oidc.s3.us-east-1.amazonaws.com/28292va7ad7mr9r4he1fb09b14t59t4f`.

* You logged into the {aws-short} management console, navigated to *IAM* -> *Access management* -> *Identity providers*, and located the OIDC Amazon Resource Name (ARN) information. An OIDC ARN example is `arn:aws:iam::777777777777:oidc-provider/<oidc_dns_url>`.

[role="_additional-resources"]
.Additional resources

* xref:../../../installing/installing_aws/ipi/installing-aws-customizations.adoc#cco-ccoctl-configuring_installing-aws-customizations[the Cloud Credential Operator utility (`ccoctl`)]

// The IAM role for the AWS Load Balancer Operator
include::modules/the-iam-role-albo-operator.adoc[leveloffset=+1]

// Creating an AWS IAM role by using the Cloud Credential Operator utility
include::modules/using-ccoctl-create-iam-role-alb-operator.adoc[leveloffset=+2]

// Creating an AWS IAM role by using the AWS CLI
include::modules/using-aws-cli-create-iam-role-alb-operator.adoc[leveloffset=+2]

// Configuring the ARN role for the AWS Load Balancer Operator
include::modules/specifying-role-arn-albo-sts.adoc[leveloffset=+1]

// The IAM role for the AWS Load Balancer Controller
include::modules/the-iam-role-albo-controller.adoc[leveloffset=+1]

[role="_additional-resources"]
.Additional resources

* xref:../../../installing/installing_aws/ipi/installing-aws-customizations.adoc#cco-ccoctl-configuring_installing-aws-customizations[the Cloud Credential Operator utility (`ccoctl`)]

// Creating an AWS IAM role for the controller by using the Cloud Credential Operator utility
include::modules/using-ccoctl-create-iam-role-alb-controller.adoc[leveloffset=+2]

// Creating an AWS IAM role for the controller by using the AWS CLI
include::modules/using-aws-cli-create-iam-role-alb-controller.adoc[leveloffset=+2]

[role="_additional-resources"]
[id="additional-resources-albo-sts-cluster_{context}"]
== Additional resources

* xref:../../../installing/installing_aws/ipi/installing-aws-customizations.adoc#cco-ccoctl-configuring_installing-aws-customizations[Configuring the Cloud Credential Operator utility]
