You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: helmcharts/velero/README.md
+101Lines changed: 101 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -102,6 +102,107 @@ CSI plugin has been merged into velero repo in v1.14 release. It will be install
102
102
103
103
This version removes the `nodeAgent.privileged` field, you should use `nodeAgent.containerSecurityContext.privileged` instead
104
104
105
+
## Repository Maintenance Configuration
106
+
107
+
Starting from Velero v1.15, you can configure repository maintenance jobs with different resource limits and node affinity settings per repository using a ConfigMap. This feature is supported through the Helm chart.
108
+
109
+
### Basic Usage
110
+
111
+
To enable per-repository maintenance configuration, provide repository-specific configurations and provide global configurations that will be applied across all repositories:
112
+
113
+
```yaml
114
+
configuration:
115
+
repositoryMaintenanceJob:
116
+
repositoryConfigData:
117
+
name: "my-repo-maintenance-config"# Optional, defaults to "velero-repo-maintenance"
118
+
global:
119
+
podResources:
120
+
cpuRequest: "100m"
121
+
cpuLimit: "200m"
122
+
memoryRequest: "100Mi"
123
+
memoryLimit: "200Mi"
124
+
keepLatestMaintenanceJobs: 1
125
+
```
126
+
127
+
### Per-Repository Configuration
128
+
129
+
You can configure specific settings for individual repositories using repository keys. Repository keys are formed as: `{namespace}-{storageLocation}-{repositoryType}`.
130
+
131
+
For example, if you have a BackupRepository for namespace `prod` using storage location `s3-backup` with repository type `kopia`, the key would be `prod-s3-backup-kopia`.
132
+
133
+
```yaml
134
+
configuration:
135
+
repositoryMaintenanceJob:
136
+
repositoryConfigData:
137
+
global:
138
+
podResources:
139
+
cpuRequest: "100m"
140
+
cpuLimit: "200m"
141
+
memoryRequest: "100Mi"
142
+
memoryLimit: "200Mi"
143
+
repositories:
144
+
"prod-s3-backup-kopia":
145
+
podResources:
146
+
cpuRequest: "500m"
147
+
cpuLimit: "1000m"
148
+
memoryRequest: "512Mi"
149
+
memoryLimit: "1024Mi"
150
+
loadAffinity:
151
+
- nodeSelector:
152
+
matchLabels:
153
+
dedicated: "backup"
154
+
```
155
+
156
+
### Node Affinity and Priority Class
157
+
158
+
You can specify node affinity and priority class for maintenance jobs:
**Note**: `priorityClassName` is only supported in the global configuration section and applies to all maintenance jobs.
185
+
186
+
### Backward Compatibility
187
+
188
+
When `repositoryConfigData.global` and `repositoryConfigData.repositories` are not provided (default), the chart continues to use the legacy global settings:
189
+
190
+
```yaml
191
+
configuration:
192
+
repositoryMaintenanceJob:
193
+
requests:
194
+
cpu: 500m
195
+
memory: 512Mi
196
+
limits:
197
+
cpu: 1000m
198
+
memory: 1024Mi
199
+
latestJobsCount: 3
200
+
```
201
+
202
+
Note: The legacy parameters (`--maintenance-job-cpu-request`, `--maintenance-job-mem-request`, `--maintenance-job-cpu-limit`, `--maintenance-job-mem-limit`) are deprecated in Velero v1.15 and will be removed in v1.17.
203
+
204
+
For more information, see the [Velero Repository Maintenance documentation](https://velero.io/docs/main/repository-maintenance/).
{{- if and .Values.configuration .Values.configuration.repositoryMaintenanceJob .Values.configuration.repositoryMaintenanceJob.repositoryConfigData (or .Values.configuration.repositoryMaintenanceJob.repositoryConfigData.global .Values.configuration.repositoryMaintenanceJob.repositoryConfigData.repositories) }}
0 commit comments