Bootstrap FreeKB - OpenShift - Create OpenShift API for Data Protection (OADP) backup Storage Location
OpenShift - Create OpenShift API for Data Protection (OADP) backup Storage Location

Updated:   |  OpenShift articles

This assumes you have already installed the OpenShift API for Data Protection (OADP) Operator

Let's say you want to store OADP backups in an Amazon Web Services S3 Bucket. This assumes you have already created and configured an S3 Bucket. If not, check out my article OpenShift - Store OpenShift API for Data Protection (OADP) objects in an Amazon Web Services (AWS) S3 Bucket.

Let's say the name of your S3 Bucket is my-bucket-asdfadkjsfasfljdf. Let's create a YAML file that contains the following, replacing my-bucket-asdfadkjsfasfljdf with the name of your S3 Bucket.

apiVersion: velero.io/v1
kind: BackupStorageLocation
metadata:
  name: my-backup-storage-location
  namespace: openshift-adp
spec:
  config:
    region: us-east-1
    profile: velero
  credential:
    key: cloud
    name: cloud-credentials
  objectStorage:
    bucket: my-bucket-asdfadkjsfasfljdf
  provider: aws
  default: true

 

If you have a private URL for accessing S3 Buckets, the s3Url option can be used. Often, when using an s3Url you may also need to provide an SSL certificate that will be used to establish the SSL handshake between OADP and the S3 URL. In this scenario, it's a good idea to include insecureSkipTLSVerify: "false" to ensure TLS verification is not skipped and to then also provide the base64 encoded SSL certificate that can be used to establish the SSL handshake between OADP and the S3 URL.

apiVersion: velero.io/v1
kind: BackupStorageLocation
metadata:
  name: my-backup-storage-location
  namespace: openshift-adp
spec:
  config:
    region: us-east-1
    profile: velero
    s3ForcePathStyle: "true"
    s3Url: https://s3.example.com
    insecureSkipTLSVerify: "false"
  credential:
    key: cloud
    name: cloud-credentials
  objectStorage:
    bucket: my-private-bucket-abc123
    caCert: <base64 encoded SSL certificate>
  provider: aws
  default: true

 

For example, if your S3 URL is https://s3.example.com you could then use then openssl s_client command to get the SSL certificate being presented by https://s3.example.com. Check out my article FreeKB - OpenSSL - View SSL certificate using s_client and showcerts for more details on the openssl s_client command. For example, this one-liner would return the base64 encoded string of the SSL certificate that you would then used in the caCert key in your backup storage location YAML.

echo | openssl s_client -connect s3.example.com:443 -showcerts 2>/dev/null | sed -ne '/-----BEGIN CERTIFICATE-----/,/-----END CERTIFICATE-----/p' | base64 -w0

 

Let's use the oc apply command to create my-data-protection-application.

oc apply --filename my-data-protection-application.yaml

 

Or in the OpenShift console, at Operators > Installed Operators > OADP select BackupStorageLocation > Create instance.

 

Let's give the Backup Storage Location a meaningful name.

 

In this example, since the backup are being storage an Amazon Web Services (AWS) S3 Bucket let's enter aws as the provider and also provide the name of the S3 bucket.

 

And let's provide the credentials key and value, which is the secret named cloud-credentials.

 

Let's check to see if the backupStorageLocation is Available.

~]$ oc get backupStorageLocations --namespace openshift-adp
NAME                          PHASE       LAST VALIDATED   AGE   DEFAULT
my-backup-storage-location    Available   60s              64s   true

 

This could also be done using the oc exec command to use the velero CLI in the velero container.

~]$ oc exec deployment/velero --container velero --namespace openshift-adp -- /velero backup-location get
NAME      PROVIDER   BUCKET/PREFIX                               PHASE       LAST VALIDATED                  ACCESS MODE   DEFAULT
default   aws        my-backup-storage-location/my-prefix        Available   2025-06-10 05:36:19 +0000 UTC   ReadWrite     true

 

Or in the OpenShift console, at Operators > Installed Operators > OADP select BackupStorageLocations and check to see if the phase is Available.

 




Did you find this article helpful?

If so, consider buying me a coffee over at Buy Me A Coffee



Comments


Add a Comment


Please enter 174667 in the box below so that we can be sure you are a human.