Restoring the PPC onto an existing AKS cluster

Complete the steps provided in this section to restore a PPC deployment using an existing backup onto an existing Azure Kubernetes Service (AKS) cluster.

Before you begin

Use this procedure to restore PPC from an existing backup onto an existing AKS cluster. The cluster and its supporting resources must already be provisioned; this procedure does not create an AKS cluster. Confirm that the backup is available in the original Azure Storage Account and that the target cluster can access it. Also confirm that storage_class_name matches the storage class used on the source cluster. Review the in-cluster deployment prerequisites before proceeding.

Finding the backup names in Azure Storage

Before editing the restore settings, find the backup names in the Azure portal:

  1. Sign in to the Azure portal with an account that can access the backup Storage Account.
  2. Open the Azure Storage Account that contains the backups.
  3. Go to Data storage > Containers > velero, then open the Velero/backups folder.

    Note: velero is the default storage container name. If a different container name was configured when the source cluster was created, use that name in the Azure portal. Set storage_container_name to the same value in the restore configuration.

  4. Choose the Velero backup for the restore point you want and record its full name, including the timestamp. The name follows this pattern: authnz-postgresql-schedule-backup-<timestamp>.
  5. Record the corresponding Insight backup name if you are restoring Insight data. It follows this pattern: insight-configmaps-secrets-<timestamp>. The timestamp varies by backup; copy the exact name shown in the portal.

Use the recorded names for backup_name and insight_backup_name in the terraform.tfvars restore configuration. Replace the placeholders with the exact names from the portal, including their timestamps.

Restoring PPC using in-cluster deployment

Complete the following steps in order. Follow the in-cluster deployment links for Steps 1 through 7, and 9 and 10. For Step 8, use the restore-specific instructions on this page below the table instead of navigating to the in-cluster deployment instructions.

StepActionPurpose
1Preparing a jump boxCreates or identifies a jump box with network access to the AKS API server.
2Downloading and extracting the release archiveGet the PPC release archive onto the jump box.
3Installing required toolsInstalls the CLI tools needed to configure and restore PPC.
4Logging in to Azure CLIAuthenticates with Azure and selects the target subscription.
5Configuring AKS accessRetrieves AKS credentials for kubectl and Helm.
6Verifying cluster connectivityConfirms that the jump box can reach the cluster and that nodes are ready.
7Gathering values for terraform.tfvarsCollects cluster-specific values, including storage classes, network settings, registry credentials, and federated credentials.
8Updating terraform.tfvars for restoreSet the deployment values and restore parameters.
9Running the readiness checkResolve reported errors before applying the configuration.
10Applying the OpenTofu configurationApply the Helm releases configuration to restore PPC.

Updating terraform.tfvars for restore

To update the terraform.tfvars file, perform the following steps:

  1. Navigate to the Helm releases module directory.
cd iac/azure/cluster/modules/05_helm_releases
  1. Set the following variables in the terraform.tfvars file.
VariableDescription
aks_cluster_nameAKS cluster.
azure_subscription_idAzure subscription ID.
backup_storage_class_nameStorage class used for backup volumes.
node_pool_nameAKS user node pool name.
opensearch_uami_client_idClient or Object ID of the OpenSearch user-assigned managed identity.
pod_cidrPod network CIDR range.
resource_group_nameAzure resource group containing the cluster.
storage_account_nameAzure storage account used by Velero for backups.
storage_class_nameExisting storage class on the cluster.
storage_container_nameAzure Blob Storage container used by Velero for backups. Defaults to velero.
velero_uami_client_idClient or Object ID of the Velero user-assigned managed identity.
subnet_idThe full subnet resource ID.
ingress_fqdnThe application hostname (a real, resolvable FQDN).
global_image_regContainer registry host: <Container_Registry_Path>.
Note: If deploying from the Protegrity Container Registry, use registry.protegrity.com:9443. Specify the local registry endpoint if a local registry is used.
harbor_secretOnly if the registry needs to be authenticated

Note: Registry credentials are passed as environment variables (TF_VAR_username and TF_VAR_password) and are not set directly in terraform.tfvars.

  1. Add the following variables to terraform.tfvars before allowing Stage 05 to apply.
run_readiness_check = true
check_prev_stage    = false

These variables ensure that PPC performs a readiness check on the existing AKS environment. They skip the previous automated stage validation, since those resources were created outside the installer.

  1. Set the restore values in the same file.
restore             = true
backup_name         = "authnz-postgresql-schedule-backup-<timestamp>"
insight_backup_name = "insight-configmaps-secrets-<timestamp>"
VariableValue
restoreSet to true to restore from an existing backup.
backup_nameReplace the placeholder with the full Velero backup name from Azure Storage. The name follows authnz-postgresql-schedule-backup-<timestamp>. Refer to Finding the backup names in Azure Storage.
insight_backup_nameReplace the placeholder with the exact Insight backup name from Azure Storage, following insight-configmaps-secrets-<timestamp>. Leave empty only to automatically select the latest Insight backup. Refer to Finding the backup names in Azure Storage.
  1. Save the file and exit the editor.

  2. Continue with Step 9: Running the readiness check and Step 10: Applying the OpenTofu configuration. Review the plan and confirm that it targets the intended cluster and backup before applying it.

Last modified : November 03, 2026