The AtlasBackupPolicy custom resource configures a backup policy
that applies to the AtlasBackupSchedule Custom Resource that you
can apply to your AtlasDeployment Custom Resource. When you
create the AtlasBackupPolicy custom resource, Atlas Kubernetes Operator tries to
create or update a backup policy.
Important
Custom Resources No Longer Delete Objects by Default
Atlas Kubernetes Operator uses custom resource configuration
files to manage your Atlas configuration, but as of Atlas Kubernetes Operator 2.0,
custom resources you delete in Kubernetes are no longer deleted in
Atlas. Instead, Atlas Kubernetes Operator simply stops managing those resources.
For example, if you delete an AtlasProject Custom Resource
in Kubernetes, Atlas Kubernetes Operator no longer automatically deletes the corresponding project
from Atlas, preventing accidental or unexpected deletions. To learn more,
including how to revert this behavior to
the default used prior to Atlas Kubernetes Operator 2.0, see New Default: Deletion Protection in Atlas Kubernetes Operator 2.0.
Atlas Kubernetes Operator does one of the following actions using the Atlas Cloud Backup Schedule API Resource:
Creates a new backup policy.
Updates an existing backup policy.
If you remove the AtlasBackupPolicy resource from your Kubernetes
cluster, Atlas stops creating backups for your cluster.
Note
You must do all of the following tasks to back up a cluster:
Create a backup policy.
Create a backup schedule and set the
spec.policy.namefield to the name of the configured backup policy.Set the
spec.backupRef.namefield in theAtlasDeploymentCustom Resource to the name of the configured backup schedule.
To learn more, see Back Up Your Atlas Cluster.
Example
The following example shows an AtlasBackupPolicy custom resource
that is configured to take snapshots weekly and retain snapshots for
seven days:
apiVersion: atlas.mongodb.com/v1 kind: AtlasBackupPolicy metadata: name: "atlas-default-backuppolicy" spec: items: - frequencyType: "weekly" frequencyInterval: 1 retentionUnit: "days" retentionValue: 7
Parameters
This section describes some of the key AtlasBackupPolicy custom
resource parameters available. For a full list of parameters available,
see the Atlas
Modify Cloud Backup Backup Policy API. Refer
to these descriptions, the available examples, and the API
documentation to customize your specifications.
spec.itemsType: array
Conditional
List that contains the policy item parameters from the API. For a full list of parameters available, see the Atlas Modify Cloud Backup Backup Policy API.
spec.items.frequencyIntervalType: number
Required
Number that indicates the desired frequency of the new backup policy item specified by
spec.items.frequencyType. A value of1specifies the first instance of the correspondingspec.items.frequencyType.Example
In a monthly policy item,
1indicates that the monthly snapshot occurs on the first day of the month.In a weekly policy item,
1indicates that the weekly snapshot occurs on Monday.
This setting accepts the following frequency values:
Hourly:
1,2,4,6,8, and12.Daily:
1.Weekly:
1through7, where1is Monday and7is Sunday.Monthly:
1through28and40, where1is the first day of the month and40is the last day of the month.Yearly:
1through12, where1is the first day of January, and12is the first day of December.
spec.items.frequencyTypeType: string
Required
String that indicates the frequency associated with the backup policy item. Accepted values are:
hourly,daily,weekly,monthly, oryearly.Note
You can't specify multiple
hourlyanddailybackup policy items.
spec.items.retentionUnitType: string
Required
String that indicates the scope of the backup policy item. Together with
spec.items.retentionValue, these settings define the length of time to retain snapshots. Accepted values are:days,weeks,months, oryears.
spec.items.retentionValueType: string
Required
String that indicates the value to associate with
spec.items.retentionUnit. Together withspec.items.retentionUnit, these settings define the length of time to retain snapshots.