Skip to content

Commit 832881c

Browse files
authored
Merge pull request #62900 from jeana-redhat/OSDOCS-6136-azure-ccoctl-determining-cco-mode
[OSDOCS-6136]: Azure `ccoctl` determining CCO mode
2 parents 764bcce + 92c25ba commit 832881c

6 files changed

+144
-80
lines changed

modules/cco-ccoctl-creating-at-once.adoc

Lines changed: 29 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -142,28 +142,28 @@ endif::alibabacloud-default,alibabacloud-customizations,alibabacloud-vpc[]
142142
ifdef::aws-sts[]
143143
----
144144
$ oc adm release extract \
145-
--credentials-requests \
146-
--cloud=aws \
147-
--to=<path_to_directory_with_list_of_credentials_requests>/credrequests \ <1>
148-
--from=quay.io/<path_to>/ocp-release:<version>
145+
--credentials-requests \
146+
--cloud=aws \
147+
--to=<path_to_directory_with_list_of_credentials_requests>/credrequests \// <1>
148+
--from=quay.io/<path_to>/ocp-release:<version>
149149
----
150150
endif::aws-sts[]
151151
ifdef::google-cloud-platform[]
152152
----
153153
$ oc adm release extract \
154-
--credentials-requests \
155-
--cloud=gcp \
156-
--to=<path_to_directory_with_list_of_credentials_requests>/credrequests \ <1>
157-
quay.io/<path_to>/ocp-release:<version>
154+
--credentials-requests \
155+
--cloud=gcp \
156+
--to=<path_to_directory_with_list_of_credentials_requests>/credrequests \// <1>
157+
quay.io/<path_to>/ocp-release:<version>
158158
----
159159
endif::google-cloud-platform[]
160160
ifdef::alibabacloud-default,alibabacloud-customizations,alibabacloud-vpc[]
161161
----
162162
$ oc adm release extract \
163-
--credentials-requests \
164-
--cloud=alibabacloud \
165-
--to=<path_to_directory_with_list_of_credentials_requests>/credrequests \ <1>
166-
$RELEASE_IMAGE
163+
--credentials-requests \
164+
--cloud=alibabacloud \
165+
--to=<path_to_directory_with_list_of_credentials_requests>/credrequests \// <1>
166+
$RELEASE_IMAGE
167167
----
168168
endif::alibabacloud-default,alibabacloud-customizations,alibabacloud-vpc[]
169169
+
@@ -268,20 +268,15 @@ ifdef::google-cloud-platform[]
268268
[source,terminal]
269269
----
270270
$ ccoctl gcp create-all \
271-
--name=<name> \
272-
--region=<gcp_region> \
273-
--project=<gcp_project_id> \
274-
--credentials-requests-dir=<path_to_directory_with_list_of_credentials_requests>/credrequests
271+
--name=<name> \// <1>
272+
--region=<gcp_region> \// <2>
273+
--project=<gcp_project_id> \// <3>
274+
--credentials-requests-dir=<path_to_directory_with_list_of_credentials_requests>/credrequests <4>
275275
----
276-
+
277-
where:
278-
+
279-
--
280-
** `<name>` is the user-defined name for all created GCP resources used for tracking.
281-
** `<gcp_region>` is the GCP region in which cloud resources will be created.
282-
** `<gcp_project_id>` is the GCP project ID in which cloud resources will be created.
283-
** `<path_to_directory_with_list_of_credentials_requests>/credrequests` is the directory containing the files of `CredentialsRequest` manifests to create GCP service accounts.
284-
--
276+
<1> Specify the user-defined name for all created GCP resources used for tracking.
277+
<2> Specify the GCP region in which cloud resources will be created.
278+
<3> Specify the GCP project ID in which cloud resources will be created.
279+
<4> Specify the directory containing the files of `CredentialsRequest` manifests to create GCP service accounts.
285280
+
286281
[NOTE]
287282
====
@@ -297,20 +292,15 @@ ifdef::alibabacloud-default,alibabacloud-customizations,alibabacloud-vpc[]
297292
[source,terminal]
298293
----
299294
$ ccoctl alibabacloud create-ram-users \
300-
--name <name> \
301-
--region=<alibaba_region> \
302-
--credentials-requests-dir=<path_to_directory_with_list_of_credentials_requests>/credrequests \
303-
--output-dir=<path_to_ccoctl_output_dir>
295+
--name <name> \// <1>
296+
--region=<alibaba_region> \// <2>
297+
--credentials-requests-dir=<path_to_directory_with_list_of_credentials_requests>/credrequests \// <3>
298+
--output-dir=<path_to_ccoctl_output_dir> <4>
304299
----
305-
+
306-
where:
307-
+
308-
--
309-
** `<name>` is the name used to tag any cloud resources that are created for tracking.
310-
** `<alibaba_region>` is the Alibaba Cloud region in which cloud resources will be created.
311-
** `<path_to_directory_with_list_of_credentials_requests>/credrequests` is the directory containing the files for the component `CredentialsRequest` objects.
312-
** `<path_to_ccoctl_output_dir>` is the directory where the generated component credentials secrets will be placed.
313-
--
300+
<1> Specify the name used to tag any cloud resources that are created for tracking.
301+
<2> Specify the Alibaba Cloud region in which cloud resources will be created.
302+
<3> Specify the directory containing the files for the component `CredentialsRequest` objects.
303+
<4> Specify the directory where the generated component credentials secrets will be placed.
314304
+
315305
[NOTE]
316306
====
@@ -332,9 +322,8 @@ If your cluster uses Technology Preview features that are enabled by the `TechPr
332322
+
333323
[NOTE]
334324
====
335-
A RAM user can have up to two AccessKeys at the same time. If you run `ccoctl alibabacloud create-ram-users` more than twice, the previous generated manifests secret becomes stale and you must reapply the newly generated secrets.
325+
A RAM user can have up to two AccessKeys at the same time. If you run `ccoctl alibabacloud create-ram-users` more than twice, the previously generated manifests secret becomes stale and you must reapply the newly generated secrets.
336326
====
337-
// Above output was in AWS area but I believe belongs here.
338327

339328
.. Verify that the {product-title} secrets are created:
340329
+

modules/cco-ccoctl-upgrading.adoc

Lines changed: 95 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,6 @@ The process for upgrading an {product-title} cluster that was configured using t
1111

1212
[NOTE]
1313
====
14-
By default, `ccoctl` creates objects in the directory in which the commands are run. To create the objects in a different directory, use the `--output-dir` flag. This procedure uses `<path_to_ccoctl_output_dir>` to refer to this directory.
15-
1614
On AWS clusters, some `ccoctl` commands make AWS API calls to create or modify AWS resources. You can use the `--dry-run` flag to avoid making API calls. Using this flag creates JSON files on the local file system instead. You can review and modify the JSON files and then apply them with the AWS CLI tool using the `--cli-input-json` parameters.
1715
====
1816

@@ -28,18 +26,14 @@ On AWS clusters, some `ccoctl` commands make AWS API calls to create or modify A
2826
+
2927
[source,terminal]
3028
----
31-
$ oc adm release extract --credentials-requests \
32-
--cloud=<provider_type> \
33-
--to=<path_to_directory_with_list_of_credentials_requests>/credrequests \
29+
$ oc adm release extract \
30+
--credentials-requests \
31+
--cloud=<provider_type> \// <1>
32+
--to=<path_to_directory_with_list_of_credentials_requests>/credrequests \// <2>
3433
quay.io/<path_to>/ocp-release:<version>
3534
----
36-
+
37-
where:
38-
+
39-
--
40-
* `<provider_type>` is the value for your cloud provider. Valid values are `alibabacloud`, `aws`, `gcp`, `ibmcloud`, and `nutanix`.
41-
* `credrequests` is the directory where the list of `CredentialsRequest` objects is stored. This command creates the directory if it does not exist.
42-
--
35+
<1> Specify the value for your cloud provider. Valid values are `alibabacloud`, `aws`, `azure`, `gcp`, `ibmcloud`, and `nutanix`.
36+
<2> Specify the directory where the list of `CredentialsRequest` objects is stored. This command creates the directory if it does not exist.
4337

4438
. For each `CredentialsRequest` CR in the release image, ensure that a namespace that matches the text in the `spec.secretRef.namespace` field exists in the cluster. This field is where the generated secrets that hold the credentials configuration are stored.
4539
+
@@ -79,17 +73,97 @@ $ oc create namespace <component_namespace>
7973
8074
. Use the `ccoctl` tool to process all `CredentialsRequest` objects in the `credrequests` directory by running the command for your cloud provider. The following commands process `CredentialsRequest` objects:
8175
+
82-
--
83-
* {alibaba}: `ccoctl alibabacloud create-ram-users`
84-
* Amazon Web Services (AWS): `ccoctl aws create-iam-roles`
85-
* Google Cloud Platform (GCP): `ccoctl gcp create-all`
86-
* IBM Cloud: `ccoctl ibmcloud create-service-id`
87-
* Nutanix: `ccoctl nutanix create-shared-secrets`
88-
--
76+
.{alibaba}
77+
[%collapsible]
78+
====
79+
[source,terminal]
80+
----
81+
$ ccoctl alibabacloud create-ram-users \
82+
--name <name> \// <1>
83+
--region=<alibaba_region> \// <2>
84+
--credentials-requests-dir=<path_to_directory_with_list_of_credentials_requests>/credrequests \// <3>
85+
--output-dir=<path_to_ccoctl_output_dir> <4>
86+
----
87+
<1> Specify the name used to tag any cloud resources that are created for tracking.
88+
<2> Specify the Alibaba Cloud region in which cloud resources will be created.
89+
<3> Specify the directory containing the files for the component `CredentialsRequest` objects.
90+
<4> Optional: Specify the directory in which you want the `ccoctl` utility to create objects. By default, the utility creates objects in the directory in which the commands are run.
91+
92+
[NOTE]
93+
=====
94+
A RAM user can have up to two AccessKeys at the same time. If you run `ccoctl alibabacloud create-ram-users` more than twice, the previously generated manifests secret becomes stale and you must reapply the newly generated secrets.
95+
=====
96+
====
97+
+
98+
.Amazon Web Services (AWS)
99+
[%collapsible]
100+
====
101+
[source,terminal]
102+
----
103+
$ ccoctl aws create-all \// <1>
104+
--name=<name> \// <2>
105+
--region=<aws_region> \// <3>
106+
--credentials-requests-dir=<path_to_directory_with_list_of_credentials_requests>/credrequests \// <4>
107+
--output-dir=<path_to_ccoctl_output_dir> \// <5>
108+
--create-private-s3-bucket <6>
109+
----
110+
<1> To create the AWS resources individually, use the "Creating AWS resources individually" procedure in the "Installing a cluster on AWS with customizations" content. This option might be useful if you need to review the JSON files that the `ccoctl` tool creates before modifying AWS resources, or if the process the `ccoctl` tool uses to create AWS resources automatically does not meet the requirements of your organization.
111+
<2> Specify the name used to tag any cloud resources that are created for tracking.
112+
<3> Specify the AWS region in which cloud resources will be created.
113+
<4> Specify the directory containing the files for the component `CredentialsRequest` objects.
114+
<5> Optional: Specify the directory in which you want the `ccoctl` utility to create objects. By default, the utility creates objects in the directory in which the commands are run.
115+
<6> Optional: By default, the `ccoctl` utility stores the OpenID Connect (OIDC) configuration files in a public S3 bucket and uses the S3 URL as the public OIDC endpoint. To store the OIDC configuration in a private S3 bucket that is accessed by the IAM identity provider through a public CloudFront distribution URL instead, use the `--create-private-s3-bucket` parameter.
116+
====
89117
+
90-
[IMPORTANT]
118+
.Google Cloud Platform (GCP)
119+
[%collapsible]
91120
====
92-
Refer to the `ccoctl` utility instructions in the installation content for your cloud provider for important platform-specific details about the required arguments and special considerations.
121+
[source,terminal]
122+
----
123+
$ ccoctl gcp create-all \
124+
--name=<name> \// <1>
125+
--region=<gcp_region> \// <2>
126+
--project=<gcp_project_id> \// <3>
127+
--credentials-requests-dir=<path_to_directory_with_list_of_credentials_requests>/credrequests \// <4>
128+
--output-dir=<path_to_ccoctl_output_dir> <5>
129+
----
130+
<1> Specify the user-defined name for all created GCP resources used for tracking.
131+
<2> Specify the GCP region in which cloud resources will be created.
132+
<3> Specify the GCP project ID in which cloud resources will be created.
133+
<4> Specify the directory containing the files of `CredentialsRequest` manifests to create GCP service accounts.
134+
<5> Optional: Specify the directory in which you want the `ccoctl` utility to create objects. By default, the utility creates objects in the directory in which the commands are run.
135+
====
136+
+
137+
.IBM Cloud
138+
[%collapsible]
139+
====
140+
[source,terminal]
141+
----
142+
$ ccoctl ibmcloud create-service-id \
143+
--credentials-requests-dir=<path_to_credential_requests_directory> \// <1>
144+
--name=<cluster_name> \// <2>
145+
--output-dir=<installation_directory> \// <3>
146+
--resource-group-name=<resource_group_name> <4>
147+
----
148+
<1> Specify the directory containing the files for the component `CredentialsRequest` objects.
149+
<2> Specify the name of the {product-title} cluster.
150+
<3> Optional: Specify the directory in which you want the `ccoctl` utility to create objects. By default, the utility creates objects in the directory in which the commands are run.
151+
<4> Optional: Specify the name of the resource group used for scoping the access policies.
152+
====
153+
+
154+
.Nutanix
155+
[%collapsible]
156+
====
157+
[source,terminal]
158+
----
159+
$ ccoctl nutanix create-shared-secrets \
160+
--credentials-requests-dir=<path_to_directory_with_list_of_credentials_requests>/credrequests \// <1>
161+
--output-dir=<ccoctl_output_dir> \// <2>
162+
--credentials-source-filepath=<path_to_credentials_file> <3>
163+
----
164+
<1> Specify the path to the directory that contains the files for the component `CredentialsRequests` objects.
165+
<2> Optional: Specify the directory in which you want the `ccoctl` utility to create objects. By default, the utility creates objects in the directory in which the commands are run.
166+
<3> Optional: Specify the directory that contains the credentials data YAML file. By default, `ccoctl` expects this file to be in `<home_directory>/.nutanix/credentials`.
93167
====
94168
+
95169
For each `CredentialsRequest` object, `ccoctl` creates the required provider resources and a permissions policy as defined in each `CredentialsRequest` object from the {product-title} release image.

modules/cco-determine-mode-cli.adoc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,14 +50,14 @@ The following output values are possible, though not all are supported on all pl
5050
+
5151
[IMPORTANT]
5252
====
53-
To determine the specific configuration of an AWS or GCP cluster that has a `spec.credentialsMode` of `''`, `Mint`, or `Manual`, you must investigate further.
53+
To determine the specific configuration of an AWS, GCP, or global Microsoft Azure cluster that has a `spec.credentialsMode` of `''`, `Mint`, or `Manual`, you must investigate further.
5454
5555
AWS and GCP clusters support using mint mode with the root secret deleted.
5656
ifdef::update[]
5757
If the cluster is specifically configured to use mint mode or uses mint mode by default, you must determine if the root secret is present on the cluster before updating.
5858
endif::update[]
5959
60-
An AWS or GCP cluster that uses manual mode might be configured to create and manage cloud credentials from outside of the cluster using the AWS Security Token Service (STS) or GCP Workload Identity. You can determine whether your cluster uses this strategy by examining the cluster `Authentication` object.
60+
An AWS, GCP, or global Microsoft Azure cluster that uses manual mode might be configured to create and manage cloud credentials from outside of the cluster with AWS STS, GCP Workload Identity, or Azure AD Workload Identity. You can determine whether your cluster uses this strategy by examining the cluster `Authentication` object.
6161
====
6262

6363
ifdef::about-cco[]
@@ -95,7 +95,7 @@ where `<secret_name>` is `aws-creds` for AWS or `gcp-credentials` for GCP.
9595
+
9696
If the root secret is present, the output of this command returns information about the secret. An error indicates that the root secret is not present on the cluster.
9797

98-
. AWS or GCP clusters that use manual mode only: To determine whether the cluster is configured to create and manage cloud credentials from outside of the cluster, run the following command:
98+
. AWS, GCP, or global Microsoft Azure clusters that use manual mode only: To determine whether the cluster is configured to create and manage cloud credentials from outside of the cluster, run the following command:
9999
+
100100
[source,terminal]
101101
----

modules/cco-determine-mode-gui.adoc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,14 +49,14 @@ Only Amazon Web Services (AWS), global Microsoft Azure, and Google Cloud Platfor
4949
+
5050
[IMPORTANT]
5151
====
52-
To determine the specific configuration of an AWS or GCP cluster that has a `spec.credentialsMode` of `''`, `Mint`, or `Manual`, you must investigate further.
52+
To determine the specific configuration of an AWS, GCP, or global Microsoft Azure cluster that has a `spec.credentialsMode` of `''`, `Mint`, or `Manual`, you must investigate further.
5353
5454
AWS and GCP clusters support using mint mode with the root secret deleted.
5555
ifdef::update[]
5656
If the cluster is specifically configured to use mint mode or uses mint mode by default, you must determine if the root secret is present on the cluster before updating.
5757
endif::update[]
5858
59-
An AWS or GCP cluster that uses manual mode might be configured to create and manage cloud credentials from outside of the cluster using the AWS Security Token Service (STS) or GCP Workload Identity. You can determine whether your cluster uses this strategy by examining the cluster `Authentication` object.
59+
An AWS, GCP, or global Microsoft Azure cluster that uses manual mode might be configured to create and manage cloud credentials from outside of the cluster with AWS STS, GCP Workload Identity, or Azure AD Workload Identity. You can determine whether your cluster uses this strategy by examining the cluster `Authentication` object.
6060
====
6161

6262
ifdef::about-cco[]
@@ -117,7 +117,7 @@ Ensure that the *Project* dropdown is set to *All Projects*.
117117
* If you do not see these values, your cluster is using the CCO in mint mode with the root secret removed.
118118
--
119119

120-
. AWS or GCP clusters that use manual mode only: To determine whether the cluster is configured to create and manage cloud credentials from outside of the cluster, you must check the cluster `Authentication` object YAML values.
120+
. AWS, GCP, or global Microsoft Azure clusters that use manual mode only: To determine whether the cluster is configured to create and manage cloud credentials from outside of the cluster, you must check the cluster `Authentication` object YAML values.
121121

122122
.. Navigate to *Administration* -> *Cluster Settings*.
123123

modules/manually-configure-iam-nutanix.adoc

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -85,14 +85,14 @@ quay.io/<path_to>/ocp-release:<version>
8585
[source,terminal]
8686
----
8787
$ ccoctl nutanix create-shared-secrets \
88-
--credentials-requests-dir=<path_to_directory_with_list_of_credentials_requests>/credrequests \// <1>
89-
--output-dir=<ccoctl_output_dir> \// <2>
90-
--credentials-source-filepath=<path_to_credentials_file> <3>
88+
--credentials-requests-dir=<path_to_directory_with_list_of_credentials_requests>/credrequests \// <1>
89+
--output-dir=<ccoctl_output_dir> \// <2>
90+
--credentials-source-filepath=<path_to_credentials_file> <3>
9191
----
9292
+
9393
<1> Specify the path to the directory that contains the files for the component `CredentialsRequests` objects.
94-
<2> Specify the directory that contains the files of the component credentials secrets, under the `manifests` directory. By default, the `ccoctl` tool creates objects in the directory in which the commands are run. To create the objects in a different directory, use the `--output-dir` flag.
95-
<3> Optional: Specify the directory that contains the credentials data YAML file. By default, `ccoctl` expects this file to be in `<home_directory>/.nutanix/credentials`. To specify a different directory, use the `--credentials-source-filepath` flag.
94+
<2> Optional: Specify the directory in which you want the `ccoctl` utility to create objects. By default, the utility creates objects in the directory in which the commands are run.
95+
<3> Optional: Specify the directory that contains the credentials data YAML file. By default, `ccoctl` expects this file to be in `<home_directory>/.nutanix/credentials`.
9696
9797
. Edit the `install-config.yaml` configuration file so that the `credentialsMode` parameter is set to `Manual`.
9898
+

modules/manually-create-iam-ibm-cloud.adoc

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -154,14 +154,15 @@ endif::ibm-power-vs[]
154154
[source,terminal]
155155
----
156156
$ ccoctl ibmcloud create-service-id \
157-
--credentials-requests-dir <path_to_credential_requests_directory> \ <1>
158-
--name <cluster_name> \ <2>
159-
--output-dir <installation_directory> \
160-
--resource-group-name <resource_group_name> <3>
161-
----
162-
<1> The directory where the credential requests are stored.
163-
<2> The name of the {product-title} cluster.
164-
<3> Optional: The name of the resource group used for scoping the access policies.
157+
--credentials-requests-dir=<path_to_credential_requests_directory> \// <1>
158+
--name=<cluster_name> \// <2>
159+
--output-dir=<installation_directory> \// <3>
160+
--resource-group-name=<resource_group_name> <4>
161+
----
162+
<1> Specify the directory containing the files for the component `CredentialsRequest` objects.
163+
<2> Specify the name of the {product-title} cluster.
164+
<3> Optional: Specify the directory in which you want the `ccoctl` utility to create objects. By default, the utility creates objects in the directory in which the commands are run.
165+
<4> Optional: Specify the name of the resource group used for scoping the access policies.
165166
+
166167
--
167168
[NOTE]

0 commit comments

Comments
 (0)