alloydbctl and Ansible to
apply these manifest configurations and automate backups to Cloud Storage,
standard Amazon S3 buckets, or S3-compliant software such as MinIO.
To enable AlloyDB Omni continuous backup and recovery, you must create a backup plan for each database cluster. Backups are taken based on the backup schedules defined in the BackupPlan resource. You can restore using a Backup resource or any timestamp in the recovery window at seconds granularity.
AlloyDB Omni manages automated backups and recovery through manifests:
BackupPlan: each database cluster can have one or moreBackupPlanmanifests with different configurations and schedules across backup tiers.Backup: initiates full, differential, or incremental backups based on yourBackupPlanmanifests.Restore: initiates an in-place restore of your database cluster using a specific backup or a point in time.
Before you begin
Before you set up and configure your backup plan, make sure that you have the following:
A storage location for your backups: AlloyDB Omni stores backups in one of the following storage options:
- Cloud Storage: A Cloud Storage bucket. For information on how to create buckets, see Create a bucket.
- Amazon S3: An Amazon S3 bucket. For information on how to create S3 buckets, see Creating a bucket.
- S3-compliant storage: A bucket in S3-compliant software, such as MinIO. For information on how to create MinIO buckets, see the MinIO documentation.
Authentication credentials: If your storage option requires authentication keys such as Amazon S3, MinIO, or Cloud Storage with a specific service account, you must create a
Secretresource containing these credentials before you create the backup plan. For instructions, see Create a Secret resource to authenticate storage.
Create a Secret resource to authenticate storage
If the storage you use requires authentication, you must create a Secret
resource before you create the backup plan.
Create a Secret resource for Cloud Storage
- Create a service account for adding backups to the bucket.
- Grant the
roles/storage.objectAdminIdentity and Access Management role to the service account on the bucket. - Generate a service account key in JSON format.
- Encode the content of the downloaded JSON key file in base64. Run
base64 -w 0or ensure that the encoded text is a single continuous line. Create a
Secretresource manifest. The key name in thedatasection must bekey.json.Secret: metadata: name: SECRET_NAME spec: type: Opaque data: key.json: "BASE64_ENCODED_JSON_KEY"Replace the following:
SECRET_NAME: the name for yourSecretresource.BASE64_ENCODED_JSON_KEY: the base64-encoded content of your service account JSON key file.
Create a Secret resource for S3 or S3-compliant storage
- Encode your S3 access key ID in base64.
- Encode your S3 secret access key in base64.
Create a
Secretresource manifest. The key names in thedatasection must beaccess-key-idandaccess-key.Secret: metadata: name: SECRET_NAME spec: type: Opaque data: access-key-id: "BASE64_ENCODED_ACCESS_KEY_ID" access-key: "BASE64_ENCODED_SECRET_ACCESS_KEY"Replace the following:
SECRET_NAME: the name for yourSecretresource.BASE64_ENCODED_ACCESS_KEY_ID: the base64-encoded S3 access key ID.BASE64_ENCODED_SECRET_ACCESS_KEY: the base64-encoded S3 secret access key.
Apply the Secret resource
Apply the Secret resource manifest before you apply the BackupPlan manifest.
You can apply the Secret resource manifest using either of the following methods:
alloydbctl
To apply the Secret resource manifest using alloydbctl, run the following command:
alloydbctl apply -d "DEPLOYMENT_SPEC_PATH" -r "SECRET_MANIFEST"Replace the following variables:
DEPLOYMENT_SPEC_PATH: path to the deployment specification you created in Install AlloyDB Omni components.SECRET_MANIFEST: path to theSecretresource manifest you created.
Ansible
To apply the Secret resource manifest using Ansible, complete the following:
Create a playbook for your
Secretresource manifest:- name: Create Secret hosts: localhost become: true vars: ansible_user: ANSIBLE_USER ansible_ssh_private_key_file: ANSIBLE_SSH_PRIVATE_KEY_FILE roles: - role: google.alloydbomni_orchestrator.backupReplace the following variables:
ANSIBLE_USER: OS user that Ansible uses to log into your AlloyDB Omni nodes.ANSIBLE_SSH_PRIVATE_KEY_FILE: private key Ansible uses to connect to your AlloyDB Omni nodes using SSH.
Apply the
Secretresource manifest:ansible-playbook SECRET_PLAYBOOK -i "DEPLOYMENT_SPEC_PATH" \ -e resource_spec="SECRET_MANIFEST"Replace the following variables:
SECRET_PLAYBOOK: path to the playbook that you created for yourSecretresource manifest.DEPLOYMENT_SPEC_PATH: path to the deployment specification you created in Install AlloyDB Omni components.SECRET_MANIFEST: path to theSecretresource manifest you created.
Create a backup plan
Create a
BackupPlanmanifest using the format for your storage option:Cloud Storage
The
gcsOptionsfield is required.BackupPlan: metadata: name: BACKUP_PLAN_NAME spec: dbclusterRef: DBCLUSTER_NAME backupLocation: type: GCS gcsOptions: bucket: BUCKET_NAME key: BUCKET_PATH secretRef: name: SECRET_NAME backupRetainDays: RETAIN_DAYS backupSchedules: full: "FULL_SCHEDULE" differential: "DIFF_SCHEDULE" incremental: "INC_SCHEDULE"Replace the following variables:
BACKUP_PLAN_NAME: name of theBackupPlanmanifest. For example,my-backup-plan-1.DBCLUSTER_NAME: name of your database cluster that you defined in Create a cluster.BUCKET_NAME: name of the Cloud Storage bucket that you created.BUCKET_PATH: path to the directory in Cloud Storage that backups should write to. You must provide an absolute path that begins with/. For example,/backups.SECRET_NAME(Optional): name of theSecretresource that stores the authentication keys.RETAIN_DAYS(Optional): number of days to retain backups before the backups are automatically deleted.FULL_SCHEDULE(Optional): cron schedule expression for full backups. For example,0 2 * * *.DIFF_SCHEDULE(Optional): cron schedule expression for differential backups. For example,0 2 * * *.INC_SCHEDULE(Optional): cron schedule expression for incremental backups. For example,0 2 * * *.
Amazon S3 or S3-compliant
The
s3Optionsfield is required.BackupPlan: metadata: name: BACKUP_PLAN_NAME spec: dbclusterRef: DBCLUSTER_NAME backupLocation: type: S3 s3Options: bucket: BUCKET_NAME key: BUCKET_PATH endpoint: ENDPOINT_URL region: REGION secretRef: name: SECRET_NAME backupRetainDays: RETAIN_DAYS backupSchedules: full: "FULL_SCHEDULE" differential: "DIFF_SCHEDULE" incremental: "INC_SCHEDULE"Replace the following variables:
BACKUP_PLAN_NAME: name of theBackupPlanmanifest. For example,my-backup-plan-1.DBCLUSTER_NAME: name of your database cluster that you defined in Create a cluster.BUCKET_NAME: name of the S3 bucket that you created.BUCKET_PATH: path to the directory in the S3 bucket that backups should write to. You must provide an absolute path that begins with/. For example,/backups.ENDPOINT_URL: custom endpoint URL for connecting to S3-compliant software such as MinIO. For example,http://minio.example.com:9000. For Amazon S3 buckets, you don't need to provide any endpoint URL.REGION_(Optional): region of the storage bucket. Required when connecting to standard Amazon S3 buckets or S3-compliant software where region validation is enforced.SECRET_NAME: reference to aSecretresource you created earlier, and which contains yourACCESS_KEY_IDandSECRET_ACCESS_KEY.RETAIN_DAYS(Optional): number of days to retain backups before the backups are automatically deleted.FULL_SCHEDULE(Optional): cron schedule expression for full backups. For example,0 2 * * *.DIFF_SCHEDULE(Optional): cron schedule expression for differential backups. For example,0 2 * * *.INC_SCHEDULE(Optional): cron schedule expression for incremental backups. For example,0 2 * * *.
Apply the backup plan using either of the following methods:
alloydbctlApply your
BackupPlanresource:alloydbctl apply -d "DEPLOYMENT_SPEC_PATH" -r "BACKUP_PLAN_MANIFEST"Replace the following variables:
DEPLOYMENT_SPEC_PATH: path to the deployment specification you created in Install AlloyDB Omni components.BACKUP_PLAN_MANIFEST: path to theBackupPlanmanifest you created earlier.
Confirm that the status field,
status.phase, for yourBackupPlanmanifest isReady. If the manifest is not ready, wait until it is:alloydbctl get -d "DEPLOYMENT_SPEC_PATH" -t BackupPlan -n BACKUP_PLAN_NAME -o yaml
Ansible
Create a playbook for your
BackupPlanmanifest:- name: BACKUP_PLAN_PLAYBOOK_NAME hosts: localhost vars: ansible_user: ANSIBLE_USER ansible_ssh_private_key_file: ANSIBLE_SSH_PRIVATE_KEY_FILE roles: - role: google.alloydbomni_orchestrator.backupReplace the following variables:
BACKUP_PLAN_PLAYBOOK_NAME: name of your Ansible playbook. For example,My BackupPlan. Note the path to the playbook as it is required in the next step.ANSIBLE_USER: name of the OS user that Ansible uses to log into your AlloyDB Omni nodes.ANSIBLE_SSH_PRIVATE_KEY_FILE: private key Ansible uses to connect to your AlloyDB Omni nodes using SSH.
Apply your
BackupPlanresource:ansible-playbook BACKUP_PLAN_PLAYBOOK -i "DEPLOYMENT_SPEC_PATH" \ -e resource_spec="BACKUP_PLAN_MANIFEST"Replace the following variables:
BACKUP_PLAN_PLAYBOOK: path to the playbook that you created for yourBackupPlanmanifest earlier.DEPLOYMENT_SPEC_PATH: path to the deployment specification you created in Install AlloyDB Omni components.BACKUP_PLAN_MANIFEST: path to theBackupPlanmanifest you created earlier.
Create a
status.yamlplaybook if you have not already. For information on how to create the playbook, see View status and list backup resources.Confirm that the status field,
status.phase, for yourBackupPlanmanifest isReady. If the manifest is not ready, wait until it is:ansible-playbook status.yaml -i "DEPLOYMENT_SPEC_PATH" -e resource_type=BackupPlan \ -e resource_name=BACKUP_PLAN_NAME
Update a backup plan
To update a backup plan to change the backup schedule, modify the retention period, or pause scheduled backups, modify the BackupPlan manifest and then re-apply it.
Open the
BackupPlanmanifest that you created in Create a backup plan.Modify the fields you want to update.
- To update the backup schedules, modify the cron expressions under
backupSchedules. - To update the retention period, modify
backupRetainDays. - To pause scheduled backups, add the
pausedfield to thespecsection and set it totrue. To resume backups, set the field tofalseor remove the field.
For example, the following example updates the retention days to
30, modifies thefullanddifferentialschedules, adds anincrementalschedule, and pauses the backup plan:BackupPlan: metadata: name: BACKUP_PLAN_NAME spec: dbclusterRef: DBCLUSTER_NAME backupLocation: type: GCS gcsOptions: bucket: BUCKET_NAME key: BUCKET_PATH secretRef: name: SECRET_NAME backupRetainDays: 30 backupSchedules: full: "0 4 * * *" differential: "0 0 * * 0" incremental: "0 12 * * *" paused: true- To update the backup schedules, modify the cron expressions under
Apply the updated backup plan using either of the following methods:
alloydbctlApply your
BackupPlanresource:alloydbctl apply -d "DEPLOYMENT_SPEC_PATH" -r "BACKUP_PLAN_MANIFEST"Replace the following variables:
DEPLOYMENT_SPEC_PATH: path to the deployment specification you created in Install AlloyDB Omni components.BACKUP_PLAN_MANIFEST: path to theBackupPlanmanifest you modified.
Confirm that the status field,
status.phase, for yourBackupPlanmanifest isReady. If the manifest is not ready, wait until it is:alloydbctl get -d "DEPLOYMENT_SPEC_PATH" -t BackupPlan -n BACKUP_PLAN_NAME -o yaml
Ansible
Apply your updated
BackupPlanresource using the playbook you created in Create a backup plan:ansible-playbook BACKUP_PLAN_PLAYBOOK -i "DEPLOYMENT_SPEC_PATH" \ -e resource_spec="BACKUP_PLAN_MANIFEST"Replace the following variables:
BACKUP_PLAN_PLAYBOOK: path to the playbook that you created for yourBackupPlanmanifest.DEPLOYMENT_SPEC_PATH: path to the deployment specification you created in Install AlloyDB Omni components.BACKUP_PLAN_MANIFEST: path to theBackupPlanmanifest you modified.
Create a
status.yamlplaybook if you have not already. For information on how to create the playbook, see View status and list backup resources.Confirm that the status field,
status.phase, for yourBackupPlanmanifest isReady. If the manifest is not ready, wait until it is before verification:ansible-playbook status.yaml -i "DEPLOYMENT_SPEC_PATH" -e resource_type=BackupPlan \ -e resource_name=BACKUP_PLAN_NAME
Delete a backup plan
To delete a backup plan, use either of the following methods:
alloydbctl
alloydbctl delete -d "DEPLOYMENT_SPEC_PATH" -t BackupPlan -n BACKUP_PLAN_NAMEReplace the following variables:
DEPLOYMENT_SPEC_PATH: path to the deployment specification you created in Install AlloyDB Omni components.BACKUP_PLAN_NAME: name of theBackupPlanmanifest to delete.
Ansible
Create a playbook for deleting the
BackupPlanmanifest.- name: BACKUP_PLAN_DELETE_PLAYBOOK_NAME hosts: localhost vars: ansible_user: ANSIBLE_USER ansible_ssh_private_key_file: ANSIBLE_SSH_PRIVATE_KEY_FILE roles: - role: google.alloydbomni_orchestrator.deleteReplace the following variables:
BACKUP_PLAN_DELETE_PLAYBOOK_NAME: name of your Ansible playbook.ANSIBLE_USER: OS user that Ansible uses to log into your AlloyDB Omni nodes.ANSIBLE_SSH_PRIVATE_KEY_FILE: private key Ansible uses to connect to your AlloyDB Omni nodes using SSH.
Run
ansible-playbookto delete theBackupPlanmanifest.ansible-playbook BACKUP_PLAN_DELETE_PLAYBOOK_NAME -i "DEPLOYMENT_SPEC_PATH" -e resource_type=BackupPlan \ -e resource_name=BACKUP_PLAN_NAMEReplace the following variables:
BACKUP_PLAN_DELETE_PLAYBOOK_NAME: path to the playbook that you created for deleting theBackupPlanmanifest in the previous step.DEPLOYMENT_SPEC_PATH: path to the deployment specification you created in Install AlloyDB Omni components.BACKUP_PLAN_NAME: name of theBackupPlanmanifest to delete.
Create a backup
To create and initiate a backup, use either of the following methods:
alloydbctl
Create a
Backupmanifest using the following format:Backup: metadata: name: BACKUP_NAME spec: backupPlanRef: BACKUP_PLAN_NAME dbclusterRef: DBCLUSTER_NAME type: fullReplace the following variables:
BACKUP_NAME: name of theBackupmanifest. For example,my-backup-1.BACKUP_PLAN_NAME: name of theBackupPlanmanifest you created earlier. For example,my-backup-plan-1.DBCLUSTER_NAME: name of your database cluster that you defined in Create a cluster.type(Optional): backup execution type that can set to eitherfull,diff, orincr. Defaults tofull.
Apply your
Backupmanifest:alloydbctl apply -d "DEPLOYMENT_SPEC_PATH" -r "BACKUP_MANIFEST"Replace the following variables:
DEPLOYMENT_SPEC_PATH: path to the deployment specification you created in Install AlloyDB Omni components.BACKUP_MANIFEST: path to theBackupmanifest you created earlier.
Confirm that the status field,
status.phase, for yourBackupmanifest isSucceeded. If the manifest has not succeeded, wait until it is:alloydbctl get -d "DEPLOYMENT_SPEC_PATH" -t Backup -n BACKUP_NAME -o yamlConfirm that the backup files are available in your bucket by verifying if the
/backup/dbfolder exists.
Ansible
Create a
Backupmanifest using the following format:Backup: metadata: name: BACKUP_NAME spec: backupPlanRef: BACKUP_PLAN_NAME dbclusterRef: DBCLUSTER_NAME type: fullReplace the following variables:
BACKUP_NAME: name of theBackupmanifest. For example,my-backup-1.BACKUP_PLAN_NAME: name of theBackupPlanmanifest you created earlier. For example,my-backup-plan-1.DBCLUSTER_NAME: name of your database cluster that you defined in Create a cluster.type(Optional): backup execution type that can set to eitherfull,diff, orincr. Defaults tofull.
Create a playbook for your
Backupmanifest:- name: BACKUP_PLAYBOOK_NAME hosts: localhost vars: ansible_user: ANSIBLE_USER ansible_ssh_private_key_file: ANSIBLE_SSH_PRIVATE_KEY_FILE roles: - role: google.alloydbomni_orchestrator.backupReplace the following variables:
BACKUP_PLAYBOOK_NAME: name of your Ansible playbook. For example,My Backup.ANSIBLE_USER: name of the OS user that Ansible uses to log into your AlloyDB Omni nodes.ANSIBLE_SSH_PRIVATE_KEY_FILE: private key Ansible uses to connect to your AlloyDB Omni nodes using SSH.
Apply your
Backupmanifest:ansible-playbook BACKUP_PLAYBOOK -i "DEPLOYMENT_SPEC_PATH" \ -e resource_spec="BACKUP_MANIFEST"Replace the following variables:
BACKUP_PLAYBOOK: path to the playbook that you created for yourBackupmanifest that you created earlier.DEPLOYMENT_SPEC_PATH: path to the deployment specification you created in Install AlloyDB Omni components.BACKUP_MANIFEST: path to theBackupmanifest you created earlier.
Create a
status.yamlplaybook if you have not already. For information on how to create the playbook, see View status and list backup resources.Confirm that the status field,
status.phase, for yourBackupmanifest isSucceeded. If the manifest has not succeeded, wait until it has before verification:ansible-playbook status.yaml -i "DEPLOYMENT_SPEC_PATH" -e resource_type=Backup \ -e resource_name=BACKUP_NAMEConfirm that the backup files are available in your bucket by verifying if the
/backup/dbfolder exists.
Delete a backup
To delete a backup, run one of the following commands:
alloydbctl
alloydbctl delete -d "DEPLOYMENT_SPEC_PATH" -t Backup -n BACKUP_NAMEReplace the following variables:
DEPLOYMENT_SPEC_PATH: path to the deployment specification you created in Install AlloyDB Omni components.BACKUP_NAME: name of theBackupmanifest to delete.
Ansible
Create a playbook for deleting the
Backupmanifest.- name: BACKUP_DELETE_PLAYBOOK_NAME hosts: localhost vars: ansible_user: ANSIBLE_USER ansible_ssh_private_key_file: ANSIBLE_SSH_PRIVATE_KEY_FILE roles: - role: google.alloydbomni_orchestrator.deleteReplace the following variables:
BACKUP_DELETE_PLAYBOOK_NAME: name of your Ansible playbook.ANSIBLE_USER: OS user that Ansible uses to log into your AlloyDB Omni nodes.ANSIBLE_SSH_PRIVATE_KEY_FILE: private key Ansible uses to connect to your AlloyDB Omni nodes using SSH.
Run
ansible-playbookto delete theBackupmanifest.ansible-playbook BACKUP_DELETE_PLAYBOOK -i "DEPLOYMENT_SPEC_PATH" -e resource_type=Backup \ -e resource_name=BACKUP_NAMEReplace the following variables:
BACKUP_DELETE_PLAYBOOK: path to the playbook that you created for deleting theBackupmanifest in the previous step.DEPLOYMENT_SPEC_PATH: path to the deployment specification you created in Install AlloyDB Omni components.BACKUP_NAME: name of theBackupmanifest to delete.
Restore from a backup or point in time (PITR)
To restore data from a backup, apply a Restore manifest. The RPM orchestrator
performs recovery in-place, which modifies your target database cluster directly
without spinning up a cloned cluster or requiring manual script execution.
To restore from a backup, use either of the following methods:
alloydbctl
Create a
Restoremanifest using the following format:- To restore from a specific named backup run:
Restore: metadata: name: RESTORE_NAME spec: sourceDBCluster: DBCLUSTER_NAME backup: BACKUP_NAMETo perform a Point-in-Time Restore (PITR):
Restore: metadata: name: RESTORE_NAME spec: sourceDBCluster: DBCLUSTER_NAME pointInTime: "TIMESTAMP"
Replace the following variables:
RESTORE_NAME: name for thisRestoremanifest. For example,my-restore-1.DBCLUSTER_NAME: name of your target database cluster to recover in-place.BACKUP_NAME: name of the completedBackupmanifest to restore from.TIMESTAMP: RFC 3339 timestamp identifying the exact point in time to recover to. For example,2026-06-19T14:30:00Z.
Apply your
Restoremanifest:alloydbctl apply -d "DEPLOYMENT_SPEC_PATH" -r "RESTORE_MANIFEST"Replace the following variables:
DEPLOYMENT_SPEC_PATH: path to the deployment specification you created in Install AlloyDB Omni components.RESTORE_MANIFEST: path to theRestoremanifest specification file you created in step 1.
Confirm that
status.phasefor yourRestoremanifest transitions toSucceeded:alloydbctl get -d "DEPLOYMENT_SPEC_PATH" -t Restore -n RESTORE_NAME -o yaml
Ansible
Create a
Restoremanifest using the following format:- To restore from a specific named backup run:
Restore: metadata: name: RESTORE_NAME spec: sourceDBCluster: DBCLUSTER_NAME backup: BACKUP_NAMETo perform a Point-in-Time Restore (PITR):
Restore: metadata: name: RESTORE_NAME spec: sourceDBCluster: DBCLUSTER_NAME pointInTime: "TIMESTAMP"
Replace the following variables:
RESTORE_NAME: name for thisRestoremanifest. For example,my-restore-1.DBCLUSTER_NAME: name of your target database cluster to recover in-place.BACKUP_NAME: name of the completedBackupmanifest to restore from.TIMESTAMP: RFC 3339 timestamp identifying the exact point in time to recover to. For example,2026-06-19T14:30:00Z.
Create a playbook for your
Restoremanifest:- name: RESTORE_PLAYBOOK_NAME hosts: localhost vars: ansible_user: ANSIBLE_USER ansible_ssh_private_key_file: ANSIBLE_SSH_PRIVATE_KEY_FILE roles: - role: google.alloydbomni_orchestrator.restoreReplace the following variables:
RESTORE_PLAYBOOK_NAME: name of your Ansible playbook.ANSIBLE_USER: OS user that Ansible uses to log into your AlloyDB Omni nodes.ANSIBLE_SSH_PRIVATE_KEY_FILE: private key Ansible uses to connect to your AlloyDB Omni nodes using SSH.
Apply your
Restoremanifest:ansible-playbook RESTORE_PLAYBOOK -i "DEPLOYMENT_SPEC_PATH" \ -e resource_spec="RESTORE_MANIFEST"Replace the following variables:
RESTORE_PLAYBOOK: path to the playbook that you created for yourRestoremanifest in step 2.DEPLOYMENT_SPEC_PATH: path to the deployment specification.RESTORE_MANIFEST: path to theRestoremanifest specification file you created in step 1.
Create a
status.yamlplaybook if you have not already. For information on how to create the playbook, see View status and list backup resources.Confirm that
status.phasefor yourRestoremanifest transitions toSucceeded:ansible-playbook status.yaml -i "DEPLOYMENT_SPEC_PATH" -e resource_type=Restore \ -e resource_name=RESTORE_NAME
View status and list backup resources
To view the status of or list your BackupPlan, Backup, and Restore resources, use either of the following methods:
alloydbctl
To list all resources of a specific type, run the alloydbctl get command:
alloydbctl get -d "DEPLOYMENT_SPEC_PATH" -t RESOURCE_TYPETo view the status of a specific resource, run the alloydbctl get command with the resource name and output format set to yaml:
alloydbctl get -d "DEPLOYMENT_SPEC_PATH" -t RESOURCE_TYPE -n RESOURCE_NAME -o yamlReplace the following variables:
DEPLOYMENT_SPEC_PATH: path to the deployment specification.RESOURCE_TYPE: the resource type. Set this toBackupPlan,Backup, orRestore.RESOURCE_NAME: the name of the resource you want to view the status of.
Ansible
To view the status of or list resources using Ansible, use the google.alloydbomni_orchestrator.status role.
Create a playbook, for example
status.yaml, using the following format:- name: Get resource status hosts: localhost vars: ansible_user: ANSIBLE_USER ansible_ssh_private_key_file: ANSIBLE_SSH_PRIVATE_KEY_FILE roles: - role: google.alloydbomni_orchestrator.statusReplace the following variables:
ANSIBLE_USER: OS user that Ansible uses to log into your nodes.ANSIBLE_SSH_PRIVATE_KEY_FILE: private key Ansible uses to connect to your nodes using SSH.
Run the playbook.
To list all resources of a specific type, run the playbook with the
resource_typevariable:ansible-playbook status.yaml -i "DEPLOYMENT_SPEC_PATH" -e resource_type=RESOURCE_TYPETo view the status of a specific resource, run the playbook with both the
resource_typeandresource_namevariables:ansible-playbook status.yaml -i "DEPLOYMENT_SPEC_PATH" -e resource_type=RESOURCE_TYPE \ -e resource_name=RESOURCE_NAMEReplace the following variables:
DEPLOYMENT_SPEC_PATH: path to the deployment specification.RESOURCE_TYPE: the resource type. Set this toBackupPlan,Backup, orRestore.RESOURCE_NAME: the name of the resource you want to view the status of.
Limitations
- If a
BackupPlanstatus showsConfigurationFailedwithfailed to create stanza(exit code39), you can resume reconciliation by granting theroles/storage.objectAdminrole on the bucket and re-applying the manifest. There is no need to delete theBackupPlan.