Stay organized with collections
Save and categorize content based on your preferences.
This page provides instructions for how to create backup plans for Harbor
instances in Google Distributed Cloud (GDC) air-gapped.
The backup plan references the Harbor instance that is backed up. Backup plans
define key components for backups such as the backup schedule and the retention
policy. GDC creates backups automatically depending on the configuration you
provide in the backup plan. You can also create a manual backup on demand, which
inherits some values from the backup plan.
Before you begin
To create a backup plan, you must have access to the following:
The necessary identity and access roles:
Harbor Instance Admin: has full access to manage Harbor instances in a project. Ask your Organization IAM Admin to grant you the Harbor Instance Admin (harbor-instance-admin) role.
Secret Admin: required for operating in the GDC console. Ask your Organization IAM Admin to grant you the Secret Admin (secret-admin) role.
Create a repository in the GDC console or the API.
Console
Sign in to the GDC console.
In the navigation menu, click Backup for harbor instance.
Click Backup plans.
Click Create backup plan.
In the Zone menu, select the zone.
In the Harbor instance source menu, select the harbor instance this
backup plan creates backups for.
In the Backup plan name field, enter a name for the backup plan.
Optional: In the Backup plan description field, enter a description
to distinguish this backup plan from others
In the Backup repository menu, select a backup repository from the
available options. If there are no options available, you must Create a
backup repository.
Click Next.
In the Cron string field, define a schedule for this backup plan.
Enter an expression using standard cron syntax. For example, the
expression 10 3 * * * creates a backup at 0310 every day. All times are
interpreted as UTC. The minimum interval between scheduled backups is 10
minutes.
Optional: In the Retention policy section, decide whether to
automatically delete backups after a certain number of days:
Select the Enable automatic backup deletion checkbox.
In the Delete backupsafter field, set the number of
days for which to retain the backup. Once the number of days is
reached, the backup is automatically deleted.
Click Next.
Review the backup plan details. To finalize the creation of this backup
plan, click Create Plan.
INSTANCE_NAMESPACE: the namespace containing
the Harbor instance. The backup plan must be in the same namespace as
the Harbor instance.
CRON_STRING: the cron value that defines the
backup schedule. For example the value 0 3 * * * defines a schedule that
performs daily backups at 3 AM. Use the paused field to pause the
schedule. If true, periodic scheduled backups are stopped. A paused backup
plan is still able to create a manual backup.
BACKUP_REPO_NAME: the name of the backup repository. For more information, see Create a backup repository.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-29 UTC."],[[["\u003cp\u003eThis page guides you through creating backup plans for Harbor instances within Google Distributed Cloud (GDC) air-gapped environments.\u003c/p\u003e\n"],["\u003cp\u003eBackup plans define the schedule and retention policy for automatic backups of a specific Harbor instance, with a minimum interval of 10 minutes between backups.\u003c/p\u003e\n"],["\u003cp\u003eCreating a backup plan requires the Harbor Instance Admin and Secret Admin roles, as well as a pre-configured Harbor backup repository.\u003c/p\u003e\n"],["\u003cp\u003eYou can set up the backup plan via the GDC console by selecting the zone, Harbor instance, backup repository, and setting the desired schedule and retention period, or through the API using a YAML configuration file.\u003c/p\u003e\n"],["\u003cp\u003eAutomatic backup deletion can be enabled to remove backups after a set number of days, although this retention policy can be overridden by manual backups.\u003c/p\u003e\n"]]],[],null,["# Create a backup plan\n\nThis page provides instructions for how to create backup plans for Harbor\ninstances in Google Distributed Cloud (GDC) air-gapped.\n\nThe backup plan references the Harbor instance that is backed up. Backup plans\ndefine key components for backups such as the backup schedule and the retention\npolicy. GDC creates backups automatically depending on the configuration you\nprovide in the backup plan. You can also create a manual backup on demand, which\ninherits some values from the backup plan.\n\nBefore you begin\n----------------\n\nTo create a backup plan, you must have access to the following:\n\n- The necessary identity and access roles:\n\n - Harbor Instance Admin: has full access to manage Harbor instances in a project. Ask your Organization IAM Admin to grant you the Harbor Instance Admin (`harbor-instance-admin`) role.\n - Secret Admin: required for operating in the GDC console. Ask your Organization IAM Admin to grant you the Secret Admin (`secret-admin`) role.\n- A Harbor backup repository. For more information, see [Create a backup repository](/distributed-cloud/hosted/docs/latest/gdch/platform-application/pa-ao-operations/harbor-backup/create-backup-repository-harbor).\n\nCreate a backup plan\n--------------------\n\nCreate a repository in the GDC console or the API. \n\n### Console\n\n1. Sign in to the GDC console.\n2. In the navigation menu, click **Backup for harbor instance**.\n3. Click **Backup plans**.\n4. Click **Create backup plan**.\n5. In the **Zone** menu, select the zone.\n6. In the **Harbor instance source** menu, select the harbor instance this backup plan creates backups for.\n7. In the **Backup plan name** field, enter a name for the backup plan.\n8. Optional: In the **Backup plan description** field, enter a description to distinguish this backup plan from others\n9. In the **Backup repository** menu, select a backup repository from the available options. If there are no options available, you must [Create a\n backup repository](/distributed-cloud/hosted/docs/latest/gdch/platform-application/pa-ao-operations/harbor-backup/create-backup-repository-harbor).\n10. Click **Next**.\n11. In the **Cron string** field, define a schedule for this backup plan. Enter an expression using standard cron syntax. For example, the expression `10 3 * * *` creates a backup at `0310` every day. All times are interpreted as UTC. The minimum interval between scheduled backups is 10 minutes.\n12. Optional: In the **Retention policy** section, decide whether to\n automatically delete backups after a certain number of days:\n\n 1. Select the **Enable automatic backup deletion** checkbox.\n 2. In the **Delete backups** **after** field, set the number of days for which to retain the backup. Once the number of days is reached, the backup is automatically deleted.\n13. Click **Next**.\n\n14. Review the backup plan details. To finalize the creation of this backup\n plan, click **Create Plan**.\n\n### API\n\n apiVersion: artifactregistry.gdc.goog/v1\n kind: HarborInstanceBackupPlan\n metadata:\n name: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eBACKUP_PLAN_NAME\u003c/span\u003e\u003c/var\u003e\n namespace: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eINSTANCE_NAMESPACE\u003c/span\u003e\u003c/var\u003e\n spec:\n backupSchedule:\n cronSchedule: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eCRON_STRING\u003c/span\u003e\u003c/var\u003e\n paused: false\n backupConfig:\n backupRepository: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eBACKUP_REPO_NAME\u003c/span\u003e\u003c/var\u003e\n backupScope:\n harborInstance: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eINSTANCE_NAME\u003c/span\u003e\u003c/var\u003e\n retentionPolicy:\n backupRetainDays: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eBACKUP_RETAIN_DAYS\u003c/span\u003e\u003c/var\u003e\n description: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003ePLAN_DESCRIPTION\u003c/span\u003e\u003c/var\u003e\n\nReplace the following:\n\n- \u003cvar translate=\"no\"\u003eBACKUP_PLAN_NAME\u003c/var\u003e: the name of the backup plan.\n- \u003cvar translate=\"no\"\u003eINSTANCE_NAMESPACE\u003c/var\u003e: the namespace containing the Harbor instance. The backup plan must be in the same namespace as the Harbor instance.\n- \u003cvar translate=\"no\"\u003eCRON_STRING\u003c/var\u003e: the cron value that defines the backup schedule. For example the value `0 3 * * *` defines a schedule that performs daily backups at 3 AM. Use the `paused` field to pause the schedule. If true, periodic scheduled backups are stopped. A paused backup plan is still able to create a manual backup.\n- \u003cvar translate=\"no\"\u003eBACKUP_REPO_NAME\u003c/var\u003e: the name of the backup repository. For more information, see [Create a backup repository](/distributed-cloud/hosted/docs/latest/gdch/platform-application/pa-ao-operations/harbor-backup/create-backup-repository-harbor).\n- \u003cvar translate=\"no\"\u003eINSTANCE_NAME\u003c/var\u003e: the name of the Harbor instance. For more information, see [Create Harbor registry instances](/distributed-cloud/hosted/docs/latest/gdch/platform-application/pa-ao-operations/create-harbor-instances).\n- \u003cvar translate=\"no\"\u003eBACKUP_RETAIN_DAYS\u003c/var\u003e: the number of days after which the backup is deleted. This value is overridden by manual backups that use this plan.\n- \u003cvar translate=\"no\"\u003ePLAN_DESCRIPTION\u003c/var\u003e: a text description of the backup plan.\n\nWhat's next\n-----------\n\n- [Manage a backup plan](/distributed-cloud/hosted/docs/latest/gdch/platform-application/pa-ao-operations/harbor-backup/manage-backup-plan-harbor)\n- [Create a manual backup](/distributed-cloud/hosted/docs/latest/gdch/platform-application/pa-ao-operations/harbor-backup/create-manual-backup-harbor)\n- [Create a restore](/distributed-cloud/hosted/docs/latest/gdch/platform-application/pa-ao-operations/harbor-backup/create-restore-harbor)"]]