Skip to main content

Object Store Configuration

Prophecy provides reliable support for storing essential data such as backups and audit logs. However, to enable this functionality, a storage location is required. Prophecy seamlessly integrates with the industry's leading cloud (provider) object stores, including AWS S3, Azure Blob Storage, and GCP Cloud Storage, as well as local persistent volumes (which could be backed by a NFS). This section outlines how to configure these storage options effectively.

To configure object store settings in the Prophecy UI, follow these steps:

  1. Log in to the Prophecy UI as an admin user.
  2. Click on the three dots at the bottom left corner and select the settings icon from the submenu.
  3. Navigate to the Admin main tab.
  4. Within the Admin main tab, access the Config sub tab.
  5. Finally, click on the objectStoreConfig sub tab to configure the object store settings.

Configuration options

Below are JSON configurations within the Prophecy UI that need to be enabled to support this functionality. You will have to configure only the options which you require. Please make sure to maintain a JSON format mentioned below while configuring the different options.

danger

Please note that all sensitive keys are displayed in ******** format. However, you may supply the new values in normal text and save the JSON to update the keys.

{
"aws": {
"accessKey": "********",
"s3": {
"bucketName": "athena-ondemand-backup",
"endpoint": "https://s3.us-west-2.amazonaws.com",
"forcePathStyle": true,
"region": "us-west-2"
},
"secretKey": "********"
},
"azure": {
"accessKey": "********",
"blobStorage": {
"accountName": "prophecyathenabackup",
"containerName": "athena-ondemand-backup",
"serviceURL": "https://prophecyathenabackup.blob.core.windows.net/"
},
"useManagedIdentityToAuthenticate": false
},
"cloudProvider": "gcp",
"gcp": {
"cloudStorage": {
"bucketName": "athena-ondemand-backup"
},
"serviceAccount": "********"
},
"localLocation": "/backup",
"locationType": "gcp-cloud-stoage"
}

Generic Configuration Variables

These are the generic configurations which are required to be set irrespective of the provider.

Configuration variable nameDescriptionDefault value
locationTypeWhich provider to use for the object store. Supports local, s3, azure-blob-storage, gcp-cloud-storagelocal
localLocationAny PVC Mount point with where local backup is done. Is required even for provider based object stores for a temporary location./backup

Provider specific configuration

This section outlines there various configurations at each provider level.

AWS S3

For this provider, set locationType to s3 and configure using the following variables:

Environment variable nameDescriptionDefault value
aws.s3.bucketNameS3 Bucket nameathena-ondemand-backup
aws.s3.endpointS3 Endpoint used to communicate withhttps://s3.us-west-2.amazonaws.com
aws.s3.forcePathStyleIf S3 should use path style for bucket nametrue
aws.s3.regionS3 Regionus-west-2
aws.accessKeyAWS Access key with the required privileges
aws.secretKeyAWS Secret key with the required privileges
localLocationAny PVC Mount point with storage/backup
locationTypeSet to AWS S3s3

Azure Blob Storage

For this provider, set locationType to azure-blob-storage and configure using the following variables:

Environment variable nameDescriptionDefault value
azure.blobStorage.accountNameStorage Account nameprophecyathenabackup
azure.blobStorage.serviceURLStorage Account Service URLhttps://prophecyathenabackup.blob.core.windows.net/
azure.blobStorage.containerNameContainer name within the Storage Accountathena-ondemand-backup
azure.useManagedIdentityToAuthenticateWheather to use system managed identity (role) to authenticatefalse
azure.accessKeyStorage Access key
localLocationAny PVC Mount point with storage/backup
locationTypeSet to Azure Blob Storageazure-blob-storage

GCP Cloud Storage

For this provider, set locationType to gcp-cloud-storage and configure using the following variables:

Environment variable nameDescriptionDefault value
gcp.serviceAccountIs the GCP Service Account in Base64 Encoded format with the required privileges
gcp.cloudStorage.bucketNameContainer name within the Storage Accountathena-ondemand-backup
localLocationAny PVC Mount point with storage/backup
locationTypeSet to GCP Cloud Storagegcp-cloud-storage

Local PV (NFS)

As this utilizes the local persistent volumes (PVs) offered by Kubernetes, no extra configuration is needed. All backups are stored directly on the disk, which can be supported by protocols such as NFS.

Environment variable nameDescriptionDefault value
localLocationAny PVC Mount point with storage/backup
locationTypeSet to locallocal