You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Enhance documentation for OADP CloudStorage API, including installation instructions via OpenShift web console and provider-specific configurations for AWS, Azure, and GCP.
== Installing OADP Operator via OpenShift Web Console
210
+
211
+
When installing the OADP operator through the OpenShift web console with tokenized authentication support, you will be presented with cloud provider-specific configuration fields.
212
+
213
+
[NOTE]
214
+
====
215
+
For OpenShift 4.15 and later, the web console supports tokenized authentication during operator installation, allowing you to provide cloud credentials directly through the installation form.
216
+
====
217
+
218
+
.Console Installation Fields for AWS
219
+
220
+
During operator installation, the web console will display the following field:
221
+
222
+
*role ARN*::
223
+
**Field Label:** "role ARN"
224
+
+
225
+
**Help Text:** "The role ARN required for the operator to access the cloud API."
226
+
+
227
+
**Value to Enter:** Use the `ROLE_ARN` value from the prerequisite setup steps above (e.g., `arn:aws:iam::123456789012:role/openshift-adp-controller-manager`).
228
+
229
+
This field corresponds to the IAM role you created in the prerequisite steps. The role ARN format is `arn:aws:iam::${AWS_ACCOUNT_ID}:role/${ROLE_NAME}`.
230
+
208
231
[id="oadp-aws-cloud-storage-api_{context}"]
209
232
== Alternative: Using Cloud Storage API for Automated Bucket Management
210
233
211
-
Instead of manually creating S3 buckets, you can use the OADP Cloud Storage API to automatically manage bucket creation and configuration. This approach requires OADP operator version with Cloud Storage API support.
234
+
Instead of manually creating S3 buckets, you can use the OADP CloudStorage API to automatically manage bucket creation and configuration.
212
235
213
-
.Prerequisites for Cloud Storage API
236
+
[NOTE]
237
+
====
238
+
For comprehensive documentation on the CloudStorage API, including detailed configuration options, troubleshooting, and advanced usage, see link:../oadp-cloudstorage-api.html[OADP CloudStorage API].
239
+
====
214
240
215
-
* OADP operator with Cloud Storage API functionality enabled
216
-
* The same AWS STS configuration as above
241
+
.AWS-Specific CloudStorage Configuration
217
242
218
-
.Procedure for Cloud Storage API
243
+
For AWS, create a CloudStorage resource with the following configuration:
219
244
220
-
. Create a CloudStorage resource instead of manually creating buckets:
221
-
+
222
245
[source,yaml]
223
246
----
224
247
cat <<EOF | oc apply -f -
@@ -238,8 +261,8 @@ spec:
238
261
EOF
239
262
----
240
263
241
-
. Create the DataProtectionApplication with Cloud Storage API reference:
242
-
+
264
+
Then configure your DataProtectionApplication to use the CloudStorage resource:
265
+
243
266
[source,yaml]
244
267
----
245
268
cat <<EOF | oc apply -f -
@@ -258,7 +281,6 @@ spec:
258
281
backupLocations:
259
282
- name: default
260
283
bucket:
261
-
# Reference the CloudStorage resource instead of direct bucket
262
284
cloudStorageRef:
263
285
name: aws-backup-storage
264
286
prefix: velero
@@ -280,16 +302,10 @@ spec:
280
302
EOF
281
303
----
282
304
283
-
. Verify the CloudStorage resource status:
284
-
+
285
-
[source,bash]
286
-
----
287
-
oc get cloudstorage aws-backup-storage -n openshift-adp -o yaml
CloudStorage resources are protected by a finalizer (`oadp.openshift.io/bucket-protection`) to prevent accidental deletion of buckets containing backup data. To delete a CloudStorage resource, you must first add the deletion annotation:
316
-
317
-
[source,bash]
318
-
----
319
-
# Add deletion annotation before attempting to delete
Without this annotation, the deletion will hang indefinitely as the finalizer prevents removal.
328
-
329
-
Alternatively, if you want to remove the CloudStorage resource from OpenShift without deleting the S3 bucket in AWS, you can manually remove the finalizer:
330
-
331
-
[source,bash]
332
-
----
333
-
# Remove finalizer to delete CloudStorage CR without deleting the S3 bucket
== Alternative: Using Cloud Storage API for Automated Bucket Management
262
262
263
-
The OADP Cloud Storage API can automatically manage S3 bucket creation and configuration for ROSA STS clusters.
263
+
The OADP CloudStorage API can automatically manage S3 bucket creation and configuration for ROSA STS clusters.
264
264
265
-
.Prerequisites for Cloud Storage API
265
+
[NOTE]
266
+
====
267
+
For comprehensive documentation on the CloudStorage API, including detailed configuration options, troubleshooting, and advanced usage, see link:../oadp-cloudstorage-api.html[OADP CloudStorage API].
268
+
====
266
269
267
-
* OADP operator with Cloud Storage API functionality enabled
268
-
* The same ROSA STS configuration as above
270
+
.ROSA-Specific CloudStorage Configuration
269
271
270
-
.Procedure for Cloud Storage API
272
+
For ROSA, create a CloudStorage resource with the following configuration:
271
273
272
-
. Create a CloudStorage resource for ROSA:
273
-
+
274
274
[source,yaml]
275
275
----
276
276
cat <<EOF | oc apply -f -
@@ -290,8 +290,8 @@ spec:
290
290
EOF
291
291
----
292
292
293
-
. Create the DataProtectionApplication with Cloud Storage API reference:
294
-
+
293
+
Then configure your DataProtectionApplication with ROSA-specific settings:
294
+
295
295
[source,yaml]
296
296
----
297
297
cat <<EOF | oc apply -f -
@@ -332,21 +332,12 @@ spec:
332
332
EOF
333
333
----
334
334
335
-
. Verify the CloudStorage resource status:
336
-
+
337
-
[source,bash]
338
-
----
339
-
oc get cloudstorage rosa-backup-storage -n openshift-adp -o yaml
@@ -358,6 +349,15 @@ aws s3 ls s3://${VELERO_BUCKET_NAME}/
358
349
[NOTE]
359
350
====
360
351
For OpenShift 4.15 and later, you can provide the role ARN directly during operator installation through the web console, which will automatically create the necessary credentials secret.
352
+
353
+
When installing through the web console with tokenized authentication support, you will see the following field:
354
+
355
+
**role ARN**
356
+
- **Field Label:** "role ARN"
357
+
- **Help Text:** "The role ARN required for the operator to access the cloud API."
358
+
- **Value to Enter:** Use the `ROLE_ARN` value from the prerequisite setup steps above (e.g., `arn:aws:iam::123456789012:role/your-cluster-openshift-oadp-aws-cloud-credentials`).
359
+
360
+
This corresponds to the IAM role created in the prerequisite steps with the format `arn:aws:iam::${AWS_ACCOUNT_ID}:role/${ROLE_NAME}`.
361
361
====
362
362
363
363
. Create the DataProtectionApplication for standard ROSA STS setup:
== Installing OADP Operator via OpenShift Web Console
189
+
190
+
When installing the OADP operator through the OpenShift web console with tokenized authentication support, you will be presented with cloud provider-specific configuration fields.
191
+
192
+
[NOTE]
193
+
====
194
+
For OpenShift 4.15 and later, the web console supports tokenized authentication during operator installation, allowing you to provide cloud credentials directly through the installation form.
195
+
====
196
+
197
+
.Console Installation Fields for Azure
198
+
199
+
During operator installation, the web console will display the following fields:
200
+
201
+
*Azure Client ID*::
202
+
**Field Label:** "Azure Client ID"
203
+
+
204
+
**Help Text:** "The Azure Client ID required for the operator to access the cloud API."
205
+
+
206
+
**Value to Enter:** Use the `IDENTITY_CLIENT_ID` value from the prerequisite setup steps above.
207
+
208
+
*Azure Tenant ID*::
209
+
**Field Label:** "Azure Tenant ID"
210
+
+
211
+
**Help Text:** "The Azure Tenant ID required for the operator to access the cloud API."
212
+
+
213
+
**Value to Enter:** Use the `AZURE_TENANT_ID` value from the prerequisite setup steps above.
214
+
215
+
*Azure Subscription ID*::
216
+
**Field Label:** "Azure Subscription ID"
217
+
+
218
+
**Help Text:** "The Azure Subscription ID required for the operator to access the cloud API."
219
+
+
220
+
**Value to Enter:** Use the `AZURE_SUBSCRIPTION_ID` value from the prerequisite setup steps above.
221
+
222
+
These fields correspond to the managed identity and Azure subscription information you configured in the prerequisite steps for Microsoft Entra Workload ID authentication.
223
+
187
224
[id="oadp-azure-cloud-storage-api_{context}"]
188
225
== Alternative: Using Cloud Storage API for Automated Container Management
189
226
190
-
Instead of manually creating storage containers, you can use the OADP Cloud Storage API to automatically manage container creation and configuration. This approach requires OADP operator version with Cloud Storage API support.
227
+
Instead of manually creating storage containers, you can use the OADP CloudStorage API to automatically manage container creation and configuration.
191
228
192
-
.Prerequisites for Cloud Storage API
229
+
[NOTE]
230
+
====
231
+
For comprehensive documentation on the CloudStorage API, including detailed configuration options, troubleshooting, and advanced usage, see link:../oadp-cloudstorage-api.html[OADP CloudStorage API].
232
+
====
193
233
194
-
* OADP operator with Cloud Storage API functionality enabled
195
-
* The same Microsoft Entra Workload ID configuration as above
234
+
.Azure-Specific CloudStorage Configuration
196
235
197
-
.Procedure for Cloud Storage API
236
+
For Azure, create a CloudStorage resource with the following configuration:
198
237
199
-
. Create a CloudStorage resource instead of manually creating containers:
200
-
+
201
238
[source,yaml]
202
239
----
203
240
cat <<EOF | oc apply -f -
@@ -218,8 +255,8 @@ spec:
218
255
EOF
219
256
----
220
257
221
-
. Create the DataProtectionApplication with Cloud Storage API reference:
222
-
+
258
+
Then configure your DataProtectionApplication to use the CloudStorage resource:
259
+
223
260
[source,yaml]
224
261
----
225
262
cat <<EOF | oc apply -f -
@@ -237,15 +274,19 @@ spec:
237
274
- csi
238
275
backupLocations:
239
276
- name: default
240
-
bucket:
241
-
# Reference the CloudStorage resource instead of direct container
242
-
cloudStorageRef:
243
-
name: azure-backup-storage
244
-
prefix: velero
277
+
velero:
278
+
provider: azure
279
+
default: true
245
280
credential:
246
281
name: cloud-credentials-azure
247
282
key: azurekey
248
-
default: true
283
+
objectStorage:
284
+
cloudStorageRef:
285
+
name: azure-backup-storage
286
+
prefix: velero
287
+
config:
288
+
resourceGroup: ${CLUSTER_RESOURCE_GROUP}
289
+
subscriptionId: ${AZURE_SUBSCRIPTION_ID}
249
290
snapshotLocations:
250
291
- name: default
251
292
velero:
@@ -259,16 +300,10 @@ spec:
259
300
EOF
260
301
----
261
302
262
-
. Verify the CloudStorage resource status:
263
-
+
264
-
[source,bash]
265
-
----
266
-
oc get cloudstorage azure-backup-storage -n openshift-adp -o yaml
CloudStorage resources are protected by a finalizer (`oadp.openshift.io/bucket-protection`) to prevent accidental deletion of containers containing backup data. To delete a CloudStorage resource, you must first add the deletion annotation:
295
-
296
-
[source,bash]
297
-
----
298
-
# Add deletion annotation before attempting to delete
Without this annotation, the deletion will hang indefinitely as the finalizer prevents removal.
307
-
308
-
Alternatively, if you want to remove the CloudStorage resource from OpenShift without deleting the Azure storage container, you can manually remove the finalizer:
309
-
310
-
[source,bash]
311
-
----
312
-
# Remove finalizer to delete CloudStorage CR without deleting the Azure container
0 commit comments