Compare commits

..

2133 Commits

Author SHA1 Message Date
lyndon-li
8afe3cea8b Merge pull request #8124 from Lyndon-Li/release-1.14
Change log for 1.14.1
2024-08-20 09:51:03 +08:00
Lyndon-Li
6ae1582113 change log for 1.14.1
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2024-08-19 13:35:48 +08:00
lyndon-li
69d950ed77 Merge pull request #8118 from blackpiglet/fix_cve_for_1.14
Bump base image and golang version to fix CVEs.
2024-08-16 10:10:29 +08:00
Xun Jiang
fb146cd2dd Bump base image and golang version to fix CVEs.
Signed-off-by: Xun Jiang <xun.jiang@broadcom.com>
2024-08-15 20:42:09 +08:00
Shubham Pampattiwar
cd601cafdf Merge pull request #8037 from mrnold/pod-volume-message-7857-1.14
[release-1.14] Avoid wrapping failed PVB status with empty message.
2024-07-24 08:08:11 -07:00
Matthew Arnold
76a3ecc999 Add changelog file.
Signed-off-by: Matthew Arnold <marnold@redhat.com>
2024-07-24 09:21:20 -04:00
Matthew Arnold
3dde086435 Avoid wrapping failed PVB status with empty message.
Also change "get" to "found" as requested in issue #7857.

Signed-off-by: Matthew Arnold <marnold@redhat.com>
2024-07-24 09:21:20 -04:00
lyndon-li
ebafe12cb0 Merge pull request #8035 from shubham-pampattiwar/expose-pv-patch-max-timeout-rel-1.14
[release-1.14] Expose PVPatchMaximumDuration timeout for custom configuration
2024-07-23 10:13:59 +08:00
Shubham Pampattiwar
fea63167bc Expose PVPatchMaximumDuration timeout for custom configuration
Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>

remove debug log

Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>

use resource timeout server arg

Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>

add changelog

Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>

remove hardcoded PVPatchMaximumtimeout const usagDe

Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>
(cherry picked from commit fd6c74715a)

update changelog filename

Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>
2024-07-22 08:27:13 -07:00
Shubham Pampattiwar
6ae34a13aa Merge pull request #8016 from sseago/plugin-leak-1.14
[release-1.14] Reuse existing plugin manager for get/put volume info
2024-07-16 09:26:03 -07:00
Scott Seago
89a536382b update changelog filename
Signed-off-by: Scott Seago <sseago@redhat.com>
2024-07-16 11:03:30 -04:00
lyndon-li
54df263094 fix linter check error (#8014)
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
Signed-off-by: Scott Seago <sseago@redhat.com>
2024-07-16 11:03:22 -04:00
Scott Seago
386fbb1ea6 Reuse existing plugin manager for get/put volume info
Signed-off-by: Scott Seago <sseago@redhat.com>
2024-07-15 14:22:43 -04:00
lyndon-li
0c38aa26bc Merge pull request #8006 from shubham-pampattiwar/skip-pv-patch-wffc-1.14
Skip PV patch step in Restore workflow for WaitForFirstConsumer VolumeBindingMode Pending state PVCs (#7953)
2024-07-15 14:39:17 +08:00
Shubham Pampattiwar
7cb5b96019 Skip PV patch step in Restoe workflow for WaitForFirstConsumer VolumeBindingMode Pending state PVCs (#7953)
add changelog file

change log level and add more detailed comments

make update

add return for sc get call if error

Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>
(cherry picked from commit 3bd8a7da7d)

update changelog

Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>
2024-07-12 11:38:16 -07:00
Anshul Ahuja
1c7412db85 Reset VolumeSnapshotRef in Backup Sync Flow (#8004)
Signed-off-by: Anshul Ahuja <anshulahuja@microsoft.com>
Co-authored-by: Anshul Ahuja <anshulahuja@microsoft.com>
2024-07-12 13:20:25 +05:30
lyndon-li
80a5b51c2e Merge pull request #7998 from blackpiglet/7928_fix_1.14
Check whether the namespaces specified in namespace filter exist.
2024-07-12 10:57:35 +08:00
Xun Jiang
57377f9d69 Check whether the namespaces specified in namespace filter exist.
Check whether the namespaces specified in the
backup.Spec.IncludeNamespaces exist during backup resource collcetion
If not, log error to mark the backup as PartiallyFailed.

Signed-off-by: Xun Jiang <blackpigletbruce@gmail.com>
2024-07-11 14:04:19 +08:00
Wenkai Yin(尹文开)
163ee42067 Merge pull request #7976 from blackpiglet/7929_1.14_fix
[cherry-pick][1.14]Check whether the volume's source is PVC before fetching its PV.
2024-07-05 10:03:56 +08:00
Xun Jiang
dcf4e1f10b Check whether the volume's source is PVC before fetching its PV.
Signed-off-by: Xun Jiang <blackpigletbruce@gmail.com>
2024-07-03 18:31:28 +08:00
Xun Jiang/Bruce Jiang
77b3c8f10d Merge pull request #7944 from blackpiglet/7818_fix
Expose the VolumeHelper to third-party plugins.
2024-07-03 10:58:11 +08:00
Xun Jiang
1fd959d752 Expose the VolumeHelper to third-party plugins.
Signed-off-by: Xun Jiang <blackpigletbruce@gmail.com>
2024-07-02 17:15:47 +08:00
Xun Jiang/Bruce Jiang
5c413ec3a9 Merge pull request #7949 from Lyndon-Li/release-1.14
[1.14] Issue 7903: and limitation clarification for change PVC selected-node feature
2024-07-01 09:54:36 +08:00
Lyndon-Li
4056a969a9 issue 7904:and limitation clarification for change PVC selected-node feature
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2024-06-28 13:45:55 +08:00
lyndon-li
583cd8b2e9 Merge pull request #7926 from sseago/unschedulable-backport
[release-1.14] Don't consider unschedulable pods unrecoverable
2024-06-26 10:15:07 +08:00
Scott Seago
d21d413829 Don't consider unschedulable pods unrecoverable
Signed-off-by: Scott Seago <sseago@redhat.com>
2024-06-25 14:57:51 -04:00
lyndon-li
2fc6300f22 Merge pull request #7860 from blackpiglet/update_e2e_for_1_14
Skip parallel files upload and download test for Restic case
2024-06-13 10:08:32 +08:00
Xun Jiang/Bruce Jiang
200f16e539 Merge branch 'release-1.14' into update_e2e_for_1_14 2024-06-12 21:25:19 +08:00
Xun Jiang/Bruce Jiang
0d3657240a Merge pull request #7876 from reasonerjt/update-release-note-1.14
Update release note of 1.14
2024-06-12 20:14:23 +08:00
Xun Jiang/Bruce Jiang
08fea6e994 Merge branch 'release-1.14' into update-release-note-1.14 2024-06-12 20:04:13 +08:00
Xun Jiang
d20bd165a9 Skip parallel files upload and download test for Restic case.
Signed-off-by: Xun Jiang <blackpigletbruce@gmail.com>
2024-06-12 19:52:22 +08:00
Xun Jiang/Bruce Jiang
bf778c7d21 Merge pull request #7875 from reasonerjt/fix-restore-crash-1.14
Add checks for csisnapshot for vol_info population
2024-06-12 19:41:14 +08:00
Daniel Jiang
a65005996a Update release note of 1.14
Signed-off-by: Daniel Jiang <daniel.jiang@broadcom.com>
2024-06-12 19:13:11 +08:00
Daniel Jiang
f61c8b9042 Add checks for csisnapshot for vol_info population
fixes #7874

Signed-off-by: Daniel Jiang <daniel.jiang@broadcom.com>
2024-06-12 18:57:29 +08:00
Daniel Jiang
21366795d1 Merge pull request #7852 from reasonerjt/fix-7849-1.14
Use PVC to track the CSI snapshot in restore
2024-06-04 13:33:27 +08:00
Daniel Jiang
f6367ca396 Use PVC to track the CSI snapshot in restore
This commit fixes #7849.
It will use PVC instead of PV to track CSI snapshots to generate restore
volume info metadata.  So that in the case the PVC is not bound to PV
the metadata can be populated correctly.

Signed-off-by: Daniel Jiang <daniel.jiang@broadcom.com>
2024-06-04 10:10:36 +08:00
Daniel Jiang
ce16acb12e Merge pull request #7847 from Lyndon-Li/release-1.14
Avoid unnecessary repo connect for maintenance
2024-05-31 13:11:46 +08:00
Lyndon-Li
54d5dabdda avoid unnecessary repo connect for maintenance
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2024-05-31 11:20:12 +08:00
Daniel Jiang
952f713b3b Merge pull request #7830 from reasonerjt/fix-git-release-issue-1.14
Fix issue in "git status" in goreleaser.sh
2024-05-27 17:01:51 +08:00
Daniel Jiang
1f1ccab948 Fix issue in "git status" in goreleaser.sh
When dry-run the tag-release.sh, there's an error
"fatal: detected dubious ownership in repository at
'/github.com/vmware-tanzu/velero'"

This commit works around this issue to make sure "tag-release.sh"
can finish successful

Signed-off-by: Daniel Jiang <daniel.jiang@broadcom.com>
2024-05-27 16:49:47 +08:00
Daniel Jiang
9164bc95a4 Merge pull request #7821 from reasonerjt/pin-image-1.14
Pin the version of Golang and base image for v1.14.0
2024-05-24 13:48:14 +08:00
Daniel Jiang
74966d0e2c Pin the version of Golang and base image
Signed-off-by: Daniel Jiang <daniel.jiang@broadcom.com>
2024-05-24 13:25:23 +08:00
Daniel Jiang
7d22548d7a Merge pull request #7824 from reasonerjt/fix-codespell-1.14
Fix the problems found by codespell
2024-05-24 13:24:34 +08:00
Daniel Jiang
892fa79051 Fix the problems found by codespell
Signed-off-by: Daniel Jiang <daniel.jiang@broadcom.com>
2024-05-24 11:32:26 +08:00
Daniel Jiang
aae7bb00e4 Merge pull request #7820 from reasonerjt/changelog-v114
Update changelog for v1.14
2024-05-23 18:14:53 +08:00
Daniel Jiang
bd68bb4936 Update changelog for v1.14
Signed-off-by: Daniel Jiang <daniel.jiang@broadcom.com>
2024-05-23 17:20:57 +08:00
Xun Jiang/Bruce Jiang
9ac9e0d7b3 Merge pull request #7819 from reasonerjt/fix-doc-v114
Fix minor issue in doc for v1.14
2024-05-23 17:19:28 +08:00
Daniel Jiang
8c9410cff1 Fix minor issue in doc for v1.14
The upgrade link and latest config is not updated by make

Signed-off-by: Daniel Jiang <daniel.jiang@broadcom.com>
2024-05-23 16:50:58 +08:00
Daniel Jiang
05a6354bc8 Merge pull request #7816 from reasonerjt/doc-for-v114-new
User doc for v1.14
2024-05-23 16:31:21 +08:00
Daniel Jiang
62c7fef827 Merge pull request #7814 from reasonerjt/update-reamde-v114
Update README and move the implemented Designs for v1.14
2024-05-23 15:50:10 +08:00
Daniel Jiang
2276f3e7df User doc for v1.14
Signed-off-by: Daniel Jiang <daniel.jiang@broadcom.com>
2024-05-23 15:34:36 +08:00
Daniel Jiang
349c8f26c6 Update README and move the implemented Designs for v1.14
Signed-off-by: Daniel Jiang <daniel.jiang@broadcom.com>
2024-05-23 14:08:47 +08:00
Xun Jiang/Bruce Jiang
0e7fb402cd Merge pull request #7794 from blackpiglet/modify_volume_helper
Modify the volume helper logic.
2024-05-23 11:18:38 +08:00
Xun Jiang
a91d2cb036 Modify the volume helper logic.
Signed-off-by: Xun Jiang <blackpigletbruce@gmail.com>
2024-05-23 09:57:21 +08:00
Xun Jiang/Bruce Jiang
49eab81807 Merge pull request #7805 from piny940/fix-backuplog-error
Fix backup log to show error string, not index
2024-05-21 14:07:42 +08:00
lyndon-li
5943d385c1 Merge pull request #7779 from shubham-pampattiwar/vol-policy-extension-docs
Add documentation for extension of volume policy feature
2024-05-21 13:38:20 +08:00
Shubham Pampattiwar
2706667750 add documentation for extension of volume policy feature
Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>

add changelog

Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>

add more examples

Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>

remove snapshotVolumes flag req

Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>

fix intendation

Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>

add more notes re:snapshot action

Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>
2024-05-20 11:54:35 -07:00
Daniel Jiang
b4b0b9d9c8 Merge pull request #7807 from reasonerjt/upgrade-doc-114
Update the doc upgrade-to-1.14
2024-05-20 18:37:00 +08:00
Daniel Jiang
1ffb6a9d66 Update the doc upgrade-to-1.14
Tweak the command and remove the sections which include upgrading from
older versions, given v1.13.x is a prerequisite.

Signed-off-by: Daniel Jiang <daniel.jiang@broadcom.com>
2024-05-20 17:01:20 +08:00
piny940
059effce97 Add change log 7805
Signed-off-by: piny940 <83708535+piny940@users.noreply.github.com>
2024-05-18 11:08:18 +09:00
piny940
8b6c89cd4e Fix backup log to show error string, not index
Signed-off-by: piny940 <83708535+piny940@users.noreply.github.com>
2024-05-18 11:00:47 +09:00
Xun Jiang/Bruce Jiang
f654188243 Merge pull request #7802 from blackpiglet/bump_e2e_migration_and_update_test_version
Bump the E2E upgrade and migration test version.
2024-05-17 15:09:50 +08:00
Xun Jiang
291d55f154 Bump the E2E upgrade and migration test version.
Signed-off-by: Xun Jiang <blackpigletbruce@gmail.com>
2024-05-17 14:19:06 +08:00
lyndon-li
65a831ed67 Merge pull request #7762 from kaovilai/waitBackupRepoErrsVerbose
Surface errors when waiting for backupRepository
2024-05-17 10:03:19 +08:00
Xun Jiang/Bruce Jiang
a0b7382e5a Merge pull request #7595 from mmorel-35/golangci-lint-config
organize golangci workflow
2024-05-16 11:31:13 +08:00
Xun Jiang/Bruce Jiang
cdd5a4fdba Merge pull request #7755 from vmware-tanzu/dependabot/github_actions/actions/cache-4
Bump actions/cache from 2 to 4
2024-05-16 11:09:52 +08:00
Guang Jiong Lou
6c2b66b480 Modify the wrong ConfigMap name in v1.13 node-agent-concurrency document. (#7715)
Fix condition matching in resource modifier when there are multiple rules

Signed-off-by: lou <alex1988@outlook.com>
Co-authored-by: Xun Jiang <blackpigletbruce@gmail.com>
2024-05-14 17:01:50 -04:00
Matthieu MOREL
bc1e88cb27 rename golangci-lint config file and use golangci-lint-action to lint
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2024-05-14 19:45:03 +00:00
Xun Jiang/Bruce Jiang
27392d3411 Support more PROW commands. (#7784)
Signed-off-by: Xun Jiang <blackpigletbruce@gmail.com>
2024-05-14 14:19:25 -04:00
dependabot[bot]
93216e4a3a Bump golangci/golangci-lint-action from 5 to 6 (#7791)
Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 5 to 6.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases)
- [Commits](https://github.com/golangci/golangci-lint-action/compare/v5...v6)

---
updated-dependencies:
- dependency-name: golangci/golangci-lint-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-14 14:18:25 -04:00
Daniel Jiang
7e19cdbcc6 Merge pull request #7757 from kaovilai/addExistingResourcePolicyRestoreCRValidation
Add existingResourcePolicy restore CR validation to controller.
2024-05-14 11:35:58 +08:00
danfeng
0b5f10efbe Merge pull request #7598 from mmorel-35/azure-storage-blob-go
Migrate from github.com/Azure/azure-storage-blob-go to github.com/Azure/azure-sdk-for-go/sdk/storage/azblob
2024-05-14 10:34:03 +08:00
Wenkai Yin(尹文开)
23135d0d21 Merge pull request #7790 from blackpiglet/modify_nodeagent_cocurrency
Modify the wrong ConfigMap name in v1.13 node-agent-concurrency docum…
2024-05-13 16:50:42 +08:00
Xun Jiang
ef8f3b5cb8 Modify the wrong ConfigMap name in v1.13 node-agent-concurrency document.
Signed-off-by: Xun Jiang <blackpigletbruce@gmail.com>
2024-05-13 16:27:27 +08:00
danfeng
3c37c843f8 Merge pull request #7591 from mmorel-35/noctx
golangci-lint(noctx): fix test files
2024-05-13 13:29:07 +08:00
danfeng
1ca1178f76 Merge pull request #7788 from danfengliu/fix-makefile-param-issue
Fix makefile param issue
2024-05-13 10:24:32 +08:00
danfengl
85495eef48 Fix makefile param issue
Using VERSION instead of VELERO_VERSION, since VERSION is passed from root Makefile.
Signed-off-by: danfengl <danfengl@vmware.com>
2024-05-11 05:40:03 +00:00
Tiger Kaovilai
3c937d42dd ignore .git dir when formatting
Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
2024-05-10 14:12:29 -04:00
Matthieu MOREL
173f704796 golangci-lint(noctx): fix test files
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2024-05-10 10:05:28 +00:00
Matthieu MOREL
14e98b89ad Migrate from github.com/Azure/azure-storage-blob-go to github.com/Azure/azure-sdk-for-go/sdk/storage/azblob
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2024-05-10 09:24:35 +00:00
Xun Jiang/Bruce Jiang
f7c0244183 Merge pull request #7776 from mmorel-35/kind/changelog-not-required
split labels configurations add more prow commands
2024-05-10 15:19:31 +08:00
Tiger Kaovilai
2c6853b6e8 Surface errors when waiting for backupRepository
Make errors such as those found in https://github.com/vmware-tanzu/velero/issues/6928#issuecomment-1759369183

Makes errors easier to understand than "timed out waiting for the condition"

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
2024-05-09 17:20:33 -04:00
qiuming
7563a453fb Merge pull request #7701 from qiuming-best/merge-makefile
Merge makefile for e2e perf test
2024-05-09 15:28:13 +08:00
qiuming
b8a48c0ef8 Merge pull request #7691 from qiuming-best/e2e-parallel-upload-download
Add E2E test for parallel files upload and download
2024-05-09 15:27:06 +08:00
Matthieu MOREL
3650337fff split labels configurations add more prow commands
Co-authored-by: Tiger Kaovilai <passawit.kaovilai@gmail.com>
Co-authored-by: Xun Jiang <blackpigletbruce@gmail.com>
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2024-05-09 06:56:04 +00:00
Ming Qiu
a628cb525f Add E2E test for parallel files upload and download
Signed-off-by: Ming Qiu <ming.qiu@broadcom.com>
2024-05-09 03:04:04 +00:00
Wenkai Yin(尹文开)
0d85a647b5 Merge pull request #7772 from Lyndon-Li/issue-fix-7535
Issue fix 7535: don't skip must have resources for label selector
2024-05-08 15:44:04 +08:00
danfeng
43d1568be6 Merge pull request #7621 from danfengliu/add-checkpoint-in-fs-backup-deletion
Add checkpoint in fs backup deletion
2024-05-08 15:42:56 +08:00
danfengl
61c4d7b148 Add checkpoint for FS backup deletion test
As per PR #7281, if repository count is more than 1, then snapshots deletion is achieved with a fast way, then we should have more than 1 FS backup repository per backup.

Signed-off-by: danfengl <danfengl@vmware.com>
2024-05-07 07:52:46 +00:00
qiuming
3cbf2eb4e2 Merge pull request #7752 from qiuming-best/maintenance-job-start-fix
Maintenance job should not be launched if the repo already has a runn…
2024-05-07 15:14:56 +08:00
Ming Qiu
e91d9b906c Maintenance job should not be launched if the repo already has a running one
Signed-off-by: Ming Qiu <ming.qiu@broadcom.com>
2024-05-07 06:12:05 +00:00
Xun Jiang/Bruce Jiang
dda6c1f37b Merge pull request #7769 from mmorel-35/kind/changelog-not-required
fix `/kind changelog-not-required`
2024-05-07 11:10:22 +08:00
Lyndon-Li
55f47c801a Merge branch 'main' into issue-fix-7535 2024-05-06 18:40:59 +08:00
Lyndon-Li
0a5c6db2b9 issue 7535: don't skip must have resources for label selector
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2024-05-06 18:39:32 +08:00
Matthieu MOREL
a90c0a420b fix /kind changelog-not-required
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2024-05-06 06:50:20 +00:00
Tiger Kaovilai
e1bef5b6c2 Add existingResourcePolicy restore CR validation to controller.
Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
2024-05-01 11:39:03 -04:00
dependabot[bot]
4d48273a24 Bump golangci/golangci-lint-action from 4 to 5 (#7756)
Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 4 to 5.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases)
- [Commits](https://github.com/golangci/golangci-lint-action/compare/v4...v5)

---
updated-dependencies:
- dependency-name: golangci/golangci-lint-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-30 09:43:16 -04:00
dependabot[bot]
516d06c7d1 Bump actions/cache from 2 to 4
Bumps [actions/cache](https://github.com/actions/cache) from 2 to 4.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v2...v4)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-29 19:58:24 +00:00
qiuming
8f78aaa5f6 Merge pull request #7745 from qiuming-best/maintenance-job-fix
[v1.14 test] Fix maintenance job launched immediately after prune error
2024-04-29 11:23:18 +08:00
danfeng
a798182d61 Merge pull request #7590 from danfengliu/add-vsc-checkpoint-for-migration-test
Add checkpoint of VSC for data movement migration test
2024-04-29 10:01:31 +08:00
danfengl
82fc557bd1 Add checkpoint of VSC for data movement migration test
1. In data movement scenario, volumesnapshotcontent by Velero backup will be deleted instead of retained in CSI scenaito, so add
a checkpoint for data movement scenario to verify no volumesnapshotcontent left after Velero backup;

2. Fix global context varaible issue, context varaible is not effective due to it's initialized right after the very beginning of
all tests instead of beginning of each test, so if someone script a new E2E test and did not overwrite it in the test body, then it
will fail the test if it was triggerd one hour later;

3. Due to CSI plugin is deprecated, it breaked down migration tests, because v1.13 still needs to install CSI plugin for the test.

Signed-off-by: danfengl <danfengl@vmware.com>
2024-04-28 09:47:08 +00:00
Ming Qiu
5eae542762 Fix maintenance job launched immediately after prune error
Signed-off-by: Ming Qiu <ming.qiu@broadcom.com>
2024-04-26 09:50:59 +00:00
Wenkai Yin(尹文开)
6f7807cb52 Merge pull request #7740 from kaovilai/schedule-docs-pause
Add Schedule.spec.pause to docs
2024-04-26 16:59:39 +08:00
Tiger Kaovilai
bffe4f9f56 Add Schedule.spec.pause to docs
Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
2024-04-25 12:30:58 -04:00
qiuming
159a49f0b2 Merge pull request #7733 from yanji09/update-hackmd-link-for-community-meeting-notes
Update hackmd link for community meeting notes
2024-04-24 14:16:49 +08:00
Jiaolin Yang
c894b4bff1 Update hackmd link for community meeting notes
Update hackmd link for community meeting notes.

Signed-off-by: Jiaolin Yang <Jiaolin.Yang@broadcom.com>
2024-04-24 13:50:13 +08:00
lyndon-li
01a2d952ac Merge pull request #7664 from shubham-pampattiwar/vol-policy-extension-impl
Extend Volume Policies feature to support more actions
2024-04-24 13:39:36 +08:00
Shubham Pampattiwar
8d2bef2486 Extend Volume Policies feature to support more actions
Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>

fix volume policy action execution

Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>

remove unused files

Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>

add changelog file

Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>

fix CI linter errors

fix linter errors

address pr review comments

Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>

fix via make update cmd

Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>

address PR feedback and add tests

Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>

fix codespell

Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>

fix ci linter checks

Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>

remove volsToExclude processing from volume policy logic and add tests

Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>

fix ci linter issue

Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>
2024-04-23 12:54:14 -07:00
danfeng
e718a1325d Merge pull request #7727 from danfengliu/fix-1.14-nightly-issues
Fix 1.14 nightly issues
2024-04-23 17:14:15 +08:00
Daniel Jiang
d16003695a Merge pull request #7702 from reasonerjt/update-kind-k8s
Bump up the version of KinD and k8s in github actions
2024-04-23 17:08:49 +08:00
qiuming
7fd365c29d Merge pull request #7724 from vmware-tanzu/dependabot/github_actions/cirrus-actions/rebase-1.8
Bump cirrus-actions/rebase from 1.3.1 to 1.8
2024-04-23 14:55:36 +08:00
qiuming
e7a9d2e457 Merge pull request #7723 from vmware-tanzu/dependabot/github_actions/actions/checkout-4
Bump actions/checkout from 2 to 4
2024-04-23 14:55:13 +08:00
qiuming
7a72fe3be0 Merge pull request #7721 from vmware-tanzu/dependabot/github_actions/actions/stale-9.0.0
Bump actions/stale from 6.0.1 to 9.0.0
2024-04-23 14:54:07 +08:00
qiuming
9e84926bf1 Merge pull request #7722 from vmware-tanzu/dependabot/github_actions/github/codeql-action-3
Bump github/codeql-action from 2 to 3
2024-04-23 14:53:26 +08:00
qiuming
cc3f32410c Merge pull request #7720 from vmware-tanzu/dependabot/github_actions/jpmcb/prow-github-actions-1.1.3
Bump jpmcb/prow-github-actions from 1.1.2 to 1.1.3
2024-04-23 14:52:28 +08:00
danfengl
8a3f2f41e4 Fix 1.14 nightly issues
1. Add sleep for native snapshot tests when  using test.go interface;
2. Add --confirm for velero plugin add CLI as new feature introduced.

Signed-off-by: danfengl <danfengl@vmware.com>
2024-04-23 05:45:40 +00:00
dependabot[bot]
6550fc94bc Bump cirrus-actions/rebase from 1.3.1 to 1.8
Bumps [cirrus-actions/rebase](https://github.com/cirrus-actions/rebase) from 1.3.1 to 1.8.
- [Release notes](https://github.com/cirrus-actions/rebase/releases)
- [Commits](https://github.com/cirrus-actions/rebase/compare/1.3.1...1.8)

---
updated-dependencies:
- dependency-name: cirrus-actions/rebase
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-22 19:38:24 +00:00
dependabot[bot]
eed655dddd Bump actions/checkout from 2 to 4
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-22 19:38:20 +00:00
dependabot[bot]
8c7f759002 Bump github/codeql-action from 2 to 3
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2 to 3.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-22 19:38:14 +00:00
dependabot[bot]
2c9ff8b6d1 Bump actions/stale from 6.0.1 to 9.0.0
Bumps [actions/stale](https://github.com/actions/stale) from 6.0.1 to 9.0.0.
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/stale/compare/v6.0.1...v9.0.0)

---
updated-dependencies:
- dependency-name: actions/stale
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-22 19:38:07 +00:00
dependabot[bot]
01f25db1b4 Bump jpmcb/prow-github-actions from 1.1.2 to 1.1.3
Bumps [jpmcb/prow-github-actions](https://github.com/jpmcb/prow-github-actions) from 1.1.2 to 1.1.3.
- [Release notes](https://github.com/jpmcb/prow-github-actions/releases)
- [Commits](https://github.com/jpmcb/prow-github-actions/compare/v1.1.2...v1.1.3)

---
updated-dependencies:
- dependency-name: jpmcb/prow-github-actions
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-22 19:38:03 +00:00
Daniel Jiang
da2267fa3d Bump up the version of KinD and k8s in github actions
Signed-off-by: Daniel Jiang <daniel.jiang@broadcom.com>
2024-04-22 18:17:15 +08:00
Xun Jiang/Bruce Jiang
5f9c53af6e Merge pull request #7697 from blackpiglet/backup_volumeinfo_cli_update
Modify namespace filter logic for backup with label selector
2024-04-22 15:57:50 +08:00
qiuming
9d66438c1f Merge pull request #7710 from danfengliu/rm-csi-plugin
Remove CSI plugin in E2E test
2024-04-22 15:50:26 +08:00
danfengl
a3bd26acd9 Remove CSI plugin in E2E test
Signed-off-by: danfengl <danfengl@vmware.com>
2024-04-22 07:13:40 +00:00
lyndon-li
d6a7319ff9 Merge pull request #7713 from Lyndon-Li/issue-fix-7712
Issue 7712: don't append nil error for BatchForget of Restic path
2024-04-22 13:05:13 +08:00
lyndon-li
9be2cdb6fe Merge pull request #7711 from blackpiglet/resolve_security_alert_202404
Fix CVEs reported in GitHub security.
2024-04-22 11:13:47 +08:00
Lyndon-Li
776efc4460 issue 7712: don't append nil error for BatchForget of restic path
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2024-04-22 11:10:45 +08:00
Xun Jiang
a01ef11c92 Fix CVEs reported in GitHub security.
Signed-off-by: Xun Jiang <blackpigletbruce@gmail.com>
2024-04-22 10:05:10 +08:00
Daniel Jiang
22b94654a4 Merge pull request #7686 from kaovilai/release-plan-plugin
Document plugin release plans as part of roadmap/milestone #6629
2024-04-19 19:48:21 +08:00
Xun Jiang
884bcbec98 Fix the typecheck error reported by the lint GitHub action.
Signed-off-by: Xun Jiang <blackpigletbruce@gmail.com>
2024-04-19 18:41:16 +08:00
Ming Qiu
a0fb7398cf Merge makefile for e2e perf test
Signed-off-by: Ming Qiu <ming.qiu@broadcom.com>
2024-04-19 02:15:30 +00:00
Xun Jiang
2eeaf4d55e Modify namespace filter logic for backup with label selector.
Signed-off-by: Xun Jiang <blackpigletbruce@gmail.com>
2024-04-18 10:30:59 +08:00
Xun Jiang
f1f0c8e5a7 Add size for DataMovement.
Signed-off-by: Xun Jiang <blackpigletbruce@gmail.com>
2024-04-18 10:30:59 +08:00
Daniel Jiang
f04fbbcc41 Merge pull request #7687 from reasonerjt/restore-desc-vol-info
Display CSI snapshot restores in restore describe
2024-04-17 15:39:55 +08:00
Xun Jiang/Bruce Jiang
b46fc6b4c7 Merge pull request #7692 from Lyndon-Li/pin-kopia-0.17.0
Pin kopia to 0.17.0
2024-04-17 14:28:25 +08:00
qiuming
224fc61987 Merge pull request #7680 from ywk253100/240415_azure
Use specific credential rather than the credential chain for Azure
2024-04-17 13:21:50 +08:00
Lyndon-Li
45b1b87055 pin kopia to 0.17.0
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2024-04-17 13:15:38 +08:00
Qi Xu
498a239e5b Modify hook docs for clarity on displaying hook execution results (#7679)
Signed-off-by: allenxu404 <qix2@vmware.com>
2024-04-17 09:37:04 +05:30
Daniel Jiang
2197cab3db Display CSI snapshot restores in restore describe
This commit makes change to CLI so `velero restore describe` will
download restore volume info and render the CSI snapshot restores based
on its content.

Signed-off-by: Daniel Jiang <daniel.jiang@broadcom.com>
2024-04-16 17:08:05 +08:00
Xun Jiang/Bruce Jiang
bc29471ed6 Merge pull request #7619 from allenxu404/post_restore_hook_enhancement
Wait for results of restore exec hook executions in Finalizing phase instead of InProgress phase
2024-04-16 15:54:46 +08:00
qiuming
557ed915f3 Merge pull request #7684 from vmware-tanzu/dependabot/github_actions/docker/setup-qemu-action-3
Bump docker/setup-qemu-action from 1 to 3
2024-04-16 10:23:20 +08:00
qiuming
d8e3419754 Merge pull request #7681 from vmware-tanzu/dependabot/github_actions/actions/upload-artifact-4
Bump actions/upload-artifact from 2 to 4
2024-04-16 10:22:43 +08:00
qiuming
1de2bfe310 Merge pull request #7682 from vmware-tanzu/dependabot/github_actions/kentaro-m/auto-assign-action-2.0.0
Bump kentaro-m/auto-assign-action from 1.1.1 to 2.0.0
2024-04-16 10:22:06 +08:00
qiuming
d9651ab882 Merge pull request #7683 from vmware-tanzu/dependabot/github_actions/codecov/codecov-action-4
Bump codecov/codecov-action from 2 to 4
2024-04-16 10:21:18 +08:00
Xun Jiang/Bruce Jiang
6e5b438591 Merge pull request #7685 from vmware-tanzu/dependabot/github_actions/necojackarc/auto-request-review-0.13.0
Bump necojackarc/auto-request-review from 0.7.0 to 0.13.0
2024-04-16 10:08:00 +08:00
Tiger Kaovilai
aa494e8c6f Document plugin release plans as part of roadmap/milestone #6629
Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
2024-04-15 16:32:12 -04:00
dependabot[bot]
61ca69891f Bump necojackarc/auto-request-review from 0.7.0 to 0.13.0
Bumps [necojackarc/auto-request-review](https://github.com/necojackarc/auto-request-review) from 0.7.0 to 0.13.0.
- [Release notes](https://github.com/necojackarc/auto-request-review/releases)
- [Commits](https://github.com/necojackarc/auto-request-review/compare/v0.7.0...v0.13.0)

---
updated-dependencies:
- dependency-name: necojackarc/auto-request-review
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-15 19:55:30 +00:00
dependabot[bot]
5023f5ae26 Bump docker/setup-qemu-action from 1 to 3
Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) from 1 to 3.
- [Release notes](https://github.com/docker/setup-qemu-action/releases)
- [Commits](https://github.com/docker/setup-qemu-action/compare/v1...v3)

---
updated-dependencies:
- dependency-name: docker/setup-qemu-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-15 19:55:27 +00:00
dependabot[bot]
cff5b65ce7 Bump codecov/codecov-action from 2 to 4
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 2 to 4.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v2...v4)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-15 19:55:24 +00:00
dependabot[bot]
08d0c01f75 Bump kentaro-m/auto-assign-action from 1.1.1 to 2.0.0
Bumps [kentaro-m/auto-assign-action](https://github.com/kentaro-m/auto-assign-action) from 1.1.1 to 2.0.0.
- [Release notes](https://github.com/kentaro-m/auto-assign-action/releases)
- [Commits](https://github.com/kentaro-m/auto-assign-action/compare/v1.1.1...v2.0.0)

---
updated-dependencies:
- dependency-name: kentaro-m/auto-assign-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-15 19:55:21 +00:00
dependabot[bot]
61706ee2ea Bump actions/upload-artifact from 2 to 4
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 2 to 4.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v2...v4)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-15 19:55:19 +00:00
Matthieu MOREL
facfb9552f migrating to sdk/resourcemanager/**/arm** from services/**/mgmt/** (#7596)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2024-04-15 09:55:52 -04:00
Wenkai Yin(尹文开)
40b0683dfc Use specific credential rather than the credential chain for Azure
Use specific credential rather than the credential chain for Azure

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2024-04-15 19:27:30 +08:00
allenxu404
28552258ae Wait for results of restore exec hook executions in Finalizing phase instead of InProgress phase
Signed-off-by: allenxu404 <qix2@vmware.com>
2024-04-15 17:49:36 +08:00
qiuming
0e5536370f Merge pull request #7655 from qiuming-best/v1.14-doc
Add maintenance job doc
2024-04-15 16:28:23 +08:00
qiuming
8754e27608 Merge pull request #7678 from eveneast/main
Fix some comments
2024-04-15 16:24:04 +08:00
Ming Qiu
f5e2552c5a Add maintenance job doc
Signed-off-by: Ming Qiu <ming.qiu@broadcom.com>
2024-04-15 07:37:57 +00:00
Wenkai Yin(尹文开)
f3295ccf08 Merge pull request #7666 from reasonerjt/bumpup-to-go1.22-new
Bump up to go1.22
2024-04-15 15:37:32 +08:00
eveneast
d0350960b6 Fix some comments
Signed-off-by: eveneast <qcqs@foxmail.com>
2024-04-15 14:48:20 +08:00
Wenkai Yin(尹文开)
74e355f3c8 Merge pull request #7661 from blackpiglet/merge_csi_ut
Add more UT for the CSI plugins.
2024-04-15 11:59:31 +08:00
Daniel Jiang
1b3fe95980 Bump up golang to v1.22
This commit bumps up the golang for building and testing velero to v1.22

It also updates controller-gen to v0.14.0 to fix an issue under new
versino of go.
More details see https://github.com/golang/go/issues/65637

Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2024-04-14 20:15:51 +08:00
Xun Jiang
d3cc42d577 Change the timeout handling code due to third-party package change
The wait error changed from `timed out waiting for the condition`
to `context deadline exceeded`.

Signed-off-by: Xun Jiang <blackpigletbruce@gmail.com>
2024-04-13 23:27:02 +08:00
Xun Jiang
30995bcbd2 Add more UT for the CSI plugins.
Signed-off-by: Xun Jiang <blackpigletbruce@gmail.com>
2024-04-13 23:22:43 +08:00
Xun Jiang/Bruce Jiang
c888f51817 Merge pull request #7662 from Lyndon-Li/issue-fix-7648
Issue fix 7648: avoid snapshot leak on expose failure
2024-04-12 17:28:27 +08:00
qiuming
43aa89256b Merge pull request #7656 from blackpiglet/csi_doc_change
CSI doc change and remove the CSI feature verifier
2024-04-12 17:12:35 +08:00
Xun Jiang
59eeec268b Update CSI document. Remove the CSI plugin verifier.
Signed-off-by: Xun Jiang <blackpigletbruce@gmail.com>
2024-04-12 13:51:20 +08:00
Wenkai Yin(尹文开)
3c377bc3ec Merge pull request #7630 from reasonerjt/restore-vol-info
Track and persist restore volume info
2024-04-12 11:24:05 +08:00
Wenkai Yin(尹文开)
ab57112347 Merge pull request #7654 from blackpiglet/fix_push_action
Modify the GCP auth method because of the action version update.
2024-04-12 10:50:02 +08:00
Lyndon-Li
dcf760d5f1 issue 7648:avoid snapshot leak on expose failure
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2024-04-12 10:41:39 +08:00
Lyndon-Li
61061d5c83 issue 7648: merge main
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2024-04-12 10:18:02 +08:00
Lyndon-Li
bf03938dd2 issue 7648: don't leak snapshot on failure
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2024-04-11 19:23:57 +08:00
Xun Jiang/Bruce Jiang
f25c154709 Merge pull request #7569 from ywk253100/240326_namespace
Check the existence of the namespaces provided in the "--include-namespaces" option
2024-04-11 19:00:33 +08:00
Daniel Jiang
0a280e5786 Track and persist restore volume info
Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2024-04-11 17:32:18 +08:00
Xun Jiang
9551b8e4c8 Modify the GCP auth method because of the action version update.
Signed-off-by: Xun Jiang <blackpigletbruce@gmail.com>
2024-04-11 14:22:57 +08:00
lyndon-li
500e5aeeca Merge pull request #7653 from qiuming-best/data-mover-restore-parallel
Add data download parallel files download configuration
2024-04-11 13:02:10 +08:00
Ming Qiu
89967c1cb6 Add data download parallel files download configuration
Signed-off-by: Ming Qiu <ming.qiu@broadcom.com>
2024-04-11 02:54:22 +00:00
Xun Jiang/Bruce Jiang
6ef38365ea Merge pull request #7609 from blackpiglet/merge_csi
Merge CSI plugin code.
2024-04-11 10:38:58 +08:00
qiuming
bbb5d7da03 Merge pull request #7640 from Lyndon-Li/data-mover-node-selection-doc
Data mover node selection doc
2024-04-11 10:33:15 +08:00
lyndon-li
218aa8655f Merge pull request #7523 from 27149chen/fix-for-resource-conversion
do not skip unknown gvr at the beginning and get new gr when kind is changed
2024-04-11 10:31:14 +08:00
Xun Jiang/Bruce Jiang
85e8b73d8d Merge pull request #7637 from vmware-tanzu/dependabot/github_actions/google-github-actions/setup-gcloud-2
Bump google-github-actions/setup-gcloud from 0 to 2
2024-04-11 10:00:35 +08:00
Xun Jiang/Bruce Jiang
8df4e6aded Merge branch 'main' into merge_csi
Signed-off-by: Xun Jiang/Bruce Jiang <59276555+blackpiglet@users.noreply.github.com>
2024-04-10 18:54:16 +08:00
Xun Jiang/Bruce Jiang
b91b907f06 Merge pull request #7639 from vmware-tanzu/dependabot/github_actions/docker/setup-buildx-action-3
Bump docker/setup-buildx-action from 1 to 3
2024-04-10 18:45:38 +08:00
Xun Jiang/Bruce Jiang
7935236db0 Merge pull request #7584 from mmorel-35/json-patch/v5
build(deps): bump json-patch to v5.8.0
2024-04-10 18:40:16 +08:00
clonefetch
474dc824e7 chore: fix function names in comment (#7633)
Signed-off-by: clonefetch <c0217@outlook.com>
2024-04-10 15:15:29 +05:30
Xun Jiang
31e140919a Merge CSI plugin code.
Signed-off-by: Xun Jiang <blackpigletbruce@gmail.com>
2024-04-10 14:53:29 +08:00
qiuming
63fe9f1f1f Merge pull request #7646 from qiuming-best/label-action-fix
Modify labels config for label action
2024-04-10 10:41:33 +08:00
Ming Qiu
69def18ccf Modify labels config for label action
Signed-off-by: Ming Qiu <ming.qiu@broadcom.com>
2024-04-09 09:31:50 +00:00
Wenkai Yin(尹文开)
7b3e6a4612 Merge pull request #7634 from ywk253100/240408_periodical_queue
Empty the list before next round of listing
2024-04-09 16:57:26 +08:00
qiuming
c3a3992be5 Merge pull request #7641 from qiuming-best/test-action
Fix labeler action failure
2024-04-09 16:51:26 +08:00
Ming Qiu
836300f583 Fix labeler action failure
Signed-off-by: Ming Qiu <ming.qiu@broadcom.com>
2024-04-09 08:20:21 +00:00
Wenkai Yin(尹文开)
d631517298 Merge pull request #7610 from reasonerjt/restore-vol-info-design
Add design to introduce restore volume info
2024-04-09 15:10:11 +08:00
qiuming
6bd9d4aee4 Merge pull request #7638 from vmware-tanzu/dependabot/github_actions/actions/setup-go-5
Bump actions/setup-go from 4 to 5
2024-04-09 11:23:10 +08:00
qiuming
a4fc81df42 Merge pull request #7636 from vmware-tanzu/dependabot/github_actions/actions/labeler-5
Bump actions/labeler from 3 to 5
2024-04-09 11:21:41 +08:00
qiuming
4697ed9a50 Merge pull request #7635 from vmware-tanzu/dependabot/github_actions/docker/login-action-3
Bump docker/login-action from 2 to 3
2024-04-09 11:20:54 +08:00
Lyndon-Li
080a61b43d data mover node selection doc
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2024-04-09 10:23:02 +08:00
dependabot[bot]
9274f4b664 Bump docker/setup-buildx-action from 1 to 3
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 1 to 3.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/v1...v3)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-09 02:03:14 +00:00
dependabot[bot]
58838fc5c6 Bump actions/setup-go from 4 to 5
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 4 to 5.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](https://github.com/actions/setup-go/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-09 02:03:10 +00:00
dependabot[bot]
c36dc9263e Bump google-github-actions/setup-gcloud from 0 to 2
Bumps [google-github-actions/setup-gcloud](https://github.com/google-github-actions/setup-gcloud) from 0 to 2.
- [Release notes](https://github.com/google-github-actions/setup-gcloud/releases)
- [Changelog](https://github.com/google-github-actions/setup-gcloud/blob/main/CHANGELOG.md)
- [Commits](https://github.com/google-github-actions/setup-gcloud/compare/v0...v2)

---
updated-dependencies:
- dependency-name: google-github-actions/setup-gcloud
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-09 02:03:09 +00:00
dependabot[bot]
268978d2ab Bump actions/labeler from 3 to 5
Bumps [actions/labeler](https://github.com/actions/labeler) from 3 to 5.
- [Release notes](https://github.com/actions/labeler/releases)
- [Commits](https://github.com/actions/labeler/compare/v3...v5)

---
updated-dependencies:
- dependency-name: actions/labeler
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-09 02:03:04 +00:00
dependabot[bot]
e0a690c402 Bump docker/login-action from 2 to 3
Bumps [docker/login-action](https://github.com/docker/login-action) from 2 to 3.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-09 02:03:02 +00:00
qiuming
b755433f26 Merge pull request #7594 from mmorel-35/dependabot/github-actions
dependabot: support github-actions updates
2024-04-09 10:02:37 +08:00
Wenkai Yin(尹文开)
91774af54d Empty the list before next round of listing
Empty the list before next round of listing

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2024-04-08 18:57:29 +08:00
Wenkai Yin(尹文开)
54462c4f7b Merge pull request #7631 from ywk253100/240408_codecoverage
Upgrade codecov action to v4
2024-04-08 17:09:04 +08:00
Wenkai Yin(尹文开)
6c215d7915 Upgrade codecov action to v4
Upgrade codecov action to v4

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2024-04-08 16:31:24 +08:00
Shubham Pampattiwar
f85f87759c add design for Extending VolumePolicies to support more actions (#6956)
add changelog



fix codespell



update codeblocks for language syntax rendering



redo design



update volume policies design



add notes and modify design based on community feedback



add future scope

add bia csi snapshot action details



add volumehelper package in implementation section



fix codespell



introduce volumehelper interface and volumepolicyhelper struct

address feedback regarding volumehelper interface and its funcs



fix codespell

Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>
2024-04-03 11:38:42 -04:00
Xun Jiang/Bruce Jiang
ff45680430 Merge pull request #7622 from Lyndon-Li/issue-fix-7246
Issue 7246: document the behavior for repo snapshot deletion
2024-04-03 15:05:58 +08:00
Lyndon-Li
d66d00a82c issue 7246: document the behavior for repo snapshot deletion
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2024-04-03 13:53:24 +08:00
Xun Jiang/Bruce Jiang
8de622e37c Merge pull request #7618 from Lyndon-Li/pin-kopia-to-latest
Pin kopia to the latest commit
2024-04-03 13:21:00 +08:00
Lyndon-Li
0392e31c3d pin kopia to the latest commit
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2024-04-03 11:01:52 +08:00
Xun Jiang/Bruce Jiang
c2d267d894 Merge pull request #7611 from qiuming-best/datamover-cancel
Fix cancel bug && adjust StartTimestamp for data mover
2024-04-03 10:49:06 +08:00
Ming Qiu
a2c1a5a113 Fix cancel bug && adjust StartTimestamp for data mover
Signed-off-by: Ming Qiu <ming.qiu@broadcom.com>
2024-04-03 02:21:26 +00:00
qiuming
dcd62b908f Merge pull request #7617 from Lyndon-Li/issue-fix-7583
Issue 7583: set backupName optional for Restore CRD
2024-04-03 10:19:24 +08:00
qiuming
c7c59db2a2 Merge pull request #7604 from Lyndon-Li/resource-consumption-in-doc
Add resource consumption in fs-backup and data mover doc
2024-04-03 10:06:04 +08:00
Lyndon-Li
711609e00e issue 7583: set backupName optional for Restore CRD
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2024-04-03 10:00:55 +08:00
Daniel Jiang
ab5ee7b6ff Add design to introduce restore volume info
Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2024-04-02 14:58:07 +08:00
Wenkai Yin(尹文开)
d974cd3f29 Merge pull request #7607 from blackpiglet/modify_uninstall_document
Modify the uninstall.md document.
2024-04-02 09:19:23 +08:00
Xun Jiang
07ff562209 Modify the uninstall.md document.
Signed-off-by: Xun Jiang <blackpigletbruce@gmail.com>
2024-04-01 19:18:56 +08:00
Lyndon-Li
49cd34535e add resource consumption in fs-backup and data mover doc
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2024-04-01 18:29:41 +08:00
qiuming
3465e8cddf Merge pull request #7558 from qiuming-best/uploader-fast-fail
Fix snapshot leak for backup
2024-04-01 15:24:34 +08:00
lyndon-li
c9b41ba9d2 Merge pull request #7572 from webwurst/patch-1
Link to merged design document
2024-04-01 15:04:18 +08:00
lyndon-li
de2cb525aa Merge pull request #7602 from alingse/fix-append-all-when-range-it
Fix: append all slice data when range for it
2024-04-01 14:07:13 +08:00
lyndon-li
f24eabd8b8 Merge pull request #7603 from Lyndon-Li/fix-ut-fail
Fix ut fail
2024-04-01 13:55:16 +08:00
qiuming
9b705033b2 Merge pull request #7567 from danfengliu/debug-ns-deletion-hung-issue
Delete ns using kubectl
2024-04-01 13:31:55 +08:00
Lyndon-Li
90e9efc544 fix ut fail
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2024-04-01 13:28:37 +08:00
Xun Jiang/Bruce Jiang
58effeb879 Merge pull request #7566 from kaovilai/biaOperationErrorsPluginName
Add confirm flag to velero plugin add
2024-04-01 12:47:53 +08:00
Xun Jiang/Bruce Jiang
75962653c5 Merge pull request #7554 from blackpiglet/7357_fix
Support update the backup VolumeInfos by the Async ops result.
2024-04-01 11:05:33 +08:00
Ming Qiu
3d5282e12b Fix snapshot leak for backup
Signed-off-by: Ming Qiu <ming.qiu@broadcom.com>
2024-04-01 03:02:24 +00:00
danfengl
b605f9dbd5 Delete ns using kubectl
Signed-off-by: danfengl <danfengl@vmware.com>
2024-04-01 02:40:26 +00:00
alingse
2ef22c082f Fix: append all slice data when range for it
Signed-off-by: alingse <alingse@foxmail.com>
2024-04-01 00:11:50 +08:00
Matthieu MOREL
b52b0a9650 dependabot: support github-actions updates
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2024-03-30 14:05:05 +01:00
Matthieu MOREL
a9085033b2 build(deps): bump json-patch to v5.8.0
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2024-03-29 14:08:33 +00:00
Matthieu MOREL
3d6dab0708 lint(ginkgolinter): expect (not)to HaveOccurred (#7565)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2024-03-29 10:05:48 -04:00
lyndon-li
67bd694d1b Merge pull request #7437 from Lyndon-Li/issue-fix-7036
Issue 7036: node selection for data mover backup
2024-03-29 17:04:40 +08:00
lyndon-li
01ef3a3e62 Merge pull request #7589 from Lyndon-Li/kopia-index-compaction-during-maintenance
Kopia: index compaction during maintenance
2024-03-29 15:53:57 +08:00
Xun Jiang/Bruce Jiang
d982058d3b Merge pull request #7588 from ywk253100/240329_ut
Improve the UT code coverage for pkg/podvolume
2024-03-29 15:36:54 +08:00
Lyndon-Li
18976c0a62 kopia: index compaction during maintenance
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2024-03-29 15:24:47 +08:00
qiuming
beb221b15c Merge pull request #7587 from blackpiglet/move_actions
Add actions directory for backup and restore.
2024-03-29 15:10:38 +08:00
Wenkai Yin(尹文开)
039fc20b65 Improve the UT code coverage for pkg/podvolume
Improve the UT code coverage for pkg/podvolume

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2024-03-29 15:02:30 +08:00
Xun Jiang
5462035469 Delete the unneeded pvRestorer action in
handleSkippedPVHasRetainPolicy

According to comment, calling executePVAction aims to reset PV's
claimRef, but the reset logic was moved into resetVolumeBindingInfo
since release-1.4.

Signed-off-by: Xun Jiang <blackpigletbruce@gmail.com>
2024-03-29 14:12:12 +08:00
Xun Jiang
08c93b4145 Add actions directory for backup and restore.
Signed-off-by: Xun Jiang <blackpigletbruce@gmail.com>
2024-03-29 13:21:50 +08:00
lyndon-li
81da8e67c7 Merge pull request #7585 from Lyndon-Li/issue-fix-7535
Issue fix 7535
2024-03-29 10:48:48 +08:00
Lyndon-Li
9b74643b3a Merge branch 'main' into issue-fix-7535 2024-03-29 10:28:53 +08:00
Wenkai Yin(尹文开)
a3eeb7dad9 Merge pull request #7571 from ywk253100/240322_concurrency
Improve the concurrency for PVBs in different pods
2024-03-29 10:26:26 +08:00
Lyndon-Li
070e99da3d issue 7535: don't exclude resources in MustHave list during restore
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2024-03-29 10:14:54 +08:00
Wenkai Yin(尹文开)
8d10b68eda Improve the concurrency for PVBs in different pods
Improve the concurrency for PVBs in different pods

Fixes #6676

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2024-03-29 09:58:50 +08:00
Xun Jiang
b06d7a467f Support update the backup VolumeInfos by the Async ops result.
1. Add PutBackupVolumeInfos method.
2. Add CompletionTimestamp in VolumeInfo.
3. Add Size in SnapshotDataMovementInfo.
4. Update CompletionTimpstmap, SnapshotHandle, RetainedSnapshot
   and Size in VolumeInfo on DataUpload Operation completes.

Signed-off-by: Xun Jiang <blackpigletbruce@gmail.com>
2024-03-28 19:52:44 +08:00
Lyndon-Li
65e8ddb89b Merge branch 'main' into issue-fix-7535 2024-03-28 18:37:39 +08:00
Xun Jiang/Bruce Jiang
d640cc16ab Merge pull request #7573 from mmorel-35/golangci-lint-exclude-rules
golangci-lint: use exclude-rules instead of skip-files and skip-dirs
2024-03-28 16:39:40 +08:00
qiuming
e80bdcf2e2 Merge pull request #7451 from qiuming-best/maintenance-job
Add repository maintenance job
2024-03-28 14:47:15 +08:00
Ming Qiu
8d63c76c92 Add maintenance job
Signed-off-by: Ming Qiu <mqiu@vmware.com>
2024-03-28 03:22:06 +00:00
Matthieu MOREL
ef04ef6361 golangci-lint: use exclude-rules instead of skip-files and skip-dirs
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2024-03-27 20:17:34 +00:00
Matthieu MOREL
3c704ba1b1 linter(testifylint): use Len or Empty for arrays testing (#7555)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2024-03-27 14:16:58 -04:00
Xun Jiang/Bruce Jiang
7a9d7a83ed Update the Velero CSI version in csi.md (#7570)
Describe how to support Velero with Kopia,
when ReadOnlyRootFilesystem is enabled.

Signed-off-by: Xun Jiang <blackpigletbruce@gmail.com>
2024-03-27 14:14:34 -04:00
Tobias Bradtke
53215ec2cd Link to merged design document
Signed-off-by: Tobias Bradtke <webwurst@gmail.com>
2024-03-27 16:03:45 +01:00
Wenkai Yin(尹文开)
35d2534e19 Check the existence of the namespaces provided in the "--include-namespaces" option
Check the existence of the namespaces provided in the "--include-namespaces" opt
ion and reports validation error if not found

Fixes #7431

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2024-03-27 18:37:03 +08:00
Wenkai Yin(尹文开)
cd0632c5db Merge pull request #7549 from ywk253100/240318_cert
Support certificate-based authentication for Azure
2024-03-27 18:15:32 +08:00
lyndon-li
a2c87fc8b2 Merge pull request #7438 from Lyndon-Li/batch-delete-snapshot
Issue 7281: batch delete snapshot
2024-03-27 13:31:07 +08:00
Lyndon-Li
d538fc87ad batch delete snapshot
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2024-03-27 11:21:51 +08:00
lyndon-li
25188248d6 Merge pull request #7559 from Lyndon-Li/open-kopia-with-no-index-change
Bump up Kopia to v0.16.0 and open kopia repo with no index change
2024-03-26 13:08:27 +08:00
Tiger Kaovilai
3c243653c4 Add confirm flag to velero plugin add
Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
2024-03-26 05:56:11 +07:00
Shubham Pampattiwar
f1f7f04233 Merge pull request #7557 from kaovilai/detectPodmanEmulation
Add notes for podman / colima usage on macOS
2024-03-25 06:15:09 -07:00
Lyndon-Li
5d48e36b55 open kopia with no index change
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2024-03-25 18:14:43 +08:00
Lyndon-Li
929731cf8b issue 7535: don't exclude resources in MustHave list during restore
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2024-03-25 16:23:34 +08:00
lou
19e5f38cbc update after review
Signed-off-by: lou <alex1988@outlook.com>
2024-03-25 12:42:28 +08:00
Tiger Kaovilai
8f8bc9fd9e Add notes for podman / colima usage on macOS
Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
2024-03-25 11:29:16 +07:00
qiuming
24941b4f15 Merge pull request #7375 from qiuming-best/repo-maintenance
Add design for repository maintenance job
2024-03-25 10:50:07 +08:00
qiuming
365423d220 Merge pull request #7512 from qiuming-best/support-parallel-restore
Make parallel restore configurable
2024-03-25 10:49:40 +08:00
Wenkai Yin(尹文开)
4c95edd8ba Support certificate-based authentication for Azure
Support certificate-based authentication for Azure

Fixes #6735

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2024-03-21 15:59:37 +08:00
Wenkai Yin(尹文开)
13f4efdbc9 Merge pull request #7544 from blackpiglet/refactor_native_snapshot
Refactor the native snapshot definition code.
2024-03-21 09:22:37 +08:00
Xun Jiang
efb94ae610 Refactor the native snapshot definition code.
Signed-off-by: Xun Jiang <blackpigletbruce@gmail.com>
2024-03-20 15:38:07 +08:00
Xun Jiang/Bruce Jiang
67c06e613a Merge pull request #7504 from allenxu404/pv-patch-in-finalizing-phase
Patch newly dynamically provisioned PV with volume info to restore PV's custom setting
2024-03-20 09:56:03 +08:00
qiuming
922653e97d Merge pull request #7530 from zhouhaoA1/fix-kindfor
Fix gvr `Group` and `Version` field missing in `KindFor` method
2024-03-19 17:03:20 +08:00
Ming Qiu
64a3f2aa3a Make parallel restore configurable
Signed-off-by: Ming Qiu <mqiu@vmware.com>
2024-03-19 15:15:47 +08:00
allenxu404
67b5e82d49 Patch newly dynamically provisioned PV with volume info to restore custom setting of PV
Signed-off-by: allenxu404 <qix2@vmware.com>
2024-03-18 17:32:35 +08:00
Lyndon-Li
dccde10368 issue-7036: make affinity as list and take 1st one
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2024-03-18 11:25:27 +08:00
lyndon-li
6ec1701b27 Merge pull request #7383 from Lyndon-Li/data-mover-node-selection
Design for data mover node selection
2024-03-18 11:00:44 +08:00
zhouhao
7ce35ece4a Issue 7529: fix gvr Group and Version field missing in KindFor method
Signed-off-by: zhouhao <zhouhao@cmss.chinamobile.com>
2024-03-15 10:07:03 +08:00
dependabot[bot]
b3a53ee8df Bump google.golang.org/protobuf from 1.31.0 to 1.33.0 (#7518)
Bumps google.golang.org/protobuf from 1.31.0 to 1.33.0.

---
updated-dependencies:
- dependency-name: google.golang.org/protobuf
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-14 11:10:39 -04:00
lyndon-li
6c0cb4bf89 Merge pull request #7521 from qiuming-best/data-mover-empty-dir
Fix DataDownload fails during restore for empty PVC workload
2024-03-14 16:07:43 +08:00
lou
f25004cd9c fix changelog
Signed-off-by: lou <alex1988@outlook.com>
2024-03-14 15:29:57 +08:00
lou
25c006f536 add changelog
Signed-off-by: lou <alex1988@outlook.com>
2024-03-14 15:27:44 +08:00
Ming Qiu
74ffa50bb4 Fix DataDownload fails during restore for empty PVC workload
Signed-off-by: Ming Qiu <mqiu@vmware.com>
2024-03-14 07:22:59 +00:00
lou
00b9869369 do not ignore unknown gvr at the beginning and get new gr when kind is changed
Signed-off-by: lou <alex1988@outlook.com>
2024-03-14 15:21:00 +08:00
qiuming
5d08d62144 Merge pull request #7515 from blackpiglet/7494_fix
Check whether the VolumeSnapshot's source PVC is nil before using it
2024-03-14 11:28:29 +08:00
Lyndon-Li
2f9d8ae4bd design for data mover node selection
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2024-03-14 09:55:32 +08:00
Xun Jiang
f8deea1617 Skip populate VolumeInfo for data-moved PV when CSI is not enabled.
Signed-off-by: Xun Jiang <blackpigletbruce@gmail.com>
2024-03-13 15:47:43 +08:00
Xun Jiang
4d01c7ffa3 Check whether the VolumeSnapshot's source PVC is nil before using it.
Signed-off-by: Xun Jiang <blackpigletbruce@gmail.com>
2024-03-13 11:21:48 +08:00
Wenkai Yin(尹文开)
79e9e31d8d Merge pull request #7489 from ywk253100/240229_lib
Bump up the versions of several Kubernetes-related libs
2024-03-12 16:12:56 +08:00
Wenkai Yin(尹文开)
84c1eca66c Merge pull request #7497 from qiuming-best/resource-polices-log-adjust
Adjust resource policies logic in BackupPodVolumes
2024-03-08 14:21:53 +08:00
Ming Qiu
6e76e03a8b Adjust resource policies log
Signed-off-by: Ming Qiu <mqiu@vmware.com>
2024-03-07 05:43:28 +00:00
David Hulick
4d548612d4 docs: clarify upgrade instructions doc (#7486)
Signed-off-by: David Hulick <dave.hulick@gmail.com>
2024-03-05 17:51:50 -05:00
Wenkai Yin(尹文开)
8752c3a820 Bump up the versions of severel Kubernetes-related libs
Bump up the versions of severel Kubernetes-related libs

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2024-03-05 13:09:38 +08:00
lyndon-li
f274fe7bfc Merge pull request #7488 from Lyndon-Li/issue-fix-7391
Issue 7391:remove the default constraint for node-agent pods
2024-03-04 13:18:17 +08:00
Lyndon-Li
d558e49288 issue 7391:remove the default constraint for node-agent pods
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2024-03-04 11:01:02 +08:00
lyndon-li
97d276caa7 Merge pull request #7452 from Lyndon-Li/issue-fix-7211
Issue 7211: support concatenate objects
2024-03-04 10:34:37 +08:00
Xun Jiang/Bruce Jiang
79c55fba24 Merge pull request #7484 from dbbaskette/main
Updated Zoom Link to Broadcom Zoom
2024-03-04 09:26:22 +08:00
Dan Baskette
599faae25b Updated Zoom Link to Broadcom Zoom
Signed-off-by: Dan Baskette <dbbaskette@gmail.com>
2024-03-01 10:36:10 -05:00
Ming Qiu
ebd90bbe36 Add design for repository maintenance job
Signed-off-by: Ming Qiu <mqiu@vmware.com>
2024-03-01 14:57:04 +08:00
Xun Jiang/Bruce Jiang
157984279b Merge pull request #7472 from blackpiglet/7045_fix
Skip pvb creation when pvc excluded
2024-03-01 10:09:37 +08:00
Daniel Jiang
edd0d3b073 Merge pull request #7377 from allenxu404/restore-finalization-implementation
Add the finalization phase to the restore workflow
2024-02-29 17:21:25 +08:00
allenxu404
2b8bb871d3 Add the finalization phase to the restore workflow
Signed-off-by: allenxu404 <qix2@vmware.com>
2024-02-29 13:51:45 +08:00
qiuming
e727d29bcd Merge pull request #7467 from blackpiglet/7464_fix
Modify the label used by the restore CLI to filter the PVR.
2024-02-29 10:07:36 +08:00
danfeng
512fe0dabd Merge pull request #7442 from danfengliu/using-zfs-for-vanilla-cluster
using zfs for vanilla cluster test
2024-02-27 18:02:18 +08:00
Shahaf Bahar
36d58943cd Skip pvb creation when pvc excluded
Signed-off-by: Shahaf Bahar <sbahar@redhat.com>
2024-02-27 16:30:29 +08:00
danfengl
7c50c3cb8c using zfs for vanilla cluster test
Signed-off-by: danfengl <danfengl@vmware.com>
2024-02-27 06:39:33 +00:00
Xun Jiang
bb4a62f3a7 Modify the label used by the restore CLI to filter the PVR.
Signed-off-by: Xun Jiang <blackpigletbruce@gmail.com>
2024-02-26 10:41:51 +08:00
danfeng
82f84814f5 Merge pull request #7396 from blackpiglet/backup_volumeinfo_e2e
Add E2E test cases for backup VolumeInfo feature.
2024-02-23 15:26:49 +08:00
Xun Jiang
ef5c2ed805 Modify according to comments.
Signed-off-by: Xun Jiang <blackpigletbruce@gmail.com>
2024-02-22 19:03:20 +08:00
Xun Jiang
effbcba521 Add E2E test cases for backup VolumeInfo feature.
Signed-off-by: Xun Jiang <blackpigletbruce@gmail.com>
2024-02-22 16:18:55 +08:00
lyndon-li
174c10fa8a Merge pull request #7458 from Lyndon-Li/issue-fix-7308
Issue 7308: change the data path requeue time to 5 second
2024-02-22 15:58:14 +08:00
Lyndon-Li
e1bcdf0f63 issue 7308: change the data path requeue time to 5 second
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2024-02-22 10:10:33 +08:00
Lyndon-Li
24c4eb075f issue 7211: support concatenate objects
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2024-02-21 17:34:04 +08:00
Wenkai Yin(尹文开)
74bf4c3d80 Merge pull request #7443 from ywk253100/240219_credential
Don't return error when no credential file found
2024-02-21 16:03:55 +08:00
Xun Jiang/Bruce Jiang
2a1ae0ec0a Merge pull request #7445 from allenxu404/backup-last-status-fixed
Adjust the logic for the backup_last_status metric to stop incorrectly incrementing over time
2024-02-21 13:50:46 +08:00
allenxu404
84fb88c19c Adjust the logic for the backup_last_status metrics to stop incorrectly incrementing over time
Signed-off-by: allenxu404 <qix2@vmware.com>
2024-02-21 13:21:03 +08:00
Wenkai Yin(尹文开)
d45b313f07 Merge pull request #7439 from draghuram/cloudcasa
Update CloudCasa description in adopters list.
2024-02-20 09:46:07 +08:00
Wenkai Yin(尹文开)
f6383916a2 Don't return error when no credential file found
Don't return error when no credential file found

Fixes #7395

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2024-02-19 17:02:30 +08:00
danfeng
b2f1588d2e Merge pull request #7392 from danfengliu/fix-wrong-usage-of-global-velerocfg-var-enhance
Fix wrong usage of global velerocfg var enhance
2024-02-19 12:14:20 +08:00
qiuming
56af62ba78 Merge pull request #7406 from blackpiglet/fix_velero_repo_get_bug
Fix the `velero repo get` nil pointer issue.
2024-02-19 10:54:19 +08:00
Raghuram Devarakonda
5c7c61c4d3 Update CloudCasa description in adopters list.
Signed-off-by: Raghuram Devarakonda <draghuram@gmail.com>
2024-02-18 12:18:40 -05:00
Lyndon-Li
57879357fc Merge branch 'main' into batch-delete-snapshot 2024-02-18 14:54:01 +08:00
Lyndon-Li
32d92ca964 batch delete snapshot
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2024-02-18 14:49:21 +08:00
Lyndon-Li
7bf7fb9fc1 issue 7036: fail early by peek expose
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2024-02-18 14:34:35 +08:00
Xun Jiang
27348ca039 Fix the velero repo get nil pointer issue.
Signed-off-by: Xun Jiang <blackpigletbruce@gmail.com>
2024-02-08 14:25:29 +08:00
danfengl
c9ba808bf1 Fix wrong usage of global velerocfg var, further PR
Signed-off-by: danfengl <danfengl@vmware.com>
2024-02-07 02:32:20 +00:00
danfengl
b0956322b9 Fix wrong usage of global varaible VeleroCfg
Signed-off-by: danfengl <danfengl@vmware.com>
2024-02-07 02:32:20 +00:00
Xun Jiang/Bruce Jiang
3b8370e13c Merge pull request #7353 from kaovilai/e2e-updates
E2E usability updates
2024-02-07 10:05:02 +08:00
Xun Jiang/Bruce Jiang
d24298e063 Merge pull request #6085 from kaovilai/build-image-matches-platform
Make build-image Dockerfile multi-platform
2024-02-07 09:47:35 +08:00
Tiger Kaovilai
a5c72a4866 BackupRepositories associated with a BSL are invalidated when BSL is (re-)created. (#7380)
* Add BackupRepositories invalidation on BSL Create
Simplify comments

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>

* Simplify

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>

---------

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
2024-02-06 10:13:30 -05:00
Wenkai Yin(尹文开)
a9e80d585a Merge pull request #7342 from ywk253100/240122_azure
Put credential related config into getStorageCredentials function
2024-02-06 13:34:51 +08:00
Tiger Kaovilai
2375f78d0f ppc64le fix for protocolbuffers
Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
2024-02-05 23:36:18 -05:00
Tiger Kaovilai
5adb7d0def Make arch more flexible
Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
2024-02-05 22:24:57 -05:00
Tiger Kaovilai
b9f3f410e7 Make build-image arm64 compatible
Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
2024-02-05 21:12:32 -05:00
Wenkai Yin(尹文开)
9649619a6f Put credential related config into getStorageCredentials function
Put credential related config into getStorageCredentials function

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2024-02-05 16:09:15 +08:00
Lyndon-Li
9a907a21f2 issue-7036:data mover load affinties
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2024-02-05 14:13:10 +08:00
Tiger Kaovilai
b1d95cf2aa Set GOBIN so Makefile don't modify $PATH on go install Fix realPath resolving when cloud credentials is prefixed by ~ for home dir Use ~/.docker/config.json if REGISTRY_CREDENTIAL_FILE not defined and skip step if does not exists since it is optional
Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>

Set `GOBIN` so Makefile don't modify $PATH on `go install`
Fix realPath resolving when cloud credentials is prefixed by `~` for home dir
Use `~/.docker/config.json` if REGISTRY_CREDENTIAL_FILE not defined and skip step if does not exists since it is optional

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>

Add kind testdata storageclass

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>

Add kind testdata storageclass

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>

log `Start to install Azure VolumeSnapshotClass ...` only on azure when csi is enabled

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>

Add BSL_CONFIG example and notes

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>

Makefile: Set `GOBIN` for `_output/...`

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>

README spacing

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>

StandbyClusterObjectStoreProvider typo

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>

Specify velero namespace during get/delete command

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>

Use object stores rather than cloudProvider for bucket queries

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>

Remove debug print

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>

simplify NS get changes, add velero NS to `DeleteBackupResource`

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>

Skip file system backups on kind which uses hostPath volumes

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>

Add StorageClass change test to PR kind e2e

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>

Add more tests to pr

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>

Add NS mapping to PR e2e

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>

Add `SKIP_KIND` to some jobs containing volumes

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>

Remove kind from kibishii tests

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>

Label volume resource policies as restic, skip restic/snapshot tests, add more tests

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>

TTLTest is a snapshot test

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>

Remove non working tests

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>

Resolve https://github.com/vmware-tanzu/velero/pull/7353#issuecomment-1925660077

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>

address https://github.com/vmware-tanzu/velero/pull/7353/files#r1477218762

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>

Address https://github.com/vmware-tanzu/velero/pull/7353#issuecomment-1923414840

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
2024-02-04 22:17:37 -05:00
Daniel Jiang
2f25c25908 Merge pull request #7317 from allenxu404/restore-finalizing-design
Design for adding the finalization phase to the restore workflow
2024-02-02 13:35:32 +08:00
danfeng
99e0c483c7 Merge pull request #7297 from danfengliu/add-irsa-for-eks-pipeline
Support IRSA as credential in one of  nightly EKS pipelines
2024-02-02 12:37:22 +08:00
Daniel Jiang
cc9c954d8f Merge pull request #7374 from reasonerjt/bypass-irsa-kopia
Force to Credentials file when IRSA is configured
2024-02-02 11:26:37 +08:00
danfengl
72438b7319 Support IRSA for data mover pipeline
Signed-off-by: danfengl <danfengl@vmware.com>
2024-02-02 02:04:26 +00:00
Wenkai Yin(尹文开)
b509df5172 Upgrade the version of go plugin related libs/tools (#7373)
Upgrade the version of go plugin related libs/tools

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2024-02-01 13:02:42 -05:00
Daniel Jiang
30728c248c Respect the config in BSL when IRSA is configured
This commit makes sure when kopia connects to the repository the
crendentials file specified in BSL.spec.config has the higher priority over
Pod Environment credentials when IRSA is configured.

Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2024-02-01 16:33:10 +08:00
allenxu404
8f84f50711 Include the design for adding the finalization phase to the restore workflow
Signed-off-by: allenxu404 <qix2@vmware.com>
2024-02-01 14:44:25 +08:00
Xun Jiang/Bruce Jiang
08a020ebcd Merge pull request #7370 from blackpiglet/add_uploader_config_for_schedule
Add `ParallelFilesUpload` for schedule creation.
2024-01-31 11:22:17 +08:00
Xun Jiang
7aaf62442a Add ParallelFilesUpload for schedule creation.
Modify restore-helper print information.

Signed-off-by: Xun Jiang <blackpigletbruce@gmail.com>
2024-01-31 07:52:11 +08:00
qiuming
b30a679e5b Merge pull request #7368 from qiuming-best/bsl-bug-fix
Fix server start failure when no default BSL
2024-01-30 16:26:45 +08:00
Ming Qiu
5fc8b3f426 Fix server start failure when no default BSL
Signed-off-by: Ming Qiu <mqiu@vmware.com>
2024-01-30 06:09:15 +00:00
danfengl
df585053e7 Add a new EKS pipeline with IRSA as credential
Signed-off-by: danfengl <danfengl@vmware.com>
2024-01-26 02:17:21 +00:00
Daniel Jiang
1034d6aee0 Merge pull request #7349 from ywk253100/240124_informer_main
[cherry-pick]Check whether the API resource exists before creating the informer cache
2024-01-24 14:50:51 +08:00
Wenkai Yin(尹文开)
c8ad69ab04 Check whether the API resource exists before creating the informer cache
Check whether the API resource exists before creating the informer cache

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2024-01-24 12:41:00 +08:00
Shubham Pampattiwar
760930282a Merge pull request #6939 from anarnold97/Typo-in-csi-snapshot-data-movement
A small typo duplicated csi-snapshot-data-movement.md in main and v.1.12
2024-01-23 09:46:47 -08:00
Wenkai Yin(尹文开)
7969c694d7 Merge pull request #7340 from ywk253100/240122_log_error_main
[cherry-pick]Log the error got from the discovery helper
2024-01-23 10:00:05 +08:00
Wenkai Yin(尹文开)
673bfefd45 Log the error got from the discovery helper
Log the error got from the discovery helper

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2024-01-22 15:24:53 +08:00
Tiger Kaovilai
270b1de6a1 Do not attempt restore resource with no available GVK in cluster (#7322)
Check for GVK before attempting restore.

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
2024-01-22 09:50:13 +08:00
Xun Jiang/Bruce Jiang
a81e049d36 Merge pull request #7334 from ywk253100/240119_debug
Specify the Kind explicitly in the API resource
2024-01-19 13:51:13 +08:00
Wenkai Yin(尹文开)
427a254136 Specify the Kind explicitly in the API resource
Specify the Kind explicitly in the API resource to avoid wrong Kind conversion

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2024-01-19 12:51:56 +08:00
Shubham Pampattiwar
33bc0f1acf Merge pull request #7331 from ywk253100/240118_release_note_main
[cherry-pick]Add release note for the informer cache memory consumption
2024-01-18 10:01:27 -08:00
Shubham Pampattiwar
c9b1f1c23e Merge pull request #7332 from blackpiglet/update_document
Modify S3ForcePathStyle description.
2024-01-18 10:00:27 -08:00
Xun Jiang
91abc93087 Modify S3ForcePathStyle description.
And cross-version link for CSI snapshot data movement page.

Signed-off-by: Xun Jiang <blackpigletbruce@gmail.com>
2024-01-18 20:51:30 +08:00
Wenkai Yin(尹文开)
bc526b99b1 Add release note for the informer cache memory consumption
Add release note for the informer cache memory consumption

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2024-01-18 15:29:21 +08:00
Xun Jiang/Bruce Jiang
3ac48a43c2 Merge pull request #7329 from kart2/uk/spell-check
fix typo maintenance of log message
2024-01-18 14:25:50 +08:00
Daniel Jiang
a176e6a73a Merge pull request #7326 from ywk253100/240118_informer_main
[cherry-pick]Create informer per resources to avoid huge memory consumption
2024-01-18 13:17:00 +08:00
Karthick Udayakumar
198fbf6873 fix typo maintenance of log message
Signed-off-by: Karthick Udayakumar <kudayakumar@vmware.com>
2024-01-17 22:30:41 -05:00
Wenkai Yin(尹文开)
956248e8a6 Create informer per resources to avoid huge memory consumption
Create informer per resources to avoid huge memory consumption

Fixes #7323

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2024-01-18 10:47:00 +08:00
Shubham Pampattiwar
6a4c661735 Merge pull request #7307 from guikcd/aws_sdk_upgrade 2024-01-17 16:25:38 -08:00
Xun Jiang/Bruce Jiang
cbe5a36a3c Merge pull request #7254 from learner0810/reduce-backup-deepCopy
Returns directly when backup status is BackupPhaseFailedValidation No need for DeepCopy
2024-01-17 21:41:24 +08:00
Xun Jiang/Bruce Jiang
f66aa9f3b3 Merge pull request #7284 from learner0810/fix-item-operation-timeout-explain
Update itemOperationTimeout Default Timeout Note
2024-01-17 14:58:15 +08:00
Guillaume Delacour
373b24e2c1 Upgrade AWS SDK
Signed-off-by: Guillaume Delacour <delacoug@amazon.com>
2024-01-16 23:35:33 +01:00
Xun Jiang/Bruce Jiang
2caba3efb9 Merge pull request #7311 from ywk253100/240112_qps
Increase the k8s client QPS/burst
2024-01-15 11:21:35 +08:00
Wenkai Yin(尹文开)
d676bfde22 Increase the k8s client QPS/burst
Increase the k8s client QPS/burst to avoid throttling request errors

Fixes #7127
Fixes #3191

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2024-01-12 15:02:05 +08:00
Wenkai Yin(尹文开)
e498ea99a3 Merge pull request #7295 from josemarevalo/main
Add CRD name to error message when it is not ready to use
2024-01-12 14:59:48 +08:00
lyndon-li
d412854259 Merge pull request #7279 from blackpiglet/fix_7268
Add detail for parameter s3ForcePathStyle in MinIO page.
2024-01-11 12:25:29 +08:00
Wenkai Yin(尹文开)
09af92c54f Merge pull request #7300 from ywk253100/240110_changelog
Add changelog for v1.13.0
2024-01-10 16:03:47 +08:00
Wenkai Yin(尹文开)
ac4c9ed919 Add changelog for v1.13.0
Add changelog for v1.13.0

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2024-01-10 13:36:51 +08:00
danfeng
b39d91aea3 Merge pull request #7296 from danfengliu/fix-nightly-informer-cache-param-issue
Fix nightly issue of missing param WithoutDisableInformerCacheParam during Velero installation
2024-01-10 13:04:09 +08:00
danfengl
a9c820c9d6 Fix nightly issue of missing param WithoutDisableInformerCacheParam during Velero installation
Signed-off-by: danfengl <danfengl@vmware.com>
2024-01-10 02:57:44 +00:00
Daniel Jiang
3b82395ee1 Merge pull request #7294 from ywk253100/240109_informer_cache
Make "disable-informer-cache" option false(enabled) by default to keep it consistent with the help message
2024-01-10 10:57:21 +08:00
Jose Arevalo
0b307ca035 Add CRD name to error message when it is not ready to use
When debugging this error it is currently hard to identify what
CRD is causing the issue. This is particularly difficult when
dealing with over a hundred CRDs.

Signed-off-by: Jose Arevalo <jose.matias.arevalo@gmail.com>
2024-01-10 12:11:47 +10:00
Wenkai Yin(尹文开)
9a1be6f53f Make "disable-informer-cache" option false(enabled) by default to keep it consistent with the help message
Make "disable-informer-cache" option false(enabled) by default to keep it consi
stent with the help message

Fixes #7264

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2024-01-10 09:49:54 +08:00
Xun Jiang/Bruce Jiang
e65ef28948 Merge pull request #7272 from danfengliu/bumpup-plugins-matrix-for-1.13
Bumpup E2E test plugins matirx for v1.13
2024-01-09 10:38:36 +08:00
danfengl
1b22a49d22 Bumpup E2E test plugins matirx for v1.13
Signed-off-by: danfengl <danfengl@vmware.com>
2024-01-09 02:26:53 +00:00
zhongjun.li
306a8fda3e fix-item-operation-timeout-explain
Signed-off-by: zhongjun.li <zhongjun.li@daocloud.io>
2024-01-08 15:00:06 +08:00
lyndon-li
72f2da92b7 Merge pull request #7282 from Lyndon-Li/issue-fix-6928
Issue 6928: remove snapshot deletion timeout for PVB
2024-01-08 12:58:43 +08:00
Xun Jiang
3ea4f345c6 Add detail for parameter s3ForcePathStyle in MinIO page.
Signed-off-by: Xun Jiang <blackpigletbruce@gmail.com>
2024-01-08 11:29:21 +08:00
Lyndon-Li
200fd80448 isue 6928: remove snapshot deletion timeout for PVB
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2024-01-08 11:28:23 +08:00
danfeng
c2177c24e8 Merge pull request #7277 from danfengliu/add-disable-informer-cache-param
Add test for disable informer cache param of velero installation
2024-01-05 15:34:26 +08:00
danfengl
fdca488209 Add param disable informer cache for velero installation
Signed-off-by: danfengl <danfengl@vmware.com>
2024-01-05 07:22:50 +00:00
Daniel Jiang
3401db47f9 Merge pull request #7274 from reasonerjt/fix-7263
Do not set "targetNamespace" to namepsace items
2024-01-05 14:41:27 +08:00
Daniel Jiang
a5d08ac5f0 Do not set "targetNamespace" to namepsace items
fixes #7263
This commit makes the data structures more consistent, that namespaces,
as cluster scoped resource will not have "targetNamespace" in the
"restoreableItem" instance.

Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2024-01-05 14:01:16 +08:00
qiuming
e84a51deec Merge pull request #7262 from qiuming-best/intermediate-pv-delete
Fix intermediate PV delete for data mover
2024-01-04 15:45:32 +08:00
lyndon-li
c3c4c97914 Merge pull request #7265 from Lyndon-Li/change-node-agent-config-name
Change node-agent-config name
2024-01-04 15:43:43 +08:00
Ming Qiu
92fdf407c7 Fix intermediate pv delete for data mover
Signed-off-by: Ming Qiu <mqiu@vmware.com>
2024-01-04 03:26:47 +00:00
Lyndon-Li
58ead55fd1 change node-agent-config name
Signed-off-by: Lyndon-Li <yonghui.li@broadcom.com>
2024-01-03 22:02:04 +08:00
Xun Jiang/Bruce Jiang
6b632affe8 Merge pull request #7255 from ywk253100/240102_doc
Generate docs for v1.13
2024-01-03 14:13:55 +08:00
Daniel Jiang
6e641f44b9 Merge pull request #7260 from blackpiglet/rename_volumeinfo_metadata_file
Rename volumeinfo metadata file.
2024-01-03 13:33:01 +08:00
Xun Jiang
08dedd8b66 Rename volumeinfo metadata file.
Change from <backup-name>-volumeinfos.json.gz to
<backup-name>-volumeinfo.json.gz.

Signed-off-by: Xun Jiang <jxun@vmware.com>
2024-01-03 11:22:49 +08:00
qiuming
f6dfa8e7b2 Merge pull request #7176 from danfengliu/fix-issue-of-hiiting-snapshot-limit
Add sleep to avoid snapshot limitation issue
2024-01-02 17:09:43 +08:00
Wenkai Yin(尹文开)
d8dba993d3 Generate docs for v1.13
Generate docs for v1.13

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2024-01-02 13:54:28 +08:00
danfengl
b25578d6e1 Add sleep to avoid snapshot limitation issue and skip retain PV on vSphere pipeline
1. Add sleep to avoid snapshot limitation issue https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html#:~:text=SnapshotCreationPerVolumeRateExceeded;
2. Move InstallVelero variable out of struct of Veleroconfig as a global one since it's not for controlling any individual case;
3. Unskip migration test case on AWS pipeline, because we added a new EKS pipeline and deleted TKG AWS pipline in internal E2E test, so this restriction for TKG AWS pipline is no long existed;
4. Skip retainPV test on vSphere pipeline due to PV longtime bounding issue;
5. Fix failing get snapshot by CSI from EC2 issue, snapshot by CSI has no label of backup name.

Signed-off-by: danfengl <danfengl@vmware.com>
2024-01-02 05:53:03 +00:00
qiuming
f109f38a72 Merge pull request #7253 from learner0810/fix-pvc-assignment
Fix pvc assignment
2024-01-02 13:25:37 +08:00
zhongjun.li
8e4cefbb0d Reduce backup DeepCopy
Signed-off-by: zhongjun.li <zhongjun.li@daocloud.io>
2024-01-02 11:34:40 +08:00
zhongjun.li
8c84836644 Fix pvc assignment
Signed-off-by: zhongjun.li <zhongjun.li@daocloud.io>
2023-12-29 15:09:41 +08:00
Shubham Pampattiwar
78bd67aa1d Merge pull request #7248 from rajats22/main
Adopter update for Azure Backup for AKS
2023-12-22 10:46:03 -08:00
rajats22
29997a3bfb <commit mesage>
Signed-off-by: rajats22 <111422846+rajats22@users.noreply.github.com>
2023-12-22 15:16:11 +05:30
lyndon-li
f5e36c12ad Merge pull request #7245 from Lyndon-Li/issue-fix-7244
Issue 7244: delete incomplete snapshot automatically for kopia uploader
2023-12-22 16:56:53 +08:00
Lyndon-Li
60d2c62c1a issue 7244: delete incomplete snapshot automatically for kopia uploader
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-12-22 16:44:00 +08:00
Qi Xu
ee345cf281 Adjust the newline output of resource list in restore describer (#7238)
Signed-off-by: allenxu404 <qix2@vmware.com>
2023-12-22 10:53:29 +05:30
Xun Jiang/Bruce Jiang
7d2c749abf Merge pull request #7231 from blackpiglet/update_volumeinfo_json_tag
Don't generate empty structure.
2023-12-21 16:32:58 +08:00
Xun Jiang
9be8eb0c6d Don't generate empty structure.
VolumeInfo contains several sub-structures. They are filled for
different scenarios. Do not generate empty structure for the
not filled sub-structures.

Signed-off-by: Xun Jiang <jxun@vmware.com>
2023-12-21 14:53:03 +08:00
lyndon-li
b4f2469145 Merge pull request #7240 from Lyndon-Li/issue-fix-7237
Issue 7237: add pvc namespace to backup describe
2023-12-21 13:25:33 +08:00
Lyndon-Li
210838267f issue 7237: add pvc namespace to backup describe
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-12-21 10:02:27 +08:00
lyndon-li
e6b248ccc0 Merge pull request #7236 from Lyndon-Li/remove-csi-feature-check-from-backup-describe
Remove csi feature check from backup describe
2023-12-20 15:46:58 +08:00
Lyndon-Li
0da01842ad remove csi feature check from backup describe
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-12-20 14:51:21 +08:00
qiuming
79f0541574 Merge pull request #7234 from blackpiglet/bump_restic_golang_library_version
Bump Golang library versions for v1.13 Restic to fix CVEs.
2023-12-20 13:06:30 +08:00
Xun Jiang
3dc202d30a Bump Golang library versions for v1.13 Restic to fix CVEs.
Bump golang.org/x/crypto version to v0.17.0.
Bump google.golang.org/grpc version to v1.56.3.

Signed-off-by: Xun Jiang <jxun@vmware.com>
2023-12-20 10:31:48 +08:00
qiuming
a44cd4be33 Merge pull request #7222 from qiuming-best/adjust-bsl-setting-logic
Adjust velero server side default backup location setting logic
2023-12-20 10:29:59 +08:00
Wenkai Yin(尹文开)
970af1ddfd Merge pull request #7225 from vmware-tanzu/dependabot/go_modules/golang.org/x/crypto-0.17.0
Bump golang.org/x/crypto from 0.14.0 to 0.17.0
2023-12-19 17:43:53 +08:00
Daniel Jiang
4fd40f19c7 Merge pull request #7229 from allenxu404/remove-newline
Remove the redundant newline in backup describe output
2023-12-19 16:22:58 +08:00
qiuming
93e29f13aa Merge pull request #7228 from qiuming-best/upload-config-doc
Update uploader configuration design doc
2023-12-19 15:42:30 +08:00
Ming Qiu
236c271cd4 Update uploader configuration design doc
Signed-off-by: Ming Qiu <mqiu@vmware.com>
2023-12-19 07:34:48 +00:00
allenxu404
8f6d46be87 Remove the redundant newline in backup describe output
Signed-off-by: allenxu404 <qix2@vmware.com>
2023-12-19 15:25:37 +08:00
lyndon-li
89cbdac0a3 Merge pull request #7226 from ywk253100/231219_upgrade_doc
Add upgrade doc for v1.13
2023-12-19 13:55:09 +08:00
Ming Qiu
7d2be128ae Move velero server side default backup location setting logic to server startup
Signed-off-by: Ming Qiu <mqiu@vmware.com>
2023-12-19 05:43:29 +00:00
Wenkai Yin(尹文开)
5b403c57b9 Add upgrade doc for v1.13
Add upgrade doc for v1.13

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2023-12-19 13:09:00 +08:00
Wenkai Yin(尹文开)
d99ad5cb7a Merge pull request #7220 from ywk253100/231218_doc
Update k8s metrix and move implemented designs
2023-12-19 10:57:25 +08:00
dependabot[bot]
ddb4889301 Bump golang.org/x/crypto from 0.14.0 to 0.17.0
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.14.0 to 0.17.0.
- [Commits](https://github.com/golang/crypto/compare/v0.14.0...v0.17.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-18 23:36:41 +00:00
Xun Jiang/Bruce Jiang
ee879fdcc3 Merge pull request #7221 from blackpiglet/schedule_cli_fix
Fix shedule get and describe CLI nil pointer issue
2023-12-18 20:44:03 +08:00
Xun Jiang
6222891d5b Fix shedule get and describe CLI issue.
Signed-off-by: Xun Jiang <jxun@vmware.com>
2023-12-18 16:41:10 +08:00
lyndon-li
71b947ab5b Merge pull request #7218 from Lyndon-Li/issue-fix-7214
Issue 7214: data mover backup describe for legacy backups
2023-12-18 14:18:51 +08:00
Wenkai Yin(尹文开)
b57cdb8f96 Update k8s metrix and move implemented designs
Update k8s metrix and move implemented designs

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2023-12-18 14:09:20 +08:00
Lyndon-Li
0313c2add0 issue 7214: data mover backup describe for legacy backups
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-12-18 11:07:01 +08:00
Shubham Pampattiwar
ea6c8ca127 fix finalizer typo in logs (#7204)
Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>
2023-12-13 11:46:21 -05:00
lyndon-li
5f14628d69 Merge pull request #7201 from Lyndon-Li/issue-fix-7189
Issue 7189: generic restore - don't assume the first volume as the restore volume
2023-12-12 12:47:25 +08:00
Lyndon-Li
cf7d27c4bc issue 7189: generic restore - don't assume the first volume as the restore volume
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-12-12 10:04:31 +08:00
Shubham Pampattiwar
2bd9bf2903 Merge pull request #7076 from shubham-pampattiwar/update-backup-log
Update backup log to reflect appropriate backup phase
2023-12-11 12:49:06 -08:00
Daniel Jiang
804b9a8d91 Merge pull request #7171 from kaovilai/tests-explicit-enableCSI
Add explicit enableCSI to TestProcessBackupCompletions
2023-12-11 14:11:37 +08:00
Wenkai Yin(尹文开)
c0613f1cf6 Merge pull request #7195 from reasonerjt/fix-7190
Use a new variable for resource path
2023-12-11 10:47:19 +08:00
Daniel Jiang
0f49935720 Use a new variable for resource path
This commit avoids mistakes when checking the type of the resource
Fixes #7190

Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2023-12-10 23:19:52 +08:00
qiuming
52d3fca652 Merge pull request #7191 from qiuming-best/uploader-configmapkey
Modify uploader config map key
2023-12-08 13:49:34 +08:00
Ming Qiu
df82691097 Modify uploader config map key
Signed-off-by: Ming Qiu <mqiu@vmware.com>
2023-12-08 03:07:13 +00:00
Wenkai Yin(尹文开)
fa73bcdd22 Merge pull request #7169 from kaovilai/schedule-skip-immediately
Add `--skip-immediately` to schedule CLI/API, and related to server, install commands
2023-12-08 11:06:29 +08:00
Tiger Kaovilai
eaba99b92e Add test skipImmediately is switched to false after reconcile
Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
2023-12-08 09:12:08 +07:00
Tiger Kaovilai
9e016c568a Address requeue feedback
Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
2023-12-08 09:12:08 +07:00
Tiger Kaovilai
e4bd59727f Schedule SkipImmediately
Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
2023-12-08 09:12:08 +07:00
Tiger Kaovilai
544c8481cc Schedule Skip Immediately Config Design
Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>

switch from "unpause triggers" to "skip immediately" for clarity

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>

Apply suggestions from code review

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>

Uncomment velero server option

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>

Backup will also be triggered at the next cron schedule.

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>

Clarify: unpauseTriggers trigger based from lastBackup timestamp,  CRD default blocks server flags

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>

`velero schedule unpause schedule-1` will check `.spec.UnpauseTriggers`

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>

Add `LastUnpaused` to ScheduleStatus

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>

Add `velero install`

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
2023-12-08 09:10:25 +07:00
lyndon-li
4070934f85 Merge pull request #7125 from Lyndon-Li/issue-fix-6695
Issue fix 6695: add describe for data mover backups
2023-12-07 16:23:30 +08:00
Xun Jiang/Bruce Jiang
759e8a9c63 Merge pull request #7184 from blackpiglet/7163_fix
Update CSIVolumeSnapshotsCompleted in backup's status and the metric
2023-12-07 11:14:28 +08:00
Xun Jiang
edb0860dd2 Fix issue #7163.
Update CSIVolumeSnapshotsCompleted in backup's status and the metric
during backup finalize stage according to async operations content.

Signed-off-by: Xun Jiang <jxun@vmware.com>
2023-12-07 09:43:10 +08:00
lyndon-li
099acd2527 Merge pull request #7141 from qiuming-best/support-restore-sparse
Allow sparse option for Kopia & Restic restore
2023-12-06 18:25:34 +08:00
Daniel Jiang
10bd5b14e4 Merge pull request #7136 from davidhulick/fix-kubectl-port-forwarding-docs-link
docs: fix link to kubectl port forwarding docs
2023-12-06 18:15:38 +08:00
Ming Qiu
1a237d3e4c Update API
Signed-off-by: Ming Qiu <mqiu@vmware.com>
2023-12-06 08:59:12 +00:00
danfengliu
49e3e545be Merge pull request #7048 from danfengliu/add-readme-for-e2e-test
Update E2E README file to latest
2023-12-06 16:53:13 +08:00
Lyndon-Li
72fcd84a51 csi data mover backup describe
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-12-06 10:53:09 +08:00
lyndon-li
8d8d68d649 Merge pull request #7175 from blackpiglet/download_request
Refactor DownloadRequest Stream function
2023-12-06 10:28:44 +08:00
qiuming
ea04a86eb2 Merge pull request #6771 from qiuming-best/bsl-fix
Fix default BSL setting not work
2023-12-05 19:09:50 +08:00
Xun Jiang/Bruce Jiang
6093e651cb Merge pull request #7161 from Lyndon-Li/node-agent-config-doc
Add node-agent concurrency doc
2023-12-05 16:52:29 +08:00
Lyndon-Li
ac5d030ab4 Merge branch 'main' into issue-fix-6695 2023-12-05 16:46:31 +08:00
qiuming
2fa785a3dd Merge pull request #7052 from qiuming-best/data-mover-fail-early
Make data mover fail early
2023-12-05 16:33:46 +08:00
Lyndon-Li
434e073c67 csi data mover backup describe, support legacy backups
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-12-05 15:49:35 +08:00
Xun Jiang/Bruce Jiang
45ae68575d Merge pull request #7153 from allenxu404/hooktracker-update
Enhance hooks tracker by adding an returned error to record function
2023-12-05 13:43:38 +08:00
Xun Jiang
c8e76f4602 Fix the DownloadRequest context error.
Clean the DownloadRequest Stream function.

Signed-off-by: Xun Jiang <jxun@vmware.com>
2023-12-05 13:29:23 +08:00
allenxu404
6051b3cbe0 Enhance hooks tracker by adding a returned error to record function
Signed-off-by: allenxu404 <qix2@vmware.com>
2023-12-05 12:56:42 +08:00
Daniel Jiang
f2ba625229 Merge pull request #7138 from blackpiglet/6595_volumeinfo_restore
Use VolumeInfo to help restore the PV.
2023-12-05 10:19:16 +08:00
Xun Jiang
28df14d9d5 Modify restore logic.
Signed-off-by: Xun Jiang <jxun@vmware.com>
2023-12-05 10:01:16 +08:00
Xun Jiang/Bruce Jiang
3b42abd139 Merge pull request #7174 from reasonerjt/snapshot-flag-skip-csi
Make sure the PVs skipped by CSI plugin due to settings in backup spec are tracked
2023-12-05 09:31:21 +08:00
Daniel Jiang
905de8cab1 Merge pull request #7167 from yanggangtony/fix-design-for-unified-repo
Discard --pod-volume-backup-uploader in unified-repo design doc.
2023-12-05 08:59:36 +08:00
Xun Jiang
c77bec73bb Move VolumesInformation to an independant package.
Signed-off-by: Xun Jiang <jxun@vmware.com>
2023-12-04 08:33:37 +08:00
Xun Jiang
ca97248f2a Use VolumeInfo to help restore the PV.
Add VolumeInfo for left PVs during backup.

Signed-off-by: Xun Jiang <jxun@vmware.com>
2023-12-04 08:33:37 +08:00
Tiger Kaovilai
2132506e8c Add explicit enableCSI to TestProcessBackupCompletions
Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
2023-12-01 14:22:40 -05:00
Daniel Jiang
266ea5d55a Make sure the PVs skipped by CSI plugin due to settings in backup spec
are tracked

Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2023-12-01 14:19:54 +08:00
Shashank Singh
a318e1da99 Fix floatation of error/message in the backup result. (#7159)
* Fix floatation of error/message in the backup/restore result

Signed-off-by: Shashank Singh <shashank1306s@gmail.com>

* fix for checkgates

Signed-off-by: Shashank Singh <shashank1306s@gmail.com>

* refactoring

Signed-off-by: Shashank Singh <shashank1306s@gmail.com>

---------

Signed-off-by: Shashank Singh <shashank1306s@gmail.com>
2023-12-01 09:50:01 +05:30
Ming Qiu
c6cba300fb Fix default BSL setting not work
Signed-off-by: Ming Qiu <mqiu@vmware.com>
2023-12-01 02:06:35 +00:00
Ming Qiu
0afaa70e9b Merge branch 'main' of https://github.com/qiuming-best/velero into support-restore-sparse 2023-11-30 10:55:55 +00:00
yanggang
fcf59376c1 Discard --pod-volume-backup-uploader in unified-repo design doc.
Signed-off-by: yanggang <gang.yang@daocloud.io>
2023-11-30 08:50:59 +00:00
Daniel Jiang
5cbfd9fffd Merge pull request #7150 from Lyndon-Li/issue-fix-7135
Issue 7135: check pod status before checking node-agent pod status
2023-11-29 15:47:23 +08:00
Lyndon-Li
81183f683e Merge branch 'main' into issue-fix-6695 2023-11-29 15:12:21 +08:00
Xun Jiang/Bruce Jiang
f5bbe82e78 Merge pull request #7152 from reasonerjt/track-skipped-SnapshotVolumes-false
Track the skipped PV when SnapshotVolumes set as false
2023-11-29 14:46:23 +08:00
Lyndon-Li
33b570d5cd Merge branch 'main' into node-agent-config-doc 2023-11-29 14:45:20 +08:00
Lyndon-Li
8968ae5ec4 add node-agent concurrency doc
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-11-29 14:33:51 +08:00
Lyndon-Li
e416b20148 issue 7135: check pod status before checking node-agent pod status
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-11-29 13:46:50 +08:00
lyndon-li
4d21e29d9d Merge pull request #7151 from blackpiglet/linter_part2
Linter part2
2023-11-29 13:17:59 +08:00
Xun Jiang
f5c159ce56 Resolve linter issues.
Signed-off-by: Xun Jiang <jxun@vmware.com>
2023-11-29 11:15:43 +08:00
Xun Jiang
d70535b6d2 Add nolintlint linter.
Signed-off-by: Xun Jiang <jxun@vmware.com>
2023-11-29 11:13:46 +08:00
Xun Jiang
ec03d1ebce Add noctx linter.
Signed-off-by: Xun Jiang <jxun@vmware.com>
2023-11-29 11:13:46 +08:00
Xun Jiang
dbd1a12d9f Add nilerr and ginkgolinter linter.
Signed-off-by: Xun Jiang <jxun@vmware.com>
2023-11-29 11:13:46 +08:00
Xun Jiang
cddc11e000 Enable linter errchkjson.
Signed-off-by: Xun Jiang <jxun@vmware.com>
2023-11-29 11:13:46 +08:00
Xun Jiang
3805a470a9 Enable dupword linter.
Signed-off-by: Xun Jiang <jxun@vmware.com>
2023-11-29 11:13:46 +08:00
Ming
03dff100a3 Make data mover fail early
Signed-off-by: Ming <mqiu@vmware.com>
2023-11-29 03:03:53 +00:00
Daniel Jiang
b8604b6a89 Treat namespace as a regular restorable item (#7143)
Fixes #1970

Namespaces will be handled as cluster-scope resource, but for
consistency they will still created via "Ensure namespace" flow for
consistency.

Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2023-11-28 11:20:36 -05:00
Daniel Jiang
b759877f5b Track the skipped PV when SnapshotVolumes set as false
This commit makes sure if a PV is not taken snapshot b/c the flag
SnapshotVolumes is set to false in a backup CR, the PV is also also
tracked as skipped in the tracker.

Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2023-11-28 22:52:17 +08:00
Ming Qiu
b57dde1572 Allow sparse option for Kopia & Restic restore
Signed-off-by: Ming Qiu <mqiu@vmware.com>
2023-11-28 13:48:09 +00:00
Daniel Jiang
85482aefaf Merge pull request #7117 from allenxu404/issue6567
Add hook status to backup/restore CR
2023-11-28 16:54:11 +08:00
allenxu404
5d1a632be4 Add hook status to backup/restore CR
Signed-off-by: allenxu404 <qix2@vmware.com>
2023-11-28 14:47:31 +08:00
Wenkai Yin(尹文开)
6ac7ff1230 Merge pull request #7130 from qiuming-best/data-mover-recoverbility
Node agent restart enhancement
2023-11-28 14:25:47 +08:00
Ming Qiu
98a56eb5c7 Node agent restart enhancement
Signed-off-by: Ming Qiu <mqiu@vmware.com>
2023-11-28 05:50:46 +00:00
qiuming
f6ed4558bf Merge pull request #7149 from yanggangtony/fix-test-VeleroInstall
Fix test code wrong code for VeleroInstall
2023-11-28 09:59:53 +08:00
Yang Gang
402a61481d [docs] Fix all typos in plugins typo. (#7129)
Signed-off-by: yanggang <gang.yang@daocloud.io>
2023-11-27 13:03:01 -05:00
yanggang
9ccb5a14bb Fix test code wrong code for VeleroInstall
Signed-off-by: yanggang <gang.yang@daocloud.io>
2023-11-27 11:13:52 +00:00
qiuming
3fdb3ec7c5 Merge pull request #7069 from 27149chen/imporve-discovery-refresh
improve discoveryHelper.Refresh() in restore
2023-11-27 18:02:36 +08:00
lou
179faf3e33 update after review
Signed-off-by: lou <alex1988@outlook.com>
2023-11-27 17:39:37 +08:00
Xun Jiang/Bruce Jiang
d336e2812e Merge pull request #6958 from blackpiglet/5156_list_option_fix
Change controller-runtime List option from MatchingFields to ListOpti…
2023-11-27 17:38:12 +08:00
Lyndon-Li
8ab0c017a9 issue 6695: add backup description for data mover
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-11-27 16:19:34 +08:00
qiuming
ccd3f220ad Merge pull request #7090 from qiuming-best/perf-test-0
Enhance perf test
2023-11-27 16:10:26 +08:00
Ming
507157f812 Add perf test namespace mapping when restore
Signed-off-by: Ming <mqiu@vmware.com>
2023-11-27 02:11:13 +00:00
Lyndon-Li
1815c1691f Merge branch 'main' into issue-fix-6695 2023-11-27 09:46:22 +08:00
danfengl
4590579105 Update E2E README file to latest
Signed-off-by: danfengl <danfengl@vmware.com>
2023-11-25 12:37:21 +00:00
danfengliu
7320bb7674 Merge pull request #7122 from danfengliu/add-csi-retain-policy-e2e-test
Add E2E test for taking CSI snapshot to PV with retain reclaim policy
2023-11-22 17:35:35 +08:00
qiuming
b276564b95 Merge pull request #7000 from qiuming-best/kopia-parallelism
Make Kopia file parallelism configurable
2023-11-22 12:13:14 +08:00
Ming Qiu
c2d4495efe Merge branch 'main' of https://github.com/qiuming-best/velero into kopia-parallelism 2023-11-22 03:52:20 +00:00
Wenkai Yin(尹文开)
5c958d820d Merge pull request #7100 from blackpiglet/6595_volumeinfo_generate
6595 volumeinfo generate
2023-11-22 11:14:36 +08:00
Ming Qiu
fea22bbbc9 Merge branch 'main' of https://github.com/qiuming-best/velero into kopia-parallelism 2023-11-22 01:42:39 +00:00
Xun Jiang
7f52321772 Generate VolumeInfo.
Remove CSI VolumeSnapshot listter and the informer.
Add download the VolumeInfos metadata for backup.

Signed-off-by: Xun Jiang <jxun@vmware.com>
2023-11-22 09:40:38 +08:00
David Hulick
5e3b5317cd docs: fix link to kubectl port forwarding docs
Signed-off-by: David Hulick <dave.hulick@gmail.com>
2023-11-21 16:38:37 -05:00
danfengl
55a465a941 Add E2E test for taking CSI snapshot to PV with retain reclaim policy
Signed-off-by: danfengl <danfengl@vmware.com>
2023-11-21 07:11:22 +00:00
Tiger Kaovilai
a68ddd458c Close stale issue with not-planned status (#7128)
Instead of closing as completed which would signify work has been done.

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
2023-11-21 09:24:43 +05:30
Anshul Ahuja
0e53cd0916 RM support for Escaped bool, float, null (#7118)
* RM support for Escaped bool, float, null

Signed-off-by: Anshul Ahuja <anshul.ahu@gmail.com>

* fix ci

Signed-off-by: Anshul Ahuja <anshul.ahu@gmail.com>

---------

Signed-off-by: Anshul Ahuja <anshul.ahu@gmail.com>
2023-11-21 09:18:34 +05:30
Shubham Pampattiwar
e58a7808e0 Merge pull request #7116 from adux6991/fix-docs-typo
Fix typo in documentation
2023-11-20 06:01:42 -08:00
qiuming
b8a5859fe7 Merge pull request #7091 from anshulahuja98/recoverplugin
Don't fail backup/restore on velero server restart in PhaseWaitingFor…
2023-11-20 14:49:15 +08:00
Daniel Jiang
e0edc8ee93 Merge pull request #7107 from yanggangtony/update-configmaps
Fix docs: Use camel case for API objects: configmaps and secrets
2023-11-20 14:48:47 +08:00
Wenkai Yin(尹文开)
e3fb94833d Merge pull request #7115 from reasonerjt/wrap-bia-err
Include plugin name in the error message by operations
2023-11-20 14:48:18 +08:00
Daniel Jiang
ca57756ff6 Include plugin name in the error message by operations
fixes #6512

Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2023-11-20 12:12:02 +08:00
Lyndon-Li
4e4f0aa1da issue 6695: add backup describe for CSI snapshot data movement 02
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-11-20 12:11:21 +08:00
Lyndon-Li
582be97a63 Merge branch 'main' into issue-fix-6695 2023-11-18 00:12:25 +08:00
Lyndon-Li
b99ac448ae issue 6695: add backup describe for CSI snapshot data movement
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-11-18 00:11:29 +08:00
Wenkai Yin(尹文开)
939dd7149a Merge pull request #7070 from blackpiglet/6595_interface
Add VolumeInfo metadata structures.
2023-11-17 19:31:29 +08:00
Xun Jiang
b440a4f53f Add VolumeInfo metadata structures and object get method.
Modify design according to comments.
Add PVInfo structure.
Add backup VolumeInfo's object storage's put and get methods.

Signed-off-by: Xun Jiang <jxun@vmware.com>
2023-11-17 17:23:47 +08:00
xuda
9c0c7a2a77 Fix typo in documentation 2023-11-17 15:37:24 +08:00
Xun Jiang/Bruce Jiang
c283edf4a5 Merge pull request #7032 from deefdragon/main
Add check for owner references in backup sync, removing if missing
2023-11-17 09:32:50 +08:00
yanggang
c78e8980d8 Use camel case for API objects: configmaps and secrets.
Signed-off-by: yanggang <gang.yang@daocloud.io>
2023-11-16 22:17:35 +00:00
Jeffrey Koehler
292aa34a48 move filtering code to seperate method, add tests
Signed-off-by: Jeffrey Koehler <koehler@streem.tech>
2023-11-16 03:57:36 -06:00
Jeffrey Koehler
8eec6865d1 Check only schedules, and verify UIDs are the same
Signed-off-by: Jeffrey Koehler <koehler@streem.tech>
2023-11-16 02:29:56 -06:00
Wenkai Yin(尹文开)
d42505ddd0 Merge pull request #7102 from Lyndon-Li/issue-fix-7068-2
Issue 7068: add a finalizer to protect retained VSC
2023-11-15 17:13:44 +08:00
Lyndon-Li
067984b13c Issue 7068: add a finalizer to protect retained VSC
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-11-15 16:04:07 +08:00
Wenkai Yin(尹文开)
d345bda3a1 Merge pull request #7081 from ywk253100/231110_sync
Skip syncing the backup which doesn't contain backup metadata
2023-11-15 16:00:06 +08:00
Wenkai Yin(尹文开)
2a533d01bf Merge pull request #7046 from kaovilai/backup-patch-status-unittest
Update Backup.Status.CSIVolumeSnapshotsCompleted during finalize
2023-11-15 15:32:51 +08:00
Wenkai Yin(尹文开)
9b5678f32a Merge pull request #7096 from Lyndon-Li/issue-fix-7094
Issue 7094: fallback to full backup if previous snapshot is not found
2023-11-14 11:45:32 +08:00
Lyndon-Li
50f8acda79 issue 7094: fallback to full backup if previous snapshot is not found
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-11-14 11:28:09 +08:00
Wenkai Yin(尹文开)
dde06472e5 Merge pull request #7095 from Lyndon-Li/issue-fix-7068
Issue 7068: add a finalizer to protect retained VSC
2023-11-14 10:44:47 +08:00
Lyndon-Li
cb651d0436 issue 7068: add a finalizer to protect retained VSC
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-11-14 10:18:07 +08:00
Daniel Jiang
e826b70327 Merge pull request #7086 from yanggangtony/fix-design-wrong-reference-link
Fix wrong reference link in design docs.
2023-11-13 14:34:44 +08:00
Anshul Ahuja
dd6ab8c32a Don't fail backup/restore on velero server restart in PhaseWaitingForPluginOperation
Signed-off-by: Anshul Ahuja <anshulahuja@microsoft.com>
2023-11-13 11:13:32 +05:30
lyndon-li
a0b8a503c8 Merge pull request #7077 from Lyndon-Li/issue-fix-6693
Issue 6693: partially fail restore if CSI snapshot is involved but CSI feature is not ready
2023-11-13 10:30:24 +08:00
yanggang
7fd692eb68 Fix wrong reference link in design docs.
Signed-off-by: yanggang <gang.yang@daocloud.io>
2023-11-10 22:57:13 +00:00
Lyndon-Li
efc5319c1c Issue 6693: partially fail restore if CSI snapshot is involved but CSI feature is not ready
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-11-10 12:40:41 +08:00
Wenkai Yin(尹文开)
84c96047b9 Skip syncing the backup which doesn't contain backup metadata
Skip syncing the backup which doesn't contain backup metadata

Fixes #6849

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2023-11-10 10:22:27 +08:00
Lyndon-Li
2841be7681 Merge branch 'main' into issue-fix-6693 2023-11-10 10:04:27 +08:00
Xun Jiang/Bruce Jiang
cb5ffe2753 Merge pull request #7061 from blackpiglet/6595_backward_compatability
Add DataUpload Result and CSI VolumeSnapshot check for restore PV.
2023-11-10 09:37:19 +08:00
Rémi Verchère
3fa7d29573 doc: add resourcePolicy for schedule (#7079)
Signed-off-by: Rémi Verchère <remi@verchere.fr>
2023-11-09 11:45:58 -05:00
Shubham Pampattiwar
ea7f249e90 Update backup log to reflect appropriate backup phase
Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>

use infof instead of sprintf

Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>
2023-11-09 04:55:24 -08:00
Lyndon-Li
873197ff50 issue 6693: partially fail restore if CSI snapshot is involved but CSI feature is not ready
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-11-09 17:37:23 +08:00
qiuming
76e89f7dc5 Merge pull request #7059 from Lyndon-Li/issue-fix-6663
Issue 6663: changes for configurable data path concurrency
2023-11-09 14:37:28 +08:00
Lyndon-Li
db43200cc8 configurable data path concurrency: all in one json
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-11-08 12:02:02 +08:00
Lyndon-Li
c638ca557e Merge branch 'main' into issue-fix-6663 2023-11-08 10:45:40 +08:00
qiuming
5f7e16b98b Merge pull request #7072 from ywk253100/231108_truncate
[cherry-pick]Truncate the credential file to avoid the change of secret content messing it up
2023-11-08 10:43:17 +08:00
Wenkai Yin(尹文开)
5a10f9090a Truncate the credential file to avoid the change of secret content messing it up
Truncate the credential file to avoid the change of secret content messing it up

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2023-11-08 09:33:56 +08:00
Wenkai Yin(尹文开)
866fbb5cdb Merge pull request #6950 from Lyndon-Li/issue-fix-6663-design
Design for node-agent concurrency
2023-11-08 09:04:05 +08:00
lou
ebb21303ab add changelog
Signed-off-by: lou <alex1988@outlook.com>
2023-11-07 19:50:35 +08:00
lou
70483ded90 improve discoveryHelper.Refresh() in restore
Signed-off-by: lou <alex1988@outlook.com>
2023-11-07 19:12:30 +08:00
Xun Jiang
1fb0529d98 Add DataUpload Result and CSI VolumeSnapshot check for restore PV.
Signed-off-by: Xun Jiang <jxun@vmware.com>
2023-11-06 22:40:03 +08:00
Lyndon-Li
68579448d6 configurable data path concurrency: UT
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-11-06 20:29:33 +08:00
Lyndon-Li
262f10ff49 Merge branch 'main' into issue-fix-6663 2023-11-06 16:52:41 +08:00
Lyndon-Li
04a9851ee9 configurable data path concurrency: all in cm
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-11-06 16:46:13 +08:00
Anshul Ahuja
6b7ce6655d Merge pull request #7022 from allenxu404/i6721
Fix inconsistent behavior of Backup and Restore hook execution
2023-11-06 14:01:30 +05:30
lyndon
11938f9a5e Merge pull request #7051 from blackpiglet/6190_part_3
Remove dependency of generated client part 3
2023-11-06 15:22:02 +08:00
Xun Jiang
56b5e982d9 Remove dependency of generated client part 3
Replace generated discovery client with client-go client.
Remove generated client from PVR action.
Remove generated client from pkg/cmd directory.
Delete velero generate client from client factory.

Signed-off-by: Xun Jiang <jxun@vmware.com>
2023-11-06 11:34:39 +08:00
lyndon
d6146ecff4 Merge pull request #7041 from blackpiglet/6190_part_2
Remove dependency of generated client part 2
2023-11-03 17:43:10 +08:00
Xun Jiang
a221a88945 Remove dependency of generated client part 2
Remove dependecy of generate client from pkg/cmd/cli/snapshotLocation.
Remove the Velero generated informer from PVB and PVR. 
Remove dependency of generated client from pkg/podvolume directory.
Replace generated codec with runtime codec. 

Signed-off-by: Xun Jiang <jxun@vmware.com>
2023-11-03 17:11:36 +08:00
Tiger Kaovilai
8c727429c4 revert test changes
Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
2023-11-02 17:06:19 -04:00
Tiger Kaovilai
cd0ad74d31 make update
Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
2023-11-02 16:46:15 -04:00
Tiger Kaovilai
6896a1ffe4 update changelog to reflect removed waits
Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
2023-11-02 16:22:30 -04:00
Tiger Kaovilai
1c138b8f55 CSIFeatureFlag enable check
Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
2023-11-02 16:20:46 -04:00
Tiger Kaovilai
18acf005d6 remove waiting during finalize
Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
2023-11-02 16:16:27 -04:00
Tiger Kaovilai
f9e716a8c9 skip this if SnapshotMoveData
https://github.com/vmware-tanzu/velero/pull/7046/files#r1380708644
Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
2023-11-02 16:14:55 -04:00
Tiger Kaovilai
10245b05de restore: Use warning when Create IsAlreadyExist and Get error (#7004)
Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
2023-11-02 15:53:47 -04:00
Tiger Kaovilai
9311a4269b refactor backup snapshot status updates into UpdateBackupSnapshotsStatus() and run in backup_finalizer_controller
Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
2023-11-02 15:30:35 -04:00
allenxu404
3a3527553a Fix inconsistent behavior of Backup and Restore hook execution
Signed-off-by: allenxu404 <qix2@vmware.com>
2023-11-02 12:31:53 +08:00
lyndon
166a58bddc Merge pull request #6962 from blackpiglet/6595_design
Add the PV backup information design document.
2023-11-02 10:50:56 +08:00
Wenkai Yin(尹文开)
73c948d6bd Merge pull request #6917 from 27149chen/rm-improvement
support JSON Merge Patch and Strategic Merge Patch in Resource Modifiers
2023-11-02 10:36:40 +08:00
Xun Jiang
23b9484370 Add the PV backup information design document.
Signed-off-by: Xun Jiang <jxun@vmware.com>
2023-11-02 10:14:16 +08:00
Tiger Kaovilai
886e074b55 Add PatchResource unit test for backup status
Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
2023-11-01 15:28:56 -04:00
Shubham Pampattiwar
705a3bc355 fix typo in documentation (#7043)
Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>
2023-11-01 11:26:14 -04:00
lou
e30937550e update after review
Signed-off-by: lou <alex1988@outlook.com>
2023-11-01 21:53:30 +08:00
Lyndon-Li
a0edad94db design for node-agent concurrency
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-11-01 11:35:06 +08:00
qiuming
38e1ae0405 Merge pull request #7034 from ywk253100/231030_cred
Read information from the credential specified by BSL
2023-11-01 09:41:25 +08:00
qiuming
e17751fd09 Merge pull request #7038 from Lyndon-Li/issue-fix-7027
Issue 7027: backup exposer -- don't assume first volume as the backup volume
2023-11-01 09:39:09 +08:00
Lyndon-Li
8e442407c3 issue 7027: backup exposer -- don't assume first volume as the backup volume
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-10-31 12:11:34 +08:00
Shubham Pampattiwar
03e582cb6c Merge pull request #6995 from kaovilai/kopias3profilecred
kopia/repository/config/aws.go: Set session.Options profile from config
2023-10-30 09:11:15 -07:00
Wenkai Yin(尹文开)
49a85e1636 Read information from the credential specified by BSL
Read information from the credential specified by BSL

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2023-10-30 17:28:10 +08:00
qiuming
1fcdc20d75 Merge pull request #7003 from mateusoliveira43/fix/make-verify-command
fix: make verify permission error
2023-10-30 16:28:07 +08:00
qiuming
6e703b81ff Merge pull request #7029 from yanggangtony/fix-docs-for-tencent-config
Fix the wrong url for Tencent COS.
2023-10-30 14:30:03 +08:00
Jeffrey Koehler
929af4f734 Add check for owner reference in backup sync, removing if missing
Signed-off-by: Jeffrey Koehler <koehler@streem.tech>
2023-10-29 22:06:14 -05:00
Shubham Pampattiwar
23921e5d29 add description markers for dataupload and datadownload CRDs (#7028)
add changelog file

Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>
2023-10-27 11:05:10 -04:00
yanggang
5691371899 Fix the wrong url for Tencent COS.
Signed-off-by: yanggang <gang.yang@daocloud.io>
2023-10-27 12:55:40 +01:00
Lyndon-Li
0f765ceef2 Merge branch 'main' into issue-fix-6663 2023-10-27 17:44:17 +08:00
Lyndon-Li
c44a9b8956 issue 6663: changes for configurable data path concurrency
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-10-27 17:37:29 +08:00
Xun Jiang/Bruce Jiang
9ff4b1e079 Merge pull request #7026 from blackpiglet/6376_fix
Add HealthCheckNodePort deletion logic in Serivce restore
2023-10-27 16:40:04 +08:00
Xun Jiang
a94918026c Add HealthCheckNodePort deletion logic in Service restore.
Signed-off-by: Xun Jiang <jxun@vmware.com>
2023-10-27 14:13:52 +08:00
Shubham Pampattiwar
1e0fc77e4d Fix issue 6913 (#6914)
add changelog file



keep canceling phase const



fix data download as well



address PR feedback



minor fixes

Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>
2023-10-26 09:39:38 -04:00
Anshul Ahuja
20a1118acf Make configmapref check case insensitive (#6804)
* Make configmapref check case insensitive

Signed-off-by: Anshul Ahuja <anshul.ahu@gmail.com>

* update resourcemodfier test case to validate case

Signed-off-by: Anshul Ahuja <anshulahuja@microsoft.com>

---------

Signed-off-by: Anshul Ahuja <anshul.ahu@gmail.com>
Signed-off-by: Anshul Ahuja <anshulahuja@microsoft.com>
Co-authored-by: Anshul Ahuja <anshulahuja@microsoft.com>
2023-10-26 15:30:21 +05:30
lyndon
638647cb7a Merge pull request #7018 from vmware-tanzu/dependabot/go_modules/google.golang.org/grpc-1.58.3
Bump google.golang.org/grpc from 1.58.2 to 1.58.3
2023-10-26 11:25:30 +08:00
Ming
481cb60493 Make Kopia file parallelism configurable
Signed-off-by: Ming <mqiu@vmware.com>
2023-10-26 02:28:36 +00:00
qiuming
3b22ff3358 Merge pull request #7005 from qiuming-best/kopia-parallelism-design
Design for Velero uploader configuration integration and extensibility
2023-10-26 10:01:55 +08:00
dependabot[bot]
8be1f4beff Bump google.golang.org/grpc from 1.58.2 to 1.58.3
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.58.2 to 1.58.3.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.58.2...v1.58.3)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-25 21:43:35 +00:00
Xun Jiang/Bruce Jiang
45ed3bf613 Record platform limitation of the Kopia block mode uploader in docs. (#7013)
Signed-off-by: Xun Jiang <jxun@vmware.com>
2023-10-25 19:43:46 +05:30
Mateus Oliveira
3bc23aeb84 fixup! fix: make verify permission error
Signed-off-by: Mateus Oliveira <msouzaol@redhat.com>
2023-10-25 08:12:41 -03:00
Mateus Oliveira
cbf849ab4c fix: make verify permission error
Signed-off-by: Mateus Oliveira <msouzaol@redhat.com>
2023-10-25 08:12:41 -03:00
lou
f66016d416 update docs
Signed-off-by: lou <alex1988@outlook.com>
2023-10-25 17:54:20 +08:00
lyndon
30bf6bd28c Merge pull request #7011 from Lyndon-Li/issue-fix-6964-2
Issue 6964: use preparingTimeout for snapshot readiness wait
2023-10-25 11:11:27 +08:00
Lyndon-Li
0eade6c615 issue 6964: use preparingTimeout for snapshot readiness wait
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-10-25 10:51:08 +08:00
Tiger Kaovilai
d5f238c83c kopia/repository/config/aws.go: Set session.Options profile from config
Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
2023-10-24 14:05:47 -04:00
Daniel Jiang
941dd0039f Merge pull request #6968 from blackpiglet/6585_fix
Check whether the action is a CSI action and whether CSI feature is
2023-10-25 00:39:58 +08:00
Daniel Jiang
317db25d20 Merge pull request #6923 from reasonerjt/aws-sdk-v2
Bump up aws sdk to aws-sdk-go-v2
2023-10-24 23:53:16 +08:00
lou
4ead4d6976 update after review
Signed-off-by: lou <alex1988@outlook.com>
2023-10-24 21:44:14 +08:00
Daniel Jiang
b71d2b3898 Bump up aws sdk to aws-sdk-go-v2
Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2023-10-24 17:01:26 +08:00
Wenkai Yin(尹文开)
61d333a31a Merge pull request #6989 from blackpiglet/support_windows_build_main
[cherry-pick][main]Make Windows build skip BlockMode code.
2023-10-24 16:58:03 +08:00
Xun Jiang
908e2c63ba Check whether the action is a CSI action and whether CSI feature is
enabled, before executing the action.

The DeleteItemAction is not checked, because the DIA doesn't have a
method to get the action's plugin name.
This should be OK, because the CSI will check whether the VS and VSC
have a backup name annotation. If the VS and VSC is not handled by
the CSI plugin, then they don't have the annotation.

Signed-off-by: Xun Jiang <jxun@vmware.com>
2023-10-24 16:54:38 +08:00
lyndon
e2ec855c4a Merge pull request #6983 from danfengliu/fix-resource-groupname-issue
Fix fail to get backup repo due to missing api group name issue
2023-10-24 15:26:55 +08:00
Ming
a86b3943fe Velero Uploader Configuration Integration and Extensibility
Signed-off-by: Ming <mqiu@vmware.com>
2023-10-24 06:10:03 +00:00
lyndon
27f301cb89 Merge pull request #7001 from Lyndon-Li/bump-to-kopia-0.15.0
Bump kopia to 0.15.0
2023-10-24 08:40:46 +08:00
Orlix
107c55813f Revert PR #6907 as site is not deploying (#6981)
Signed-off-by: OrlinVasilev <ovasilev@vmware.com>
2023-10-23 12:14:26 -04:00
Lyndon-Li
d3a1a83c6d bump to kopia 0.15.0
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-10-23 12:03:21 +08:00
Shubham Pampattiwar
b85dc271ef Merge pull request #6978 from yanggangtony/fix-tiny-errors
Fix wrong logs , add missiong license file.
2023-10-22 20:52:18 -07:00
Daniel Jiang
5fe53daf21 Merge pull request #6990 from Lyndon-Li/udmrepo-use-region-from-bsl
Issue 6988: udmrepo use region specified in BSL when s3URL is empty
2023-10-20 20:15:36 +08:00
Lyndon-Li
3d841dd8f1 udmrepo use region specified in BSL when s3URL is empty
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-10-20 19:58:54 +08:00
Xun Jiang
ecc6e1621e Make Windows build skip BlockMode code.
PVC block mode backup and restore introduced some OS specific
system calls. Those calls are not available for Windows, so
add both non Windows version and Windows version code, and
return error for block mode on the Windows platform.

Signed-off-by: Xun Jiang <jxun@vmware.com>
2023-10-20 19:39:44 +08:00
danfengl
d2fc9fa1a9 Fix fail to get backup repo due to missing api group name issue
Signed-off-by: danfengl <danfengl@vmware.com>
2023-10-20 01:50:24 +00:00
yanggang
1efd533d0d Fix wrong logs in markDataDownloadsCancel() and add missiong license file.
Signed-off-by: yanggang <gang.yang@daocloud.io>
2023-10-19 14:04:41 +01:00
Xun Jiang
79c75718ca Change controller-runtime List option from MatchingFields to ListOptions.
Signed-off-by: Xun Jiang <jxun@vmware.com>
2023-10-19 17:09:12 +08:00
qiuming
fd8350f919 Merge pull request #6976 from Lyndon-Li/issue-fix-6964
Issue 6964: get volume size from source PVC if it is invalid in VS
2023-10-19 13:53:57 +08:00
Lyndon-Li
329c128279 issue 6964: get volume size from source PVC if it is invalid in VS
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-10-19 11:50:28 +08:00
lou
d1f5219cbb update after review
Signed-off-by: lou <alex1988@outlook.com>
2023-10-18 17:05:00 +08:00
Wenkai Yin(尹文开)
19f38f9623 Merge pull request #6947 from 0x113/SGLAB-CLOUDCASA-oidc-auth
Issue #6933: Import auth provider plugins
2023-10-18 16:01:50 +08:00
Sebastian Glab
265d285b1d Import auth provider plugins
Signed-off-by: Sebastian Glab <sglab@catalogicsoftware.com>
2023-10-18 08:53:35 +02:00
qiuming
5ff5073cc3 Add volume types filter in resource policies (#6863)
Signed-off-by: Ming Qiu <mqiu@vmware.com>
2023-10-16 17:36:54 -04:00
Yang Gang
7ca33f8f12 Add MSI Support for Azure plugin. (#6938)
Signed-off-by: yanggang <gang.yang@daocloud.io>
2023-10-16 09:47:53 +05:30
Xun Jiang/Bruce Jiang
b4fb2d9644 Merge pull request #6918 from Ripolin/main
Add WaitForReady flag to check container readiness state before exec a hook
2023-10-15 13:27:34 +08:00
Wenkai Yin(尹文开)
ed441de43c Merge pull request #6953 from blackpiglet/bump_golang
Bump golang version.
2023-10-13 18:23:11 +08:00
Xun Jiang
a726329e82 Bump golang version.
Bump golang version to v1.21.
Bump golang.org/x/net version to v0.17.0 in Velero and Restic.

Signed-off-by: Xun Jiang <jxun@vmware.com>
2023-10-13 16:30:23 +08:00
Xun Jiang/Bruce Jiang
9606df624f Merge pull request #6784 from yanggangtony/node-agent-metrics-addr
Fix node-agent missing metrics-addr parms to define the server start. #6784
2023-10-13 14:28:45 +08:00
yanggang
069c280f03 Fix node-agent missing metrics-addr parms to define the server start.
Signed-off-by: yanggang <gang.yang@daocloud.io>
2023-10-13 03:33:18 +01:00
Ripolin
e5af7f5cea Add WaitForReady flag to check container readiness state before exec a hook
Signed-off-by: Ripolin <florent.david@gmail.com>
2023-10-12 20:31:36 +02:00
Shubham Pampattiwar
ad114f8f65 Merge pull request #6723 from sseago/restore-get-perf 2023-10-12 07:57:40 -07:00
Wenkai Yin(尹文开)
84734f1040 Merge pull request #6937 from blackpiglet/release_choco
Update the Velero chocolatey package release procedure.
2023-10-12 15:47:26 +08:00
lyndon
741b696180 Merge pull request #6946 from Lyndon-Li/issue-fix-6668
Issue fix 6668: add a limitation for fs restore parallelism with other types of restore
2023-10-12 14:53:29 +08:00
Lyndon-Li
b14bd2cd75 issue 6668: add a limitation for fs restore parallelism with other types of restores
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-10-12 11:58:26 +08:00
Shubham Pampattiwar
74ed994e5e Merge pull request #6830 from sseago/retry-generateName
issue #6807: Retry failed create when using generateName
2023-10-11 08:50:14 -07:00
Scott Seago
7750e12151 Perf improvements for existing resource restore
Use informer cache with dynamic client for Get calls on restore
When enabled, also make the Get call before create.

Add server and install parameter to allow disabling this feature,
but enable by default

Signed-off-by: Scott Seago <sseago@redhat.com>
2023-10-11 10:51:39 -04:00
Andy Arnold
4c3207a56d A small typo duplicated csi-snapshot-data-movement.md in main and v.1.12
Signed-off-by: Andy Arnold <anarnold@redhat.com>
2023-10-10 21:17:26 +01:00
lou
6d89780fb2 add more tests
Signed-off-by: lou <alex1988@outlook.com>
2023-10-10 22:33:35 +08:00
Xun Jiang
79e176086c Add some configurations to avoid ArgoCD pruning backups generated from schedule.
Signed-off-by: Xun Jiang <jxun@vmware.com>
2023-10-10 21:06:48 +08:00
Xun Jiang
dbc3ad7453 Update the Velero chocolatey package release procedure.
Signed-off-by: Xun Jiang <jxun@vmware.com>
2023-10-10 20:29:29 +08:00
lou
a607810b13 update design
Signed-off-by: lou <alex1988@outlook.com>
2023-10-10 19:11:43 +08:00
lou
19d5bee572 Merge branch 'main' into rm-improvement 2023-10-10 19:02:16 +08:00
lou
65082f33a4 add deserialization tests
Signed-off-by: lou <alex1988@outlook.com>
2023-10-10 18:59:45 +08:00
lyndon
b31610157d Merge pull request #6927 from blackpiglet/restricted_rbac
Add an working example for rbac.md.
2023-10-10 16:52:30 +08:00
lou
5932e263c9 update after review
Signed-off-by: lou <alex1988@outlook.com>
2023-10-10 16:00:46 +08:00
Wenkai Yin(尹文开)
5f71a662a4 Merge pull request #6907 from kaovilai/vmain
Resolve netlify site publish issues due to missing directory `site/site/public`
2023-10-10 15:24:19 +08:00
Xun Jiang
98a383d94a Add an working example for rbac.md.
Signed-off-by: Xun Jiang <jxun@vmware.com>
2023-10-10 13:56:50 +08:00
Wenkai Yin(尹文开)
5961253768 Merge pull request #6926 from Lyndon-Li/backup-pod-spread-evenly
Issue 6734: spread backup pod evenly
2023-10-10 10:05:41 +08:00
Lyndon-Li
0a6c89abc6 Merge branch 'main' into backup-pod-spread-evenly 2023-10-10 09:45:52 +08:00
Scott Seago
09be1f7995 issue #6807: Retry failed create when using generateName
When creating resources with generateName, apimachinery
does not guarantee uniqueness when it appends the random
suffix to the generateName stub, so if it fails with
already exists error, we need to retry.

Signed-off-by: Scott Seago <sseago@redhat.com>
2023-10-09 17:38:37 -04:00
Shubham Pampattiwar
541425ba97 Merge pull request #6844 from sseago/pr-standards 2023-10-09 14:33:06 -07:00
Mateus Oliveira
1c1054dedc doc: Alert that plugins run as separate processes, when turning on debug logs (#6882)
* doc: Alert that plugins run as binaries when turning on debug logs

Signed-off-by: Mateus Oliveira <msouzaol@redhat.com>

* fixup! doc: Alert that plugins run as binaries when turning on debug logs

Signed-off-by: Mateus Oliveira <msouzaol@redhat.com>

* fixup! doc: Alert that plugins run as binaries when turning on debug logs

Signed-off-by: Mateus Oliveira <msouzaol@redhat.com>

* fixup! doc: Alert that plugins run as binaries when turning on debug logs

Signed-off-by: Mateus Oliveira <msouzaol@redhat.com>

---------

Signed-off-by: Mateus Oliveira <msouzaol@redhat.com>
2023-10-09 11:12:36 -04:00
Yang Gang
e5e99c75a0 Fix dep package describe and ci words spell. (#6924)
Signed-off-by: yanggang <gang.yang@daocloud.io>
2023-10-09 12:12:14 +05:30
Lyndon-Li
d8d66381e7 issue 6734: spread backup pod evenly
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-10-08 20:01:12 +08:00
lou
e880c0d01b update after review
Signed-off-by: lou <alex1988@outlook.com>
2023-10-07 16:33:33 +08:00
Raghuram Devarakonda
b7cc62d077 Document about item action plugin ordering. (#6719)
Signed-off-by: Raghuram Devarakonda <draghuram@gmail.com>
2023-10-06 16:11:24 -04:00
Shubham Pampattiwar
0d4e61eb24 Merge pull request #6649 from sseago/orphaned-partially-failed 2023-10-06 10:35:57 -07:00
Scott Seago
cd7e2d6fcc Expanded PR section of code standards doc
Signed-off-by: Scott Seago <sseago@redhat.com>
2023-10-04 18:07:02 -04:00
lou
58d8425952 fix lint
Signed-off-by: lou <alex1988@outlook.com>
2023-10-05 01:19:05 +08:00
lou
06ed9dcc71 add changelog
Signed-off-by: lou <alex1988@outlook.com>
2023-10-04 16:02:23 +08:00
Guang Jiong Lou
7f73acab16 Proposal to support JSON Merge Patch and Strategic Merge Patch in Resource Modifiers (#6797)
* Proposal to support JSON Merge Patch and Strategic Merge Patch in Resource Modifiers

Signed-off-by: lou <alex1988@outlook.com>

* add changelog

Signed-off-by: lou <alex1988@outlook.com>

* add conditional patches

Signed-off-by: lou <alex1988@outlook.com>

* update design

Signed-off-by: lou <alex1988@outlook.com>

* update after review

Signed-off-by: lou <alex1988@outlook.com>

* update after review

Signed-off-by: lou <alex1988@outlook.com>

---------

Signed-off-by: lou <alex1988@outlook.com>
2023-10-04 09:29:09 +05:30
Shubham Pampattiwar
5ab66728e2 Merge pull request #6843 from yanggangtony/clean-and-addlicenses
Add missing file licences and do some clean works.
2023-10-02 12:11:28 -07:00
Tiger Kaovilai
09f7744e33 remove site/ prefix from publish
Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
2023-10-02 15:07:40 -04:00
Shubham Pampattiwar
cf1aebea04 Merge pull request #6901 from kaovilai/dcosignoff
Fix code-standards url rendering for `https://developercertificate.org/)`
2023-10-02 10:12:38 -07:00
Raghuram Devarakonda
13019b943a Document pod volume host path setting for Nutanix. (#6902)
Signed-off-by: Raghuram Devarakonda <draghuram@gmail.com>
2023-10-02 09:57:11 -04:00
Tiger Kaovilai
c51b599845 Fix code-standards url rendering for https://developercertificate.org/)
Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
2023-09-29 13:55:32 -04:00
Yang Gang
fd67ecb688 Code clean for backup cmd client. (#6750)
Signed-off-by: yanggang <gang.yang@daocloud.io>
2023-09-29 12:23:12 -04:00
Wenkai Yin(尹文开)
0d79afe049 Replace the base image with paketobuildpacks image (#6883)
Replace the base image with paketobuildpacks image

Fixes #6851

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2023-09-29 12:19:51 -04:00
yanggang
11745809c4 Add missing file licences and do some clean works.
Signed-off-by: yanggang <gang.yang@daocloud.io>
2023-09-29 04:25:01 +01:00
David Zaninovic
8e01d1b9be Add support for block volumes (#6680)
Signed-off-by: David Zaninovic <dzaninovic@catalogicsoftware.com>
2023-09-28 09:44:46 -04:00
danfengliu
a22f28e876 Merge pull request #6895 from blackpiglet/fix_main_push_action_failure
Add go clean in Dockerfile and action.
2023-09-28 21:16:33 +08:00
Xun Jiang
64595cc0f7 Add go clean in Dockerfile and action.
Signed-off-by: Xun Jiang <jxun@vmware.com>
2023-09-28 20:30:05 +08:00
qiuming
c6191797b4 Merge pull request #6884 from ywk253100/230928_repo_init
Create the backup repository only when it doesn't exist
2023-09-28 17:36:44 +08:00
qiuming
dffe4f85ce Merge pull request #6893 from Lyndon-Li/fix-main-ci-out-of-space-problem
Fix CI out of disk space problem
2023-09-28 17:36:14 +08:00
Lyndon-Li
24e37c5115 fix CI out of disk space problem
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-09-28 17:13:27 +08:00
Wenkai Yin(尹文开)
61a6c1ba2a Create the backup repository only when it doesn't exist
When preparing a backup repository, Velero tries to connect to it, if fails then create it. The repository status always records the error reported by creation but the real reason maybe caused by the connect operation. This is confuseing and hard to debug

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2023-09-28 14:53:59 +08:00
lyndon
af43d96ac9 Merge pull request #6885 from Lyndon-Li/issue-fix-6880
Issue 6880: set ParallelUploadAboveSize as MaxInt64
2023-09-28 14:24:08 +08:00
Lyndon-Li
3e3ffec7cd issue 6880: set ParallelUploadAboveSize as MaxInt64
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-09-28 12:34:30 +08:00
lyndon
73ea00b477 issue 6861: fill repoIdentifier only for restic repo (#6872)
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-09-27 16:49:35 -04:00
Wenkai Yin(尹文开)
563f1ccee1 Merge pull request #6475 from nilesh-akhade/main
Add `--or-selector` for backup and restore command
2023-09-27 20:09:07 +08:00
lyndon
b6b320c85b Merge pull request #6875 from Lyndon-Li/issue-fix-6859
Issue 6859: move plugin depdending podvolume functions to util pkg
2023-09-27 11:21:24 +08:00
Xun Jiang/Bruce Jiang
66f8e4fc68 Merge pull request #6874 from OrlinVasilev/dave-emeratus
Move Dave Smith-Uchida to Emeritus Maintainer
2023-09-27 03:02:26 +08:00
Lyndon-Li
2e71cffe0e issue: move plugin depdending podvolume functions to util pkg
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-09-26 16:39:33 +08:00
OrlinVasilev
df0c6724c6 Move Dave Smith-Uchida to Emeritus Maintainer
Signed-off-by: OrlinVasilev <ovasilev@vmware.com>
2023-09-26 10:58:31 +03:00
Shubham Pampattiwar
c3ec7b71c5 Merge pull request #6715 from nilesh-akhade/metric
Remove schedule-related metrics on schedule delete
2023-09-25 10:24:04 -07:00
lou
d8b9328310 support JSON Merge Patch and Strategic Merge Patch in Resource Modifiers
Signed-off-by: lou <alex1988@outlook.com>
2023-09-25 18:00:18 +08:00
Xun Jiang/Bruce Jiang
4bf87c01ea Add some description of update existing policy to state it works in a best-effort way. (#6856)
Signed-off-by: Xun Jiang <jxun@vmware.com>
2023-09-22 14:18:42 -04:00
Wenkai Yin(尹文开)
d3e5bb7451 Merge pull request #6838 from yanggangtony/fix-metrics-backup_last_status
Change the default value of the velero_backup_last_status metrics.
2023-09-20 10:18:52 +08:00
lyndon
b42fb23991 Merge pull request #6839 from Lyndon-Li/multiple-snapshot-class-doc
Doc for multiple snapshot class
2023-09-19 16:24:52 +08:00
Lyndon-Li
f73d9dcaed doc for multiple snapshot class
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-09-19 16:09:35 +08:00
yanggang
cda722cf9d Fix the metrics backup_last_status not report right value when the schedule down unexpectation.
Signed-off-by: yanggang <gang.yang@daocloud.io>
2023-09-19 15:25:21 +08:00
Wenkai Yin(尹文开)
63c6a48f92 Merge pull request #6686 from ywk253100/230612_kopia
Make Kopia support Azure AD
2023-09-19 14:31:14 +08:00
Wenkai Yin(尹文开)
b598150cd1 Support setting CA cert for BSL
Support setting CA cert for BSL

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2023-09-19 11:28:05 +08:00
Wenkai Yin(尹文开)
3a291e368a Make Kopia support Azure AD
This commit introduces our own Azure storage provider by wrapping Kopia's implementation rather than contributing to upstream based on the following considerations:
1. Velero needs the capability to interact with the repository concurrently while Kopia doesn't, this will increase the complexity of Kopia if we contribute to upstream
2. The configuration items provided by Velero and Kopia are conflict, e.g. Velero supports customizing storage account URI which is a full path while Kopia supports customizing storage account domain which is part of the URI. We need to consider the backward compatibility and upgrade case if we contribute to upstream which needs extra efforts
3. Contribute to upstream is a longer cycle when we need to introduce new changes. With this commit, we no longer depends on upstream for the Azure storage provider part and is easy for us to maintain

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2023-09-19 11:28:04 +08:00
lyndon
5af664d361 bump kopia to v0.14 (#6833)
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-09-18 21:05:21 +08:00
Daniel Jiang
cf3cb9c4ed Merge pull request #6712 from kaovilai/jobs-label-k8s1.27
On restore, delete Kubernetes 1.27 job controller uid label
2023-09-18 16:49:50 +08:00
lyndon
8481b4c035 Merge pull request #6816 from yanggangtony/fix-docs
Fix some typos about the docs.
2023-09-18 15:07:43 +08:00
lyndon
b3df028e83 Merge pull request #6815 from AgustinRamiroDiaz/main
Typo: remove double space
2023-09-18 12:06:27 +08:00
lyndon
c85638ddb6 Merge pull request #6827 from Lyndon-Li/issue-fix-6786
Issue 6786:always delete VSC regardless of the deletion policy
2023-09-15 14:18:38 +08:00
Lyndon-Li
53489b10ad issue 6786:always delete VSC regardless of the deletion policy
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-09-15 12:10:20 +08:00
Wenkai Yin(尹文开)
185a95585a Set data mover related properties for schedule (#6824)
Set data mover related properties for schedule

Fixes #6820

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2023-09-14 18:14:06 +08:00
lyndon
3d4d184a8d Merge pull request #6822 from reasonerjt/update-kopia-repo
Switch the kopia repo to new org
2023-09-14 11:53:05 +08:00
Daniel Jiang
b7bc9a31cb Switch the kopia repo to new org
Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2023-09-14 11:18:11 +08:00
yanggang
4d1c23adfa Fix some typos about the docs.
Signed-off-by: yanggang <gang.yang@daocloud.io>
2023-09-13 23:04:08 +08:00
Agustín Díaz
ff45be6fdd Typo: remove double space
Signed-off-by: Agustín Díaz <agustin.ramiro.diaz@gmail.com>
2023-09-13 10:46:28 -03:00
Qi Xu
558a0eef03 Add doc changes after rc1 to v1.12 docs (#6812)
Signed-off-by: allenxu404 <qix2@vmware.com>
2023-09-13 18:01:01 +08:00
Clever Hu
9b1cffc007 check pod status before hook (#5211)
Signed-off-by: cleverhu <shouping.hu@daocloud.io>
Co-authored-by: cleverhu <shouping.hu@daocloud.io>
2023-09-13 14:49:46 +08:00
qiuming
402703f226 [Cherry-Pick] Optimize of removing finalizer no matter the dataupload datadownload cr is been deleted or not (#6808)
Signed-off-by: Ming Qiu <mqiu@vmware.com>
2023-09-12 11:33:33 -04:00
qiuming
8a366c6924 Merge pull request #6798 from yanggangtony/clean-some-code
Fix issue #6781,  and some code clean.
2023-09-12 14:56:27 +08:00
qiuming
c9fde84586 Merge pull request #6779 from yanggangtony/fix-log-ns-name
Keep the logs info ns/name is the same with other modules.
2023-09-12 14:55:56 +08:00
Yang Gang (成都)
ec11a5a4cc code clean for repository (#6768)
Signed-off-by: yanggang <gang.yang@daocloud.io>
2023-09-12 14:43:28 +08:00
yanggang
c97b31363d Fix some wrong logs and code clean.
Signed-off-by: yanggang <gang.yang@daocloud.io>
2023-09-11 13:38:32 +08:00
Guang Jiong Lou
246831de7b use old namespace in resource modifier (#6724)
* use old namespace in resource modifier

Signed-off-by: lou <alex1988@outlook.com>

* add changelog

Signed-off-by: lou <alex1988@outlook.com>

* update docs

Signed-off-by: lou <alex1988@outlook.com>

* updated after review

Signed-off-by: lou <alex1988@outlook.com>

---------

Signed-off-by: lou <alex1988@outlook.com>
2023-09-08 15:29:46 +05:30
lyndon
a4b5b0a79e add csi snapshot data mover doc (#6637)
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-09-08 17:17:42 +08:00
lyndon
2348099a73 Merge pull request #6788 from Lyndon-Li/issue-fix-6748-3
Fix issue 6748 [2]
2023-09-08 14:57:14 +08:00
lyndon
682422772a Merge pull request #6790 from Lyndon-Li/issue-fix-6785
Fix issue 6785
2023-09-08 14:48:41 +08:00
Lyndon-Li
13d61c27a6 fix issue 6785
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-09-08 12:34:12 +08:00
Lyndon-Li
9895428765 fix issue 6748
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-09-08 09:14:30 +08:00
lyndon
cddc89ea92 Merge pull request #6783 from kaovilai/patch-1
Show yaml example of repository password: file-system-backup.md
2023-09-07 17:44:57 +08:00
Tiger Kaovilai
d714c3c237 Show yaml example of repository password: file-system-backup.md
Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
2023-09-06 16:32:36 -04:00
yanggang
76b6077683 Keep the logs info ns/name is the same with other modules.
Signed-off-by: yanggang <gang.yang@daocloud.io>
2023-09-06 18:40:10 +08:00
Xun Jiang/Bruce Jiang
f72afc8a5a Merge pull request #6760 from blackpiglet/6752_fix
Fix #6752: add namespace exclude check.
2023-09-06 15:44:20 +08:00
Xun Jiang
79b810ed25 Fix #6752: add namespace exclude check.
Add PSA audit and warn labels.

Signed-off-by: Xun Jiang <jxun@vmware.com>
2023-09-06 14:44:30 +08:00
Daniel Jiang
a6d61ec5f6 Merge pull request #6770 from ywk253100/230906_restore
[cherry-pick]Update restore controller logic for restore deletion
2023-09-06 12:06:04 +08:00
qiuming
49bb998e59 Merge pull request #6765 from Lyndon-Li/issue-fix-6748
Fix issue 6748
2023-09-06 11:12:44 +08:00
Wenkai Yin(尹文开)
da6ac026d1 Update restore controller logic for restore deletion
1. Skip deleting the restore files from storage if the backup/BSL is not found
2. Allow deleting the restore files from storage even though the BSL is readonly

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2023-09-06 09:19:42 +08:00
lyndon
8cb04d4f69 Merge pull request #6751 from Lyndon-Li/issue-fix-6647
Fix issue 6647
2023-09-06 09:03:00 +08:00
Lyndon-Li
d13a23364f fix issue 6748
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-09-05 19:29:28 +08:00
lyndon
c9e1ade1f7 fix issue 6753 (#6757)
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-09-05 10:58:28 +08:00
Lyndon-Li
778feba3ae fix issue 6647
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-09-04 16:55:36 +08:00
Daniel Jiang
8d3a67544d Merge pull request #6726 from yanggangtony/add-license-velero-helper
Add license notes for velero-helper.
2023-09-04 14:55:51 +08:00
Anshul Ahuja
24abbdcc02 Add anshulahuja98 maintainer details (#6737)
Signed-off-by: Anshul Ahuja <anshulahuja@microsoft.com>
Co-authored-by: Anshul Ahuja <anshulahuja@microsoft.com>
2023-09-04 14:54:06 +08:00
Yang Gang (成都)
25898305ef delete unused shcema package and parms. (#6716)
Signed-off-by: yanggang <gang.yang@daocloud.io>
2023-09-04 14:50:10 +08:00
lyndon
b9b2c88c5b Merge pull request #6738 from Lyndon-Li/issue-fix-6733
Fix issue 6733
2023-09-01 17:10:29 +08:00
lyndon
1615cfd7f3 fix issue 6709 (#6741)
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-09-01 16:52:24 +08:00
qiuming
f26ec9043a Fix kopia snapshot policy not work (#6739)
Signed-off-by: Ming <mqiu@vmware.com>
2023-09-01 16:21:43 +08:00
Lyndon-Li
c4443d506c fix issue 6733
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-09-01 15:49:13 +08:00
qiuming
0e5022254f [Cherry-pick Main] Fix velero uninstall bug (#6729)
Signed-off-by: Ming <mqiu@vmware.com>
2023-08-31 16:15:24 +08:00
yanggang
f408b9f6c4 Add license notes for velero-helper.
Signed-off-by: yanggang <gang.yang@daocloud.io>
2023-08-31 14:07:34 +08:00
Guang Jiong Lou
5dd7c5cd46 add label selector in Resource Modifiers (#6704)
* add label selector in resource modifier

Signed-off-by: lou <alex1988@outlook.com>

* add ut

Signed-off-by: lou <alex1988@outlook.com>

* update after review

Signed-off-by: lou <alex1988@outlook.com>

* update after review

Signed-off-by: lou <alex1988@outlook.com>

---------

Signed-off-by: lou <alex1988@outlook.com>
2023-08-31 10:36:59 +05:30
Xun Jiang/Bruce Jiang
db6784aa81 Merge pull request #6674 from danfengliu/monitor-velero-info
monitor velero logs and fix E2E issues
2023-08-29 10:30:51 +08:00
qiuming
499ee7c5d1 Merge pull request #6717 from qiuming-best/main
[Cherry-Pick main] make velero uninstall backward compatible
2023-08-29 10:19:59 +08:00
Ming
85d5785d68 [Cherry-Pick main] make velero uninstall backward compatible
Signed-off-by: Ming <mqiu@vmware.com>
2023-08-29 01:07:41 +00:00
Nilesh Akhade
c7c441364c Remove schedule-related metrics on schedule delete
Signed-off-by: Nilesh Akhade <nakhade@catalogicsoftware.com>
2023-08-28 20:52:32 +05:30
Tiger Kaovilai
c5aad9e488 Remove legacy label version check, to be added back when version is known
Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
2023-08-28 11:08:44 -04:00
Tiger Kaovilai
f6e8c208ad changelog
Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
2023-08-28 10:45:55 -04:00
Tiger Kaovilai
7d3d818f93 Handle 1.27 k8s job label changes
per  0e86fa5115/CHANGELOG/CHANGELOG-1.27.md (L1768)

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
2023-08-28 10:42:09 -04:00
danfengl
15be42f47b monitor velero logs and fix E2E issues
1. Capture Velero pod log and K8S cluster event;
2. Fix wrong path of storageclass yaml file issue caused by pert test;
3. Fix change storageclass test issue that no sc named 'default' in EKS cluster;
4. Support AWS credential as config format;
5. Support more E2E script input parameters like standy cluster plugins and provider.

Signed-off-by: danfengl <danfengl@vmware.com>
2023-08-28 05:53:32 +00:00
lyndon
831be07dd3 fix issue 6391 (#6702)
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-08-25 16:36:41 +08:00
qiuming
164431b2b3 Merge pull request #6689 from qiuming-best/uninstall-fix
Fix delete dataupload datadownload failure when Velero uninstall
2023-08-25 11:09:47 +08:00
Xun Jiang/Bruce Jiang
497543774c Merge pull request #6618 from shubham-pampattiwar/restic-pass-doc
Add note for backup repository password configuration
2023-08-24 14:56:32 +08:00
Shubham Pampattiwar
c7422a207a add note for backup repository password configuration
Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>

address PR feedback

Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>

reword the note

Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>

change FS backups to normal backups in the note

Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>
2023-08-23 20:40:08 -07:00
Ming
7f3b7fe853 Fix delete dataupload datadownload failure when Velero uninstall
Signed-off-by: Ming <mqiu@vmware.com>
2023-08-24 03:30:28 +00:00
Daniel Jiang
3e613862e6 Merge pull request #6635 from 27149chen/skip-subresource
skip subresource in resource discovery
2023-08-22 13:39:12 +08:00
Xun Jiang/Bruce Jiang
8d0a8bac34 Update changelogs/unreleased/6649-sseago
Co-authored-by: Tiger Kaovilai <passawit.kaovilai@gmail.com>
Signed-off-by: Xun Jiang/Bruce Jiang <59276555+blackpiglet@users.noreply.github.com>
2023-08-22 10:37:59 +08:00
Xun Jiang/Bruce Jiang
a62f2fa1a3 Merge pull request #6653 from yanggangtony/fix-backup-controller-err-check
fix backup_controller when credentials to volume snapshot location sh…
2023-08-21 17:12:17 +08:00
lyndon
7d23ad9772 Merge pull request #6677 from danfengliu/add-default-plugin-for-1.12
Add default plugin setting for Velero v1.12 in E2E test
2023-08-18 17:34:46 +08:00
Xun Jiang/Bruce Jiang
ecfc907f33 Merge pull request #6673 from allenxu404/v1.12-doc
Add v1.12 docs
2023-08-18 17:31:47 +08:00
danfengl
3a00945b44 Add default plugin setting for Velero v1.12 in E2E test
Signed-off-by: danfengl <danfengl@vmware.com>
2023-08-18 09:05:46 +00:00
lyndon
db8aa22b1b Merge pull request #6675 from allenxu404/v1.12-changelog
Add v1.12 changelog
2023-08-18 16:47:50 +08:00
allenxu404
9e2acc987d Add v1.12 changelog
Signed-off-by: allenxu404 <qix2@vmware.com>
2023-08-18 16:05:50 +08:00
allenxu404
872b3a17f6 Add v1.12 docs
Signed-off-by: allenxu404 <qix2@vmware.com>
2023-08-18 13:41:28 +08:00
Daniel Jiang
e1a49f75f6 Merge pull request #6672 from allenxu404/readme
Update readme and move implemented designs
2023-08-18 13:16:09 +08:00
allenxu404
5224be9dfb Update readme and move implemented designs
Signed-off-by: allenxu404 <qix2@vmware.com>
2023-08-18 12:02:41 +08:00
danfengliu
c5ccd8199b Merge pull request #6644 from danfengliu/replace-pod-with-deploy
Replace pod with deployment in E2E test
2023-08-18 11:04:47 +08:00
danfengl
172166749e Replace pod with deployment in E2E test
Signed-off-by: danfengl <danfengl@vmware.com>
2023-08-18 01:57:43 +00:00
Shawn Hurley
0e7c41780e Adding design updates to handle block device with kopia (#6590)
Signed-off-by: Shawn Hurley <shawn@hurley.page>
2023-08-17 13:36:35 -04:00
Daniel Jiang
5e13f8172b Merge pull request #6667 from Lyndon-Li/issue-fix-6662
Fix issue 6662
2023-08-17 16:57:46 +08:00
Lyndon-Li
dac28084a3 issue fix 6662
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-08-17 11:35:18 +08:00
Daniel Jiang
30e54b026f Remove the incorrect group of pvc from modifer doc (#6661)
Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2023-08-16 15:45:00 +08:00
Xun Jiang/Bruce Jiang
dd07a08a02 Merge pull request #6659 from qiuming-best/resourcemodifiers
Fix resource modifiers e2e case
2023-08-16 15:13:32 +08:00
Ming
3f05a7dc1d Fix resource modifiers case
Signed-off-by: Ming <mqiu@vmware.com>
2023-08-16 03:34:59 +00:00
Anshul Ahuja
e753a08f85 E2E test for Resource Modifier & Bug fixes (#6483)
* Add resource modifier e2e test and bug fixes

Signed-off-by: Anshul Ahuja <anshulahuja@microsoft.com>
2023-08-16 11:09:59 +08:00
Daniel Jiang
0b30adb35a Merge pull request #6608 from shawn-hurley/feature/add-provider-interface-blockmod
Feature/add provider interface for block mode
2023-08-16 11:09:36 +08:00
qiuming
e3b6063655 Merge pull request #6569 from qiuming-best/perf-test
Add performance E2E test
2023-08-16 10:13:34 +08:00
Shawn Hurley
563a16c10f adding block mode to uploader/provider interfaces
Signed-off-by: Shawn Hurley <shawn@hurley.page>
2023-08-15 15:33:23 -04:00
yanggang
46ef54e80a fix backup_controller when credentials to volume snapshot location show error.
Signed-off-by: yanggang <gang.yang@daocloud.io>
2023-08-15 19:36:07 +08:00
Ming
f890033ee8 Merge branch 'main' of https://github.com/qiuming-best/velero into perf-test 2023-08-15 07:57:01 +00:00
qiuming
411bd54920 Merge pull request #6616 from qiuming-best/add-accept-label
Fix data mover controller bugs
2023-08-15 12:04:31 +08:00
Ming Qiu
3b45830012 Add performance E2E test
Signed-off-by: Ming Qiu <mqiu@vmware.com>
2023-08-15 01:46:36 +00:00
Scott Seago
441a32a861 Deal with PartiallyFailed orphaned backups as well as Completed ones
Fixes https://github.com/vmware-tanzu/velero/issues/6648

Signed-off-by: Scott Seago <sseago@redhat.com>
2023-08-14 13:40:32 -04:00
Ming Qiu
5485616abf Fix data mover bugs #6550 #6563 #6600
Signed-off-by: Ming Qiu <mqiu@vmware.com>
2023-08-14 08:37:19 +00:00
Daniel Jiang
713792d63e Merge pull request #6634 from 27149chen/allow-update-gv
Get resource client again after restore actions in case resource's gv is changed
2023-08-14 14:15:05 +08:00
lou
797267c89a add changelog
Signed-off-by: lou <alex1988@outlook.com>
2023-08-11 10:11:24 +08:00
lou
0f9e582fd9 add changelog
Signed-off-by: lou <alex1988@outlook.com>
2023-08-11 10:05:23 +08:00
lou
dc83981871 skip subresource in resource discovery
Signed-off-by: lou <alex1988@outlook.com>
2023-08-10 19:13:25 +08:00
lou
1784f63b93 get resource client again after restore actions in case resource's gv is changed
Signed-off-by: lou <alex1988@outlook.com>
2023-08-10 18:55:27 +08:00
danfengliu
a88cb465a4 Merge pull request #6632 from danfengliu/make-cls-worker-node-count-configurable
[E2E Test] The minimum worker node count of workload cluster should be 2
2023-08-10 16:30:32 +08:00
qiuming
7311fb4df9 Merge pull request #6627 from Lyndon-Li/continue-wait-on-csi-snapshot-error
Continue wait on csi snapshot error
2023-08-10 12:27:34 +08:00
qiuming
543d8d52c8 Merge pull request #6625 from allenxu404/upgrade-doc
Add upgrade doc to v1.12
2023-08-10 11:37:40 +08:00
Lyndon-Li
b90c5bba3d continue wait on csi snapshot error
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-08-10 11:34:26 +08:00
Daniel Jiang
206c4f214e Merge pull request #6598 from luisdavim/fix_aws_creds
fix: load AWS config and assume role
2023-08-10 10:55:04 +08:00
Daniel Kucera
0ec0c963d2 Allow updated resource version (#6499)
Signed-off-by: Daniel Kucera <daniel.kucera@gmail.com>
2023-08-10 10:44:15 +08:00
allenxu404
a26f0b972f add upgrade doc for 1.12
Signed-off-by: allenxu404 <qix2@vmware.com>
2023-08-09 20:41:00 +08:00
Luis Davim
28c5dc9fda fix: load AWS config and assume role
Signed-off-by: Luis Davim <dluis@vmware.com>
2023-08-09 13:26:30 +01:00
qiuming
685db899d6 Merge pull request #6626 from allenxu404/modify-output
Modify output for command of `restore delete`
2023-08-09 17:32:39 +08:00
allenxu404
7a8a68d9e9 modify output for command of restore delete
Signed-off-by: allenxu404 <qix2@vmware.com>
2023-08-09 15:58:31 +08:00
Wenkai Yin(尹文开)
e9c170cb15 Upgrade to v3 for the codecov action (#6622)
Upgrade to v3 for the codecov action

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2023-08-09 14:08:01 +08:00
Qi Xu
5f463c59ec add "Deleting" phase for restore display (#6604)
Signed-off-by: allenxu404 <qix2@vmware.com>
2023-08-08 17:16:53 -04:00
lyndon
81057b9983 Merge pull request #6621 from Lyndon-Li/data-mover-fail-earlier-for-snapshot-creation-error
Data mover fail earlier for snapshot creation error
2023-08-08 14:29:41 +08:00
Xun Jiang/Bruce Jiang
b7a05b384e Merge pull request #6619 from Lyndon-Li/issue-fix-6614
Fix issue 6614
2023-08-08 13:51:56 +08:00
Lyndon-Li
22c88ba330 data mover fail earlier for snapshot creation error
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-08-08 12:05:56 +08:00
Lyndon-Li
b51d1a0202 fix issue 6614
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-08-08 09:46:35 +08:00
qiuming
f78dd073bf Merge pull request #6558 from kaovilai/s3profilefix
GetS3Credentials pass profile from config to NewSharedCredentials
2023-08-07 16:38:25 +08:00
lyndon
ab162fa67d Merge pull request #6584 from anshulahuja98/patch-6
Fix indent in resource modifier docs
2023-08-07 14:16:25 +08:00
danfengl
c637057dab The minimum worker node count of wowrkload cluster should be 2
Signed-off-by: danfengl <danfengl@vmware.com>
2023-08-06 08:35:38 +00:00
Xun Jiang/Bruce Jiang
1777bbe5b4 Add warning log for snapshot data mover fell backup to Velero native snapshot. (#6602)
Enlarge throttle of UT case TestThrottle_ShouldOutput to avoid occasional CI
failure due to timeout caused by test environment's CPU speed

Signed-off-by: Xun Jiang <jxun@vmware.com>
2023-08-04 18:09:21 +08:00
Xun Jiang/Bruce Jiang
d027a1641d Merge pull request #6591 from allenxu404/finalizer-enhance
Enhance uninstall and backup deletion for restore finalizer
2023-08-03 17:23:07 +08:00
allenxu404
846f0de178 enhance uninstall and backup deletion for restore finalizer
Signed-off-by: allenxu404 <qix2@vmware.com>
2023-08-03 16:43:33 +08:00
lyndon
06628cfecc Merge pull request #6594 from Lyndon-Li/issue-fix-6571
Fix issue 6571
2023-08-03 15:09:47 +08:00
lyndon
bb74c352fb Merge pull request #6578 from Lyndon-Li/issue-fix-6560
Fix issue 6560
2023-08-03 14:55:09 +08:00
Lyndon-Li
69bc84cf0c fix issue 6571
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-08-03 14:46:02 +08:00
lyndon
bb96c2155c fix issue 6575 (#6587)
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-08-02 10:27:05 -04:00
Anshul Ahuja
0da9134f15 Update restore-resource-modifiers.md
Fix indent in resource modifier docs

Signed-off-by: Anshul Ahuja <anshul.ahu@gmail.com>

Fix
2023-08-02 14:17:49 +05:30
Xun Jiang/Bruce Jiang
7135f16e31 Merge pull request #6564 from Lyndon-Li/issue-fix-6561-02
Fix issue 6561
2023-08-02 10:05:45 +08:00
Lyndon-Li
7cf3559fab fix issue 6560
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-08-01 21:37:51 +08:00
Lyndon-Li
d6134ec444 fix issue 6561
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-08-01 21:10:01 +08:00
Xun Jiang/Bruce Jiang
18586bc6af Merge pull request #6501 from anshulahuja98/resourcemodifierdocs
Add Resource modifiers docs / site
2023-08-01 10:58:22 +08:00
Xun Jiang/Bruce Jiang
9ba0bcc2a2 Merge pull request #6295 from kaovilai/speedup-fmt
Speedup update-1fmt.sh by removing xargs, printf.
2023-08-01 10:48:45 +08:00
Yang Gang
16613f5fe1 Fix the velero crd define locations. (#6554)
Signed-off-by: yanggang <gang.yang@daocloud.io>
2023-07-31 15:58:07 +08:00
Daniel Jiang
3e631ca466 Merge pull request #6555 from yanggangtony/clean-server
Delete redundance checkNodeAgent code
2023-07-31 14:42:21 +08:00
Daniel Jiang
462022ce72 Merge pull request #6541 from yanggangtony/fix-typos
Fix some typos for DataMovers type.
2023-07-31 14:39:31 +08:00
Tiger Kaovilai
289aae1581 GetS3Credentials pass profile from config to NewSharedCredentials
Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
2023-07-28 11:26:40 -04:00
yanggang
2f20fac78b Delete redundance checkNodeAgent code
Signed-off-by: yanggang <gang.yang@daocloud.io>
2023-07-28 16:16:26 +08:00
Anshul Ahuja
94d3494d25 Add docs for resourcemodifiers
Signed-off-by: Anshul Ahuja <anshulahuja@microsoft.com>
2023-07-27 15:28:54 +05:30
lyndon
a6d79fc272 Merge pull request #6481 from blackpiglet/6444_fix
Remove PVC's selector in backup's PVC action.
2023-07-27 15:43:27 +08:00
Xun Jiang/Bruce Jiang
f666667e5b Merge pull request #6547 from reasonerjt/del-moved-snapshot
Delete moved snapshots when the backup is deleted
2023-07-27 15:10:33 +08:00
Daniel Jiang
b0a343cd48 Delete moved snapshots when the backup is deleted
This commit introduces a deleteItemAction which writes a temporary configmap to
record the snapshot info so that the controller can trigger repo manager
to remove the snapshot

This process is a bit chatty and we should consider to refactor the code
so it's easier to connect to the repo directly in the DIA

Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2023-07-27 13:27:33 +08:00
Xun Jiang
33b21a380c Remove PVC's selector in backup's PVC action.
Signed-off-by: Xun Jiang <jxun@vmware.com>
2023-07-27 10:09:00 +08:00
Xun Jiang/Bruce Jiang
6997e4a694 Merge pull request #6476 from reasonerjt/del-inprog-dbr
Delete the expired deletebackuprequests that are stuck in "InProgress"
2023-07-26 16:13:58 +08:00
Xun Jiang/Bruce Jiang
81c916fb12 Merge pull request #6544 from allenxu404/enhance-uninstall
Check if restore crd exist before operating restore
2023-07-26 11:24:26 +08:00
yanggang
ceccd5a92c Fix some typos for DataMovers type.
Signed-off-by: yanggang <gang.yang@daocloud.io>
2023-07-25 23:11:49 +08:00
allenxu404
6dbdc54dc7 check if restore crd exist before operating restore
Signed-off-by: allenxu404 <qix2@vmware.com>
2023-07-25 18:54:42 +08:00
lyndon
9c8275eda7 Merge pull request #6533 from Lyndon-Li/data-mover-wrong-bsl-after-sync
Data mover wrong bsl after sync
2023-07-25 14:20:10 +08:00
Lyndon-Li
74bf03b272 data mover wrong bsl after sync
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-07-25 12:38:09 +08:00
Daniel Jiang
4379b9a025 Merge pull request #6532 from yanggangtony/fix-wrong-log-controller
Fix wrong log for server controller logs.
2023-07-24 14:32:48 +08:00
Shubham Pampattiwar
eb35f127e2 Merge pull request #6524 from yanggangtony/fix-log-scheduler 2023-07-23 18:44:47 -07:00
Xun Jiang/Bruce Jiang
605eab1eb8 Merge pull request #6531 from yanggangtony/delete-io-util
delete io/ioutil package as it is deprecated
2023-07-24 09:42:55 +08:00
Mateus Oliveira
913b610196 fix: Typos and add more spell checking rules to CI (#6415)
* fix: Typos and add more spell checking rules to CI

Signed-off-by: Mateus Oliveira <msouzaol@redhat.com>

* fixup! fix: Typos and add more spell checking rules to CI

Signed-off-by: Mateus Oliveira <msouzaol@redhat.com>

* fixup! fix: Typos and add more spell checking rules to CI

Signed-off-by: Mateus Oliveira <msouzaol@redhat.com>

* fixup! fix: Typos and add more spell checking rules to CI

Signed-off-by: Mateus Oliveira <msouzaol@redhat.com>

* fixup! fix: Typos and add more spell checking rules to CI

Signed-off-by: Mateus Oliveira <msouzaol@redhat.com>

* fixup! fix: Typos and add more spell checking rules to CI

Signed-off-by: Mateus Oliveira <msouzaol@redhat.com>

* fixup! fix: Typos and add more spell checking rules to CI

Signed-off-by: Mateus Oliveira <msouzaol@redhat.com>

* fixup! fix: Typos and add more spell checking rules to CI

Signed-off-by: Mateus Oliveira <msouzaol@redhat.com>

---------

Signed-off-by: Mateus Oliveira <msouzaol@redhat.com>
2023-07-21 17:25:24 -04:00
Efim Smykov
8396163e77 add missing CompletionTimestamp and metrics when restore moved into terminal phase (#6397)
Signed-off-by: Nutrymaco <efim7299@icloud.com>
2023-07-21 17:22:01 -04:00
Shubham Pampattiwar
178b073ffb Merge pull request #6530 from ywk253100/230721_changelog
Update the CHANGELOG.md
2023-07-21 14:09:00 -07:00
Xun Jiang/Bruce Jiang
7c80939d89 Merge pull request #6474 from blackpiglet/6422_doc
Add immutability supporting limitation in documents.
2023-07-21 18:13:02 +08:00
yanggang
970938c89a Fix wrong log for server controller logs.
Signed-off-by: yanggang <gang.yang@daocloud.io>
2023-07-21 16:35:26 +08:00
yanggang
bcc69f33f9 delete io/ioutil package as it is deprecated
Signed-off-by: yanggang <gang.yang@daocloud.io>
2023-07-21 15:18:31 +08:00
Wenkai Yin(尹文开)
2562e7d336 Update the CHANGELOG.md
Update the CHANGELOG.md

fixes #6401

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2023-07-21 09:25:27 +08:00
qiuming
32262babc4 Merge pull request #6479 from allenxu404/i2697
add restore finalizer to clean up external resources
2023-07-20 19:07:02 +08:00
danfengliu
4320cd07a2 Merge pull request #6509 from danfengliu/adapt-k8s-1.27-api
Support AP IVersion V1  for CR volumesnapshotclass in E2E test and FIx plugin parameter issue
2023-07-20 19:01:06 +08:00
danfengl
35697a9509 Support API Version V1 for CR volumesnapshotclass in E2E test
1. In K8S v1.27 API Version v1beta1 for CR volumesnapshotclass is deprcated, so E2E test should adapt both API versions to cover all K8S versio;
2. Support getting additional plugin from input;
3. Velero version and plugin map should not deprated version older than v1.10, because upgrade test will use them.

Signed-off-by: danfengl <danfengl@vmware.com>
2023-07-20 08:57:15 +00:00
Daniel Jiang
2548b20db9 Track the skipped PV in a backup and print the summary in backup log (#6496)
Partially address the requirements in #5834

Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2023-07-20 16:13:48 +08:00
yanggang
c5af315d19 fix scheduleReconciler log info
Signed-off-by: yanggang <gang.yang@daocloud.io>
2023-07-20 13:46:08 +08:00
lyndon
b4181ef803 restict namespace to node-agent cache (#6523)
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-07-19 16:23:28 -04:00
Shubham Pampattiwar
d2b5e902c5 Merge pull request #6430 from anshulahuja98/patch-4
Update tilt ubuntu image to avoid glibc error
2023-07-19 10:01:29 -07:00
allenxu404
0bb509ccdd add restore finalizer to clean up external resources
Signed-off-by: allenxu404 <qix2@vmware.com>
2023-07-19 18:56:35 +08:00
Nilesh Akhade
d9a7e2b6ca Add 'orLabelSelector' for backup, restore command
Signed-off-by: Nilesh Akhade <nakhade@catalogicsoftware.com>
2023-07-19 16:16:35 +05:30
Daniel Jiang
f234dd6f08 Merge pull request #6452 from anshulahuja98/resourcemodifier
Add support for ResourceModifier (AKA Json Substitutions) in restore flow
2023-07-19 16:11:54 +08:00
Anshul Ahuja
c8f970a4f1 Merge branch 'main' into resourcemodifier
Signed-off-by: Anshul Ahuja <anshul.ahu@gmail.com>
2023-07-19 11:11:40 +05:30
Xun Jiang
ccece7c855 Add RetentionPolicy supporting limitation in documents.
Signed-off-by: Xun Jiang <jxun@vmware.com>
2023-07-19 09:36:45 +08:00
Xun Jiang/Bruce Jiang
c4286d7b34 Merge pull request #6511 from blackpiglet/improve_ut_coverage
Improve pkg/cmd/cli package UT coverage.
2023-07-18 15:42:08 +08:00
Xun Jiang
4a222b76c6 Improve backup log command UT coverage.
Signed-off-by: Xun Jiang <jxun@vmware.com>
2023-07-18 14:41:55 +08:00
Xun Jiang/Bruce Jiang
e51a9d4e1e Integrate pushing to docker hub and gcr.io in one docker build and push command. (#6199)
Signed-off-by: Xun Jiang <blackpiglet@gmail.com>
Signed-off-by: Xun Jiang/Bruce Jiang <59276555+blackpiglet@users.noreply.github.com>
Co-authored-by: Xun Jiang <blackpiglet@gmail.com>
2023-07-18 08:05:57 +08:00
Xun Jiang/Bruce Jiang
55987c3093 Merge pull request #6497 from blackpiglet/6190_fix_part_2
Remove dependency of the legacy client code from pkg/cmd directory part 2
2023-07-17 17:58:34 +08:00
Xun Jiang
9e515ac397 Remove dependency of the legacy client code from pkg/cmd directory part 2.
Signed-off-by: Xun Jiang <jxun@vmware.com>
2023-07-17 17:04:53 +08:00
lyndon
b5bd55fc56 fix issue 6490 (#6491)
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-07-14 14:05:51 -04:00
lyndon
ddc50affa9 Merge pull request #6492 from Lyndon-Li/data-mover-restore-abort-for-existing-pvc
Data mover restore abort for existing PVC
2023-07-14 17:19:53 +08:00
lyndon
dfd7970219 Merge pull request #6469 from blackpiglet/6190_fix
Remove dependency of the legacy client code from pkg/cmd directory part 1
2023-07-14 17:15:56 +08:00
Xun Jiang
89d3ad4864 Remove dependency of the legacy client code from pkg/cmd directory.
Signed-off-by: Xun Jiang <jxun@vmware.com>
2023-07-14 15:55:09 +08:00
qiuming
82e1ebbe0c Merge pull request #6493 from allenxu404/i6130
Add data upload/download metrics
2023-07-14 11:25:11 +08:00
allenxu404
084fd66586 add data upload/download metrics
Signed-off-by: allenxu404 <qix2@vmware.com>
2023-07-14 10:47:53 +08:00
Lyndon-Li
eebb879278 data mover restore abort for existing pvc
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-07-14 10:07:33 +08:00
Anshul Ahuja
967152c406 Proposal to add support for Resource Modifier (AKA JSON Substitutions) in Restore workflow (#5880)
* Design proposal

Signed-off-by: Anshul Ahuja <anshulahuja@microsoft.com>

* spell

Signed-off-by: Anshul Ahuja <anshulahuja@microsoft.com>

* add kubectl reference

Signed-off-by: Anshul Ahuja <anshulahuja@microsoft.com>

* patch order

Signed-off-by: Anshul Ahuja <anshulahuja@microsoft.com>

---------

Signed-off-by: Anshul Ahuja <anshulahuja@microsoft.com>
Co-authored-by: Anshul Ahuja <anshulahuja@microsoft.com>
2023-07-13 17:03:12 -04:00
Anshul Ahuja
9fe7a1d136 lint
Signed-off-by: Anshul Ahuja <anshulahuja@microsoft.com>
2023-07-13 13:59:37 +05:30
Anshul Ahuja
c0ca69dc87 Improve test coverage
Signed-off-by: Anshul Ahuja <anshulahuja@microsoft.com>
2023-07-13 13:52:49 +05:30
Anshul Ahuja
f156a2cd52 add from field and enhance coverage
Signed-off-by: Anshul Ahuja <anshulahuja@microsoft.com>
2023-07-13 12:01:41 +05:30
Anshul Ahuja
7396e64409 Add separate handling for test operator with test
Signed-off-by: Anshul Ahuja <anshulahuja@microsoft.com>
2023-07-13 10:26:28 +05:30
Anshul Ahuja
16ec2db1f7 regex matchstring error parsing
Signed-off-by: Anshul Ahuja <anshulahuja@microsoft.com>
2023-07-13 10:10:37 +05:30
Anshul Ahuja
4a28b3b16f start end operator in test
Signed-off-by: Anshul Ahuja <anshulahuja@microsoft.com>
2023-07-13 09:44:03 +05:30
lyndon
17d782f2bb Merge pull request #6484 from kaovilai/unkopia-for-plugins
Move kopia logging from util/logging to remove indirect dependency in velero plugins
2023-07-13 10:42:33 +08:00
Shubham Pampattiwar
017d6ceb72 Merge pull request #6398 from draghuram/snapshot-docs
Clarify that snapshot data is not uploaded to the object storage.
2023-07-12 11:14:14 -07:00
Tiger Kaovilai
05722876b9 Moving kopia logging to remove kopia from indirect dependency in velero plugins
when running `go mod why -m github.com/kopia/kopia` in velero-plugins prior to this change you will see following

```
❯ go mod why -m github.com/kopia/kopia
github.com/konveyor/openshift-velero-plugin/velero-plugins
github.com/vmware-tanzu/velero/pkg/plugin/framework
github.com/vmware-tanzu/velero/pkg/util/logging
github.com/kopia/kopia/repo/logging
```

after
```
❯ go mod why -m github.com/kopia/kopia
(main module does not need module github.com/kopia/kopia)
```

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
2023-07-12 10:44:33 -04:00
Anshul Ahuja
ce7d2bfc87 add more logs
Signed-off-by: Anshul Ahuja <anshulahuja@microsoft.com>
2023-07-11 11:16:44 +05:30
Anshul Ahuja
f5b6cf5b93 minor fixes
Signed-off-by: Anshul Ahuja <anshulahuja@microsoft.com>
2023-07-11 10:00:08 +05:30
lyndon
49e80580b7 Merge pull request #6461 from qiuming-best/mark-crs-failed
Mark dataupload/datadownload in cancel when velero pod restart
2023-07-11 11:16:46 +08:00
Ming
e0bfd676cc Merge branch 'main' of https://github.com/qiuming-best/velero into mark-crs-failed 2023-07-11 02:42:46 +00:00
lyndon
0945879a8a Merge pull request #6472 from Lyndon-Li/add-wait-timeout-for-expose-prepare
Add timeout for backup/restore expose
2023-07-11 09:56:49 +08:00
danfengliu
a07bbb551b Merge pull request #6447 from danfengliu/add-plugin-for-datamover-e2e-test
Support datamover test in E2E script
2023-07-10 18:16:37 +08:00
Anshul Ahuja
700a34901a fix test
Signed-off-by: Anshul Ahuja <anshulahuja@microsoft.com>
2023-07-10 15:02:45 +05:30
Lyndon-Li
9f5162ece3 add wait timeout for expose prepare
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-07-10 17:32:10 +08:00
Anshul Ahuja
4931a780f7 make optional CLI field and add test cases.
Signed-off-by: Anshul Ahuja <anshulahuja@microsoft.com>
2023-07-10 14:45:53 +05:30
Ming Qiu
480fe445b1 Mark dataupload datadownload status failed when velero pod restart
Signed-off-by: Ming Qiu <mqiu@vmware.com>
2023-07-10 07:14:24 +00:00
Daniel Jiang
f6294cc2a3 Merge pull request #6473 from draghuram/fsr
Clarify FSB restore pod status.
2023-07-10 14:25:16 +08:00
Anshul Ahuja
8db88bd392 Merge branch 'main' into resourcemodifier 2023-07-10 11:33:49 +05:30
Daniel Jiang
c500e8dc34 Delete the expired deletebackuprequests that are stuck in "InProgress"
state

Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2023-07-10 10:15:19 +08:00
danfengl
bc8742566b Install plugin for datamover pipeline
Signed-off-by: danfengl <danfengl@vmware.com>
2023-07-10 02:02:50 +00:00
Raghuram Devarakonda
cc468873db Clarify FSB restore pod status.
Signed-off-by: Raghuram Devarakonda <draghuram@gmail.com>
2023-07-07 10:34:06 -04:00
lyndon
7deae4cbf5 Merge pull request #6459 from blackpiglet/6001_fix
Add exit code log and possible memory shortage warning log for Restic command failure
2023-07-07 09:24:16 +08:00
Anshul Ahuja
d89a8e0bdd debug e2e 2
Signed-off-by: Anshul Ahuja <anshulahuja@microsoft.com>
2023-07-06 15:09:26 +05:30
Anshul Ahuja
a1ec3b553c debug e2e tests
Signed-off-by: Anshul Ahuja <anshulahuja@microsoft.com>
2023-07-06 14:54:36 +05:30
Daniel Jiang
2ea24f65d9 Merge pull request #6467 from Lyndon-Li/add-node-name-data-mover-cr
Add node name to data mover CR
2023-07-06 15:50:57 +08:00
lyndon
f1e7931a25 Merge pull request #6464 from kayrus/openstack-cis-zone-labels
Add support for OpenStack CSI drivers topology keys
2023-07-06 15:16:58 +08:00
Shubham Pampattiwar
8cba0a05e5 Merge pull request #6465 from kaovilai/fsb-typo
typo: s/inokes/invokes
2023-07-05 23:57:57 -07:00
Lyndon-Li
8a7aa2051c add node name data mover CR
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-07-06 14:06:28 +08:00
Anshul Ahuja
4e6d31dc38 linting
Signed-off-by: Anshul Ahuja <anshulahuja@microsoft.com>
2023-07-06 11:29:33 +05:30
Anshul Ahuja
4b3f6d41cb remove comments
Signed-off-by: Anshul Ahuja <anshulahuja@microsoft.com>
2023-07-06 10:49:35 +05:30
Anshul Ahuja
3923d382fd Fix CI
Signed-off-by: Anshul Ahuja <anshulahuja@microsoft.com>
2023-07-06 10:44:33 +05:30
Anshul Ahuja
a00cf9ad2c refactor
Signed-off-by: Anshul Ahuja <anshulahuja@microsoft.com>
2023-07-06 10:31:05 +05:30
Anshul Ahuja
6307a43004 Add test case
Signed-off-by: Anshul Ahuja <anshulahuja@microsoft.com>
2023-07-06 10:14:49 +05:30
qiuming
daf20b8796 Merge pull request #6448 from zhangzhiqiangcs/fix-doc-typo
fix doc typo
2023-07-06 11:39:17 +08:00
Tiger Kaovilai
ff83d5e0c9 typo: s/inokes/invokes
Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
2023-07-05 12:37:16 -04:00
kayrus
e71ee0cc5f Add support for OpenStack CSI drivers topology keys
Signed-off-by: kayrus <kayrus@users.noreply.github.com>
2023-07-05 17:27:24 +02:00
Xun Jiang
d7f1ea4fbd Add exit code log and possible memory shortage warning log for Restic command failure.
Signed-off-by: Xun Jiang <jxun@vmware.com>
2023-07-05 21:35:52 +08:00
Anshul Ahuja
ed4437ad22 initial draft
Signed-off-by: Anshul Ahuja <anshulahuja@microsoft.com>
2023-07-05 13:51:32 +05:30
Xun Jiang/Bruce Jiang
e54a8af0ad Merge pull request #6433 from blackpiglet/6010_fix
Modify DownloadRequest controller logic
2023-07-05 10:48:13 +08:00
qiuming
85c3599ac4 Merge pull request #6458 from qiuming-best/data-download-controller-ut
Add data download controller UT
2023-07-04 17:07:04 +08:00
lyndon
c55bd26e13 Merge pull request #6456 from blackpiglet/limit_label_length
Limit label "velero.io/pvc-namespace-name" length to 63.
2023-07-04 16:48:19 +08:00
Ming Qiu
2f667f5191 Add data download controller UT
Signed-off-by: Ming Qiu <mqiu@vmware.com>
2023-07-04 08:47:49 +00:00
Xun Jiang
7b4d4c7275 Limit label "velero.io/pvc-namespace-name" length to 63.
1. Limit label length.
2. Modify UT accordingly.
3. Remove unnecessary const variable.

Signed-off-by: Xun Jiang <jxun@vmware.com>
2023-07-04 15:10:34 +08:00
Xun Jiang/Bruce Jiang
5171ab0dca Merge pull request #6434 from allenxu404/i6038
Fix hook filter display issue for backup describer
2023-07-03 17:54:40 +08:00
Xun Jiang
40b2ee1323 Modify DownloadRequest controller logic
1. Avoid patch DownloadRequest when it's deleted.
2. Add periodic enqueue resource for reconcile.

Signed-off-by: Xun Jiang <jxun@vmware.com>
2023-07-03 17:11:48 +08:00
Daniel Jiang
ae27889ad9 Merge pull request #6442 from ywk253100/230630_ut_persistence
Add more unit test cases for pkg/persistence
2023-07-03 16:56:54 +08:00
Anshul Ahuja
bb20d0d2f2 add changelog
Signed-off-by: Anshul Ahuja <anshulahuja@microsoft.com>
2023-07-03 14:02:58 +05:30
Anshul Ahuja
5424b07bb3 restore flow changes
Signed-off-by: Anshul Ahuja <anshulahuja@microsoft.com>
2023-07-03 13:48:24 +05:30
Anshul Ahuja
cc76bc0c11 Update tilt ubuntu image to 22.04 to fix glibc issue
Signed-off-by: Anshul Ahuja <anshul.ahu@gmail.com>
2023-07-03 08:03:37 +00:00
Xun Jiang/Bruce Jiang
3bdca9fe63 Merge pull request #5774 from anshulahuja98/csimultivscprop
Design to add support for Multiple VolumeSnapshotClasses in CSI Plugin
2023-07-03 14:56:47 +08:00
lyndon
98803bbe65 Merge pull request #6446 from qiuming-best/data-path-concurrent
Fix data path concurrent
2023-07-03 09:58:13 +08:00
Zhiqiang Zhang
0416b93b07 fix doc typo
Signed-off-by: zhangzhiqiang02 <zhangzhiqiang02@megvii.com>
2023-07-01 21:53:47 +08:00
Mateus Oliveira
dcdd5f99d6 fix: Remove duplicated stale job (#6416)
* fix: Remove duplicated stale job

Signed-off-by: Mateus Oliveira <msouzaol@redhat.com>

* fixup! fix: Remove duplicated stale job

Signed-off-by: Mateus Oliveira <msouzaol@redhat.com>

* fixup! fix: Remove duplicated stale job

Signed-off-by: Mateus Oliveira <msouzaol@redhat.com>

---------

Signed-off-by: Mateus Oliveira <msouzaol@redhat.com>
2023-06-30 15:15:37 -04:00
Ming
22a99c34b9 Fix data path concurrent
Signed-off-by: Ming <mqiu@vmware.com>
2023-06-30 18:18:31 +00:00
lyndon
9652eb08e3 Merge pull request #6445 from Lyndon-Li/fix-concurrent-repo-ensure-problem
Fix concurrent repo ensure problem
2023-06-30 18:39:11 +08:00
Lyndon-Li
65cb25a74c fix concurrent repo ensure problem
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-06-30 14:48:51 +08:00
Xun Jiang/Bruce Jiang
84eca51d22 Merge pull request #6410 from blackpiglet/6117_fix
Retrieve DataUpload into result ConfigMap during volume snapshot restore.
2023-06-30 14:30:30 +08:00
Xun Jiang
e205e2122d Retrieve DataUpload into backup result ConfigMap during volume snapshot restore.
Fix issue #6117.
Add CSI plugin needs builder functions.

Signed-off-by: Xun Jiang <jxun@vmware.com>
2023-06-30 11:18:36 +08:00
Xun Jiang/Bruce Jiang
4208208f6b Merge branch 'main' into 6117_fix
Signed-off-by: Xun Jiang/Bruce Jiang <59276555+blackpiglet@users.noreply.github.com>
2023-06-30 11:15:21 +08:00
Xun Jiang
ec4bb42117 Retrieve DataUpload into backup result ConfigMap during volume snapshot restore.
Fix issue #6117.
Add CSI plugin needs builder functions.

Signed-off-by: Xun Jiang <jxun@vmware.com>
2023-06-30 11:13:04 +08:00
lyndon
89ae6cc29b Merge pull request #6436 from qiuming-best/data-download-controller
Add data download controller
2023-06-30 10:12:53 +08:00
Wenkai Yin(尹文开)
f2f479fe3a Add more unit test cases for pkg/persistence
Add more unit test cases for pkg/persistence

Fixes #6340

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2023-06-30 09:48:21 +08:00
Peter Pan
a97d01f7e6 Fix the snapshot log wording to be more accurate (#6395)
Signed-off-by: Peter Pan <Peter.Pan@daocloud.io>
2023-06-30 08:14:10 +08:00
Ming
1bfcee776c Add data download controller
Signed-off-by: Ming <mqiu@vmware.com>
2023-06-29 13:28:19 +00:00
allenxu404
75833eaa5b fix hook filter display issue for backup describer
Signed-off-by: allenxu404 <qix2@vmware.com>
2023-06-29 16:37:34 +08:00
lyndon
bbef180a0f Merge pull request #6432 from Lyndon-Li/add-ut-for-repository
Add UT for pkg/repository
2023-06-29 16:07:11 +08:00
Lyndon-Li
38d5003c6b add ut for pkg/repository
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-06-29 07:40:59 +00:00
Anshul Ahuja
9ea54c81fe CRD and CLI changes
Signed-off-by: Anshul Ahuja <anshulahuja@microsoft.com>
2023-06-28 12:15:55 +05:30
qiuming
de83980a05 Merge pull request #6427 from Lyndon-Li/fix-main-CI-out-of-space-problem
Fix main CI out of space problem
2023-06-27 12:05:32 +08:00
Daniel Jiang
ef1908f8ff Merge pull request #6424 from reasonerjt/ut-cmd-output
Add more unit test cases for cmd/util/output
2023-06-27 11:20:52 +08:00
Xun Jiang/Bruce Jiang
c02a3b6fd0 Merge pull request #6411 from panpan0000/fix_kep_snapshot
fix 404 link in KEP
2023-06-27 10:20:57 +08:00
Xun Jiang/Bruce Jiang
5726324a92 Merge pull request #6409 from mateusoliveira43/fix/doc-lastest-release-link
Fix: Lastest release link in website
2023-06-27 10:05:19 +08:00
Lyndon-Li
b8c234a0a7 fix main CI out of space problem
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-06-27 09:01:35 +08:00
Daniel Jiang
4cea533865 Add more unit test cases for cmd/util/output
Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2023-06-27 00:37:31 +08:00
lyndon
ee22125f9c Merge pull request #6423 from Lyndon-Li/data-mover-smoking-test-2
data mover smoke testing 02
2023-06-26 14:47:41 +08:00
Lyndon-Li
b1316dae23 data mover smoking test 02
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-06-26 04:47:40 +00:00
Xun Jiang/Bruce Jiang
9417f250f6 Merge pull request #6414 from allenxu404/gc-doc-update
Clarify the deletion frequency for gc controller
2023-06-26 11:44:22 +08:00
Daniel Jiang
cd68dd369b Add Unit test cases for pkg/cmd/util/output (#6359)
Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2023-06-26 08:16:36 +08:00
Raghuram Devarakonda
433daa18bd Clarify "update" policy in restore. (#6399)
Signed-off-by: Raghuram Devarakonda <draghuram@gmail.com>
2023-06-22 16:33:24 -04:00
allenxu404
c1ca9a0245 clarify the deletion frequency for gc controller
Signed-off-by: allenxu404 <qix2@vmware.com>
2023-06-21 19:14:29 +08:00
danfengliu
ef443fece0 Add UT for pkg/cmd/cli/backup (#6400)
Signed-off-by: danfengl <danfengl@vmware.com>
2023-06-21 11:10:13 +08:00
Peter Pan
05da96384a fix 404 link
Signed-off-by: Peter Pan <Peter.Pan@daocloud.io>
2023-06-20 20:56:52 -04:00
Wenkai Yin(尹文开)
6f3adcf728 Restore Endpoints before Services (#6315)
Restore Endpoints before Services

Fixes #6280

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2023-06-20 14:35:25 +08:00
Mateus Oliveira
ee27cde391 fixup! fix: Lastest release link in website
Signed-off-by: Mateus Oliveira <msouzaol@redhat.com>
2023-06-19 10:54:18 -03:00
Mateus Oliveira
9c0562cb94 fix: Lastest release link in website
Signed-off-by: Mateus Oliveira <msouzaol@redhat.com>
2023-06-19 10:49:25 -03:00
Xun Jiang/Bruce Jiang
d3785e529f Merge pull request #6396 from allenxu404/archive-ut
Add unit test for pkg/archive
2023-06-16 17:52:10 +08:00
Raghuram Devarakonda
545aaada8e Clarify that snapshot data is not uploaded to the object storage.
Signed-off-by: Raghuram Devarakonda <draghuram@gmail.com>
2023-06-15 13:14:58 -04:00
allenxu404
41ab949659 add unit test for pkg/archive
Signed-off-by: allenxu404 <qix2@vmware.com>
2023-06-15 18:58:30 +08:00
lyndon
e3e0ce32ed Merge pull request #6368 from Lyndon-Li/issue-fix-6341
Add UT for pkg/util
2023-06-15 14:05:53 +08:00
Lyndon-Li
75b7599178 add UT for pkg/util 02
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-06-15 12:17:05 +08:00
qiuming
cace72787e Merge pull request #6394 from qiuming-best/UT-pkg/discovry
Add UT for pkg/discovery
2023-06-15 11:17:19 +08:00
Ming
e2bb5b3fe8 Add UT for pkg/discovery
Signed-off-by: Ming <mqiu@vmware.com>
2023-06-15 02:45:34 +00:00
Lyndon-Li
b00633976b Merge branch 'main' into issue-fix-6341 2023-06-15 10:11:47 +08:00
lyndon
6bbdc846ff Merge pull request #6357 from Lyndon-Li/data-mover-restore-expose-03
Data mover restore expose
2023-06-15 09:48:17 +08:00
Shubham Pampattiwar
57bcd8c8dc Merge pull request #6298 from shubham-pampattiwar/add-default-values
Add default values for defaultItemOperationTimeout and itemOperationSyncFrequency in velero CLI
2023-06-13 23:14:14 -07:00
qiuming
78025a09b6 Add UT for uploader (#6374)
Signed-off-by: Ming <mqiu@vmware.com>
2023-06-13 16:58:47 +08:00
lyndon
8cd55d1826 Merge pull request #6383 from Lyndon-Li/data-mover-backup-smoke-testing
Data mover backup smoke testing
2023-06-13 11:13:14 +08:00
Shubham Pampattiwar
c86018a0f8 Merge pull request #6377 from blackpiglet/add_warning_in_volume_snapshotter_for_data_mover
Add warning message for volume snapshotter in data mover case.
2023-06-12 06:12:45 -07:00
Xun Jiang
a5c28ad423 Add warning message for volume snapshotter in data mover case.
Signed-off-by: Xun Jiang <jxun@vmware.com>
2023-06-12 17:57:01 +08:00
Lyndon-Li
f781e255c6 data mover smoke testing
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-06-12 15:30:06 +08:00
lyndon
7fe4dfe17a Merge pull request #6367 from Harshad112/patch-1
Improve README.md
2023-06-12 14:32:58 +08:00
Efim Smykov
aed8c8ec1b Fix typos related to Delete Item Action plugin type (#6333)
Signed-off-by: Nutrymaco <efim7299@icloud.com>
2023-06-09 15:44:03 +08:00
Nir Soffer
d90ca5928c examples: Label the deployment to get it backed up (#6348)
Following the examples instructions[1], the nginx-deployment is not
backed up or restored. Add a label to the deployment so it will be
backed up and restored.

Similar change is needed for `examples/nginx-app/with-pv.yaml` but I did
not try that example.

[1] https://velero.io/docs/v1.11/contributions/minio/

Fixes #6347

Signed-off-by: Nir Soffer <nsoffer@redhat.com>
2023-06-09 15:42:04 +08:00
Wenkai Yin(尹文开)
89c10ddcc0 Update metrics when backup failed with validation error (#6318)
Update metrics when backup failed with validation error

Fixes #6265

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2023-06-09 11:19:26 +08:00
danfengliu
114193ae3b add ut for pkg client factory (#6371)
Signed-off-by: danfengl <danfengl@vmware.com>
2023-06-09 09:59:19 +08:00
lyndon
5a4f2abd4f Merge pull request #6330 from wawa0210/enhance-change-image-log
[triviy] Enhanced log output when image replace action
2023-06-09 09:58:49 +08:00
Xun Jiang/Bruce Jiang
9743a7ce56 Fix #6118: Do not persist VolumeSnapshot and VolumeSnapshotContent for snapshot DataMover case. (#6366)
1. Because VolumeSnapshot and VolumeSnapshotContent CRs are not kept after backup completed,
   don't persist them in the backup metadata.
2. Add some builder methods needed by CSI plugin.

Signed-off-by: Xun Jiang <jxun@vmware.com>
2023-06-08 17:05:17 +08:00
danfengliu
d7181fba55 Merge pull request #6323 from blackpiglet/psa_violation_fix_release_main
[main]Make the E2E testing pods obey the restricted pod security standard.
2023-06-08 15:16:11 +08:00
danfengliu
d2852a2bc2 Merge pull request #6370 from Lyndon-Li/issue-fix-6144
Change kopia as the default path of PVB
2023-06-08 14:34:40 +08:00
Lyndon-Li
217b1dd066 add UT for pkg/util
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-06-08 14:00:58 +08:00
Lyndon-Li
7175283b19 change kopia as the default path of PVB
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-06-08 13:57:24 +08:00
lyndon
b2f2ba0d0a Merge pull request #6365 from ywk253100/230607_cli
Add data mover related options in CLI
2023-06-08 09:28:34 +08:00
Harshad Yelpale
151b9aab26 Improve README.md
just added words to the new line so we get suboptions as fast 

Signed-off-by: Harshad Yelpale <94516714+Harshad112@users.noreply.github.com>
2023-06-08 00:02:12 +05:30
danfengliu
99513583df Add ut for pkg/client/config (#6364)
Signed-off-by: danfengl <danfengl@vmware.com>
2023-06-07 17:36:45 +08:00
Wenkai Yin(尹文开)
9f2f563568 Add data mover related options in CLI
Add data mover related options in CLI

Fixes #6128

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2023-06-07 16:34:40 +08:00
Xun Jiang/Bruce Jiang
4227a824cd Merge pull request #6327 from blackpiglet/6099_fix
Remove Wait VolumeSnapshot to ReadyToUse logic.
2023-06-07 14:56:26 +08:00
Xun Jiang/Bruce Jiang
ad8f69bcb1 Merge pull request #6337 from qiuming-best/data-upload-controller
Data upload controller
2023-06-07 11:32:23 +08:00
danfengliu
d1a935e3b1 Merge pull request #6363 from danfengliu/add-ut-for-pkg-client
add ut for pkg/client
2023-06-07 11:04:36 +08:00
danfengl
98ee5add04 add ut for pkg/client
Signed-off-by: danfengl <danfengl@vmware.com>
2023-06-07 02:36:32 +00:00
Lyndon-Li
2ea6ffb63f data mover restore expose
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-06-06 16:14:58 +08:00
Shubham Pampattiwar
2aaa85bc58 add default values for defaultItemOperationTimeout and itemOperationSyncFrequency in velero CLI
Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>

add changelog

Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>

update default value for itemOperationsSyncFrequency

Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>
2023-06-06 00:25:08 -07:00
Ming
b3e99a7eb2 Add Dataupload controller
Signed-off-by: Ming <mqiu@vmware.com>
2023-06-06 05:46:38 +00:00
qiuming
a015caced9 Merge pull request #6351 from ywk253100/230602_ut_install
Improve the unit test coverage for pkg/install
2023-06-06 13:28:32 +08:00
lyndon
243dd05ced Merge pull request #6356 from Lyndon-Li/fix-main-CI-failure
Fix main CI failure
2023-06-06 10:36:49 +08:00
Lyndon-Li
8bfd6359f5 fix main CI failure
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-06-06 09:58:58 +08:00
Wenkai Yin(尹文开)
914ccdf4c6 Improve the unit test coverage of pkg/cmd/server package (#6342)
Improve the unit test coverage of pkg/cmd/server package

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2023-06-05 23:15:24 +08:00
lyndon
ebe064f693 Merge pull request #6336 from Lyndon-Li/issue-fix-6255
Fix issue 6255
2023-06-05 21:44:17 +08:00
Daniel Jiang
358f388030 Merge pull request #6331 from ywk253100/230531_ut_flag
Add unit test cases for pkg/cmd/util/flag package
2023-06-05 14:20:07 +08:00
lyndon
c8071986b3 Merge pull request #6332 from danfengliu/prepare-for-dm-test
Prepare E2E test of data movement feature and other fixes
2023-06-05 11:19:31 +08:00
Wenkai Yin(尹文开)
2d6f4e5462 Improve the unit test coverage for pkg/install
Improve the unit test coverage for pkg/install

Fixes #6339

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2023-06-05 10:57:43 +08:00
danfengl
028e784eb6 Prepare E2E test of data movement feature
1. Bumpup velero version to the latest 2 versions in upgrade script;
2. Bumpup velero verioin to the latest 1 vesion in migration script;
3. Bring B/R with restic test back in vSphere pipeline since vSphere plugin issue fix was included
in v1.5;
4. Disable nodeport test in AWS pipeline since AWS k8s version bumpup;
5. Prepare for data mover test, allow object store provider diffrent from cloud provider.

Signed-off-by: danfengl <danfengl@vmware.com>
2023-06-05 01:49:08 +00:00
Lyndon-Li
45d7cc9783 fix issue 6255
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-06-02 16:11:23 +08:00
Xun Jiang
7491ab1ec5 Remove Wait VolumeSnapshot to ReadyToUse logic.
Due to the logic moving to plugin, and the plugin cannot read the
Velero server's resourceTimeout setting, add the resourceTimeout
in the backup annotation to pass to plugin.
Remove VolumeSnapshotContent reset code from Velero server.

Signed-off-by: Xun Jiang <jxun@vmware.com>
2023-06-02 14:43:43 +08:00
lyndon
8427a9fdb3 Merge pull request #6308 from Lyndon-Li/data-mover-backup-expose-02
Data mover backup expose
2023-06-02 12:07:37 +08:00
Lyndon-Li
25624d3030 data mover backup expose
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-06-02 11:51:36 +08:00
Xun Jiang/Bruce Jiang
80db04e08b Merge pull request #6320 from blackpiglet/6302-fix
Include namespace resource needed by namespaced-scope resource in backup
2023-06-02 09:46:59 +08:00
Xun Jiang
8766a4dbd4 Make namespace resource doesn't honor label selector filters anymore.
For some use cases, namespaced-scope resources are inluded into backup,
but the namespaces are not included due to filters setting.
To do this, removing label selector filter from namespace resource.
Namespace resource only honor namespace exclude/include filters.

Signed-off-by: Xun Jiang <jxun@vmware.com>
2023-06-01 16:59:18 +08:00
lyndon
59965af775 Merge pull request #6296 from Lyndon-Li/issue-fix-6258
Fix issue 6258
2023-06-01 16:03:52 +08:00
danfengliu
f689dc13e9 Merge pull request #6287 from qiuming-best/e2e-velero-installation
E2E velero installation optimization
2023-06-01 15:42:11 +08:00
Ming
2f6899e5a7 Optimize Velero install
Signed-off-by: Ming <mqiu@vmware.com>
2023-06-01 07:09:38 +00:00
Lyndon-Li
7243efdb7c fix issue 6258
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-06-01 14:27:10 +08:00
Wenkai Yin(尹文开)
e92047c43e Add unit test cases for pkg/cmd/util/flag package
Add unit test cases for pkg/cmd/util/flag package

Fixes #6253

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2023-06-01 10:29:11 +08:00
wawa0210
95d8a93a9c Enhanced log output when mirroring is replaced
Signed-off-by: wawa0210 <zhangxiao@xiaozhangs-MacBook-Pro.local>
2023-06-01 09:02:26 +08:00
lyndon
d6f5e3832a Merge pull request #6326 from Lyndon-Li/issue-fix-6297
Enhance code for issue 6297
2023-05-31 17:05:22 +08:00
Lyndon-Li
97fbc52cfb fix-issue-6297
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-05-31 16:48:11 +08:00
qiuming
f37645c0ed Merge pull request #6314 from ywk253100/230529_ut_builder
Skip running unit test for pkg/builder package
2023-05-31 14:18:04 +08:00
Daniel Jiang
4322ae14e3 Skip updating status when CRDs are restored (#6325)
This commit skips updating the restore progress, in the first loop for
restoration when CRDs are handled, so that the misleading "totalItem"
will not appear in the CR.
Fixes #5990

Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2023-05-31 11:45:57 +08:00
Xun Jiang
754f02c40d Make the E2E testing pods obey the restricted pod security standard.
Signed-off-by: Xun Jiang <blackpiglet@gmail.com>
2023-05-30 15:36:44 +08:00
danfengliu
9467d7c7fc Merge pull request #6307 from pheianox/main
Add PITS Global Data Recovery Services to the adopters list
2023-05-29 14:43:14 +08:00
Wenkai Yin(尹文开)
4d28a1a2a3 Skip running unit test for pkg/builder package
Skip running unit test for pkg/builder package

fixes #6251

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2023-05-29 09:26:12 +08:00
qiuming
f9057bdb96 Merge pull request #6311 from danfengliu/debug-restic
Fix nightly upgrade test issue and checkpoint issue in restic test
2023-05-26 10:43:14 +08:00
danfengl
3222df9ae6 Debug restic
Signed-off-by: danfengl <danfengl@vmware.com>
2023-05-25 10:31:17 +00:00
lyndon
3ad091dc38 Merge pull request #5968 from Lyndon-Li/velero-data-movement-design
Volume Snapshot Data Movement Design
2023-05-24 08:33:20 +08:00
pheianox
d87134ae99 Add PITS Global Data Recovery Services to the list of adopters
Signed-off-by: pheianox <77569421+pheianox@users.noreply.github.com>
2023-05-23 11:59:25 -04:00
pheianox
fc0d9d87ad Add files via upload
Signed-off-by: pheianox <77569421+pheianox@users.noreply.github.com>
2023-05-23 11:56:21 -04:00
lyndon
53623a75ff Merge pull request #6303 from Lyndon-Li/data-mover-generic-data-path-issue-fix
Fix PVR issue for generic data path
2023-05-23 18:09:07 +08:00
Lyndon-Li
6c16020a3e fix pvr issue for generic data path
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-05-23 15:20:13 +08:00
Shubham Pampattiwar
7fa91060bd Merge pull request #6276 from kkothule/backupstatusprogressupdate
Fix status.progress not getting updated for backup
2023-05-22 11:38:33 -04:00
Daniel Jiang
5cb721764f Merge pull request #6283 from Lyndon-Li/issue-fix-5875
Fix issue 5875
2023-05-22 13:46:00 +08:00
lyndon
25fb08b3c2 Merge pull request #6226 from Lyndon-Li/data-mover-generic-data-path
Add code change for async generic data path
2023-05-22 09:47:47 +08:00
danfengliu
c34880ebcc Merge pull request #6291 from blackpiglet/make_e2e_workload_obey_restricted_psa_1
Add file system group setting for deployment and pod used in E2E test.
2023-05-20 09:40:27 +08:00
Shubham Pampattiwar
40d6130c8f Merge pull request #6289 from ywk253100/230519_ut_label
Improve the UT coverage for pkg/label
2023-05-19 18:32:53 -04:00
Tiger Kaovilai
a845ea4d57 lint: pkg/backup/backup_pv_action.go:79: unnecessary trailing newline (whitespace)
Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
2023-05-19 15:10:04 -04:00
Tiger Kaovilai
785e1aa5d3 Speedup update-1fmt.sh by removing xargs, printf.
Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
2023-05-19 11:51:15 -04:00
Daniel Jiang
42c639fad7 Merge pull request #6270 from jonasrosland/update-foot2
Add required footer links and update .gitignore
2023-05-19 17:27:44 +08:00
Xun Jiang
98baaa9e2f Add file system group setting for deployment and pod used in E2E test.
Signed-off-by: Xun Jiang <blackpiglet@gmail.com>
2023-05-19 11:30:44 +08:00
Wenkai Yin(尹文开)
28b9e15912 Improve the UT coverage for pkg/label
Improve the UT coverage for pkg/label

Fixes #6259

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2023-05-19 10:33:38 +08:00
kkothule
6a569ca5b5 Fix status.progress not getting updated for backup
Signed-off-by: kkothule <kkothule@catalogicsoftware.com>
2023-05-18 15:31:07 +05:30
Lyndon-Li
660fbfab71 Merge branch 'main' into issue-fix-5875 2023-05-18 16:04:00 +08:00
Lyndon-Li
124e142583 fix issue 5875
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-05-18 15:48:08 +08:00
Daniel Jiang
b8910749d2 Merge pull request #6111 from eemcmullan/pvc-dataref
Remove dataSource from PVC on backup for prior CSI restore case
2023-05-18 14:31:43 +08:00
danfengliu
72142a9f0f Merge pull request #6278 from qiuming-best/e2e-context
Adjust E2E context
2023-05-18 09:50:09 +08:00
Xun Jiang/Bruce Jiang
7417e5b5f7 Make the E2E testing pods obey the restricted pod security standard. (#6279)
Signed-off-by: Xun Jiang <blackpiglet@gmail.com>
Co-authored-by: Xun Jiang <blackpiglet@gmail.com>
2023-05-17 10:25:38 -04:00
Ming
54d6cffb45 Adjust E2E context
Signed-off-by: Ming <mqiu@vmware.com>
2023-05-17 14:05:15 +00:00
qiuming
7ed286d886 Merge pull request #6274 from qiuming-best/e2e-time-optimize
Adjust Sleep time in E2E
2023-05-17 15:59:03 +08:00
Lyndon-Li
9ab85892a7 add shared generic data path 02
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-05-17 15:04:04 +08:00
Lyndon-Li
5f008d18fa Merge branch 'main' into data-mover-generic-data-path 2023-05-17 10:15:52 +08:00
lyndon
5b75f35262 Add data mover CRD under v2alpha1 (#6176)
* add data mover CRD under v1alpha1

Signed-off-by: Lyndon-Li <lyonghui@vmware.com>

* data mover CRDs to v2alpha1

Signed-off-by: Lyndon-Li <lyonghui@vmware.com>

* data mover crd changes

Signed-off-by: Lyndon-Li <lyonghui@vmware.com>

---------

Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-05-16 15:09:54 -04:00
Lyndon-Li
dd40f7b777 velero data movement design
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-05-16 18:42:58 +08:00
Ming
c12a0ac731 Adjust Sleep time in E2E
Signed-off-by: Ming <mqiu@vmware.com>
2023-05-16 03:33:51 +00:00
Xun Jiang/Bruce Jiang
fe5182d74c Merge pull request #6264 from qiuming-best/e2e-codes-optimize
Adjust E2E test codes
2023-05-16 10:42:35 +08:00
Shubham Pampattiwar
7f204fa49d Merge pull request #6260 from reasonerjt/add-orlabel-schedule-api
Add "orLabelSelectors" to schedule API doc
2023-05-15 16:37:29 -04:00
Jonas Rosland
56fecc2b29 Add required footer links and update .gitignore
Signed-off-by: Jonas Rosland <jrosland@vmware.com>
2023-05-15 09:33:08 -04:00
lyndon
384091f5e6 Merge pull request #6268 from Lyndon-Li/issue-fix-5123
Issue fix 5123
2023-05-15 14:41:18 +08:00
Xun Jiang/Bruce Jiang
a4ba2c3627 Merge pull request #6247 from Shashank1306s/main
Change rbac.authorization.k8s.io/v1beta1 to rbac.authorization.k8s.io/v1 in deployment.yml
2023-05-15 14:29:46 +08:00
danfengliu
527bbacc94 Merge pull request #6267 from qiuming-best/fix-GetPluginConfig
Fix PluginConfigLabelSelector bug
2023-05-15 14:00:28 +08:00
Ming
a16c17b1e3 Adjust E2E test codes
Signed-off-by: Ming <mqiu@vmware.com>
2023-05-15 03:28:56 +00:00
Lyndon-Li
78db01753e add change log
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-05-15 11:19:08 +08:00
Lyndon-Li
08d899e09e Merge branch 'main' into issue-fix-5123 2023-05-15 10:58:52 +08:00
Ming
f03e73bfc2 Fix PluginConfigLabelSelector bugs
Signed-off-by: Ming <mqiu@vmware.com>
2023-05-15 02:46:24 +00:00
lyndon
ea4e49f503 Merge pull request #6248 from Lyndon-Li/bump-up-kopia-v0.13
Bump up kopia v0.13
2023-05-15 10:44:19 +08:00
Lyndon-Li
307b82a2ec bump up kopia v0.13.0
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-05-15 07:23:38 +08:00
Lyndon-Li
623da51494 add shared generic data path
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-05-12 12:01:59 +08:00
Daniel Jiang
a9c247048f Add "orLabelSelectors" to schedule API doc
Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2023-05-11 13:18:43 +08:00
Lyndon-Li
725d8fb35d fix issue 5123
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-05-10 12:09:16 +08:00
Lyndon-Li
9fea274fca bump up kopia v0.13.0
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-05-10 10:26:10 +08:00
Shashank Singh
26cc521240 Change rbac.authorization.k8s.io/v1beta1 to rbac.authorization.k8s.io/v1 in deployment.yml
Signed-off-by: Shashank Singh <shashasingh@microsoft.com>
2023-05-09 16:04:53 +05:30
Xun Jiang/Bruce Jiang
12a14d11e9 Modify Docker's maintainer label. (#6238)
Signed-off-by: Xun Jiang <blackpiglet@gmail.com>
Co-authored-by: Xun Jiang <blackpiglet@gmail.com>
2023-05-09 09:27:32 +08:00
Shubham Pampattiwar
c1d38fa11d Merge pull request #6232 from kaovilai/podvolumebackuplog
log volumes to backup to help debug why `IsPodRunning` is called.
2023-05-08 12:19:03 -04:00
qiuming
632290a72b Merge pull request #6234 from kaovilai/goimportsbrrrrrr
run gofmt goimports for every files in parallel
2023-05-08 14:52:28 +08:00
Tiger Kaovilai
07712f4d6a run gofmt goimports for every files in parallel
Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
2023-05-05 13:59:40 -04:00
Tiger Kaovilai
f6cea372fd log volumes to backup to help debug why IsPodRunning is called.
Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
2023-05-05 13:41:17 -04:00
Anshul Ahuja
9b920202ba Fix go get to go install in tiltfile (#6223)
Signed-off-by: Anshul Ahuja <anshul.ahu@gmail.com>
2023-05-05 13:12:35 -04:00
Orlix
4207d063df Add blog for 1.11 (#6218)
* Add blog for 1.11

Signed-off-by: OrlinVasilev <ovasilev@vmware.com>

* Add blog for 1.11

Signed-off-by: OrlinVasilev <ovasilev@vmware.com>

---------

Signed-off-by: OrlinVasilev <ovasilev@vmware.com>
2023-05-05 13:11:26 -04:00
qiuming
4db1a781fc Merge pull request #6208 from blackpiglet/linter_errcheck
Enable errcheck linter and resolve found issues.
2023-05-05 14:43:55 +08:00
qiuming
a88163f308 Merge pull request #6198 from danfengliu/fix-context-withconcel-issue
Fix context issues for several E2E tests
2023-05-05 11:20:34 +08:00
danfengl
5f5db2eaca Fix context issues for several E2E tests
1. Fix context issues produced by previous PR, increase timeout or add case scpoed global timeout param to make  backup/restore command timeout configurable.
2. Add global param for storage class name using by test cases;
3. Fix param DefaultVolumesToFsBackup usage issue: set DefaultVolumesToFsBackup to false in backup CLI  in case it was set to true in install CLI.
4. Make namespace names of each namespace mapping test unique from being interfered by each other.

Signed-off-by: danfengl <danfengl@vmware.com>
2023-05-05 02:09:21 +00:00
Jonas Rosland
2c4aa41999 Update footer with language around website cookes and tracking (#6216)
Signed-off-by: Jonas Rosland <jrosland@vmware.com>
2023-05-02 16:19:52 -04:00
Anshul Ahuja
d7e0f64c89 Remove restorestoragelocation (#6211)
Signed-off-by: Anshul Ahuja <anshulahuja@microsoft.com>
Co-authored-by: Anshul Ahuja <anshulahuja@microsoft.com>
2023-04-28 10:58:08 -04:00
Xun Jiang
f051ecaee9 Enable errcheck linter and resolve found issues.
Signed-off-by: Xun Jiang <blackpiglet@gmail.com>
2023-04-28 09:33:42 +08:00
qiuming
fbba4e5c77 Merge pull request #6151 from kaovilai/expose-getpluginconfig
Make GetPluginConfig accessible from other packages.
2023-04-26 17:42:19 +08:00
Xun Jiang/Bruce Jiang
a8a17d725a Merge pull request #6194 from blackpiglet/linter_more
Enable more linters, and remove mal-functioned milestoned issue action.
2023-04-26 14:12:47 +08:00
Xun Jiang/Bruce Jiang
0d1c2dc831 Merge pull request #6173 from blackpiglet/linter_revive
Enable linter revive and resolve found errors: part1
2023-04-26 14:09:33 +08:00
Xun Jiang/Bruce Jiang
e106bbf06b Enable linter revive and resolve found errors: part 2. (#6177)
Signed-off-by: Xun Jiang <blackpiglet@gmail.com>
Co-authored-by: Xun Jiang <blackpiglet@gmail.com>
2023-04-26 14:05:22 +08:00
Xun Jiang
443f732e51 Enable more linters, and remove mal-functioned milestoned issue action.
Signed-off-by: Xun Jiang <blackpiglet@gmail.com>
2023-04-25 23:31:51 +08:00
Xun Jiang
180cc4e31d Enable linter revive and resolve found errors: part 1
Signed-off-by: Xun Jiang <blackpiglet@gmail.com>
2023-04-25 23:15:15 +08:00
Xun Jiang/Bruce Jiang
a0b0b7cd9b Merge pull request #6183 from blackpiglet/linter_staticcheck
Enable staticcheck and resolve found issues.
2023-04-25 16:08:08 +08:00
Xun Jiang/Bruce Jiang
51c67089f5 Merge branch 'main' into linter_staticcheck
Signed-off-by: Xun Jiang/Bruce Jiang <59276555+blackpiglet@users.noreply.github.com>
2023-04-25 15:49:05 +08:00
lyndon
30140d6b1a Merge pull request #6184 from Lyndon-Li/issue-fix-6182
Fix issue 6182
2023-04-25 15:31:08 +08:00
lyndon
d625b006ae Merge pull request #6185 from blackpiglet/linter_stylecheck
Enable stylecheck linter and resolve found issues.
2023-04-25 15:26:14 +08:00
Lyndon-Li
d928124b01 fix issue 6182
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-04-25 15:00:08 +08:00
Xun Jiang
bbc1e2e151 Enable stylecheck linter and resolve found issues.
Signed-off-by: Xun Jiang <blackpiglet@gmail.com>
2023-04-25 14:37:02 +08:00
Xun Jiang
cb0ada1e1c Enable staticcheck and resolve found issues.
Signed-off-by: Xun Jiang <blackpiglet@gmail.com>
2023-04-25 11:33:40 +08:00
Xun Jiang/Bruce Jiang
980106dc39 Merge pull request #6154 from kaovilai/govet
fix go vet warnings
2023-04-25 09:24:30 +08:00
qiuming
b38ee8ad41 Optimize APIGroup E2E test case (#6174)
Signed-off-by: Ming <mqiu@vmware.com>
2023-04-24 17:38:30 -04:00
Orlix
291149732c Algolia fix docs search (#6105)
* wip:Algolia fix 2

Signed-off-by: OrlinVasilev <ovasilev@vmware.com>

* wip:Algolia fix 2

Signed-off-by: OrlinVasilev <ovasilev@vmware.com>

* Algolia fix 2

Signed-off-by: OrlinVasilev <ovasilev@vmware.com>

* Update site/layouts/partials/head-docs.html

Co-authored-by: Tiger Kaovilai <passawit.kaovilai@gmail.com>
Signed-off-by: Orlix <7236111+OrlinVasilev@users.noreply.github.com>

---------

Signed-off-by: OrlinVasilev <ovasilev@vmware.com>
Signed-off-by: Orlix <7236111+OrlinVasilev@users.noreply.github.com>
Co-authored-by: Tiger Kaovilai <passawit.kaovilai@gmail.com>
2023-04-24 14:18:32 -04:00
Xun Jiang/Bruce Jiang
1fd28e8a36 Fix usestdlibvars and whitespace linters issues. (#6162)
Signed-off-by: Xun Jiang <blackpiglet@gmail.com>
Co-authored-by: Xun Jiang <blackpiglet@gmail.com>
2023-04-24 09:10:55 +08:00
Daniel Jiang
14f31eed8c Merge pull request #6109 from blackpiglet/modify_goreleaser
Fix goreleaser issues and add new goreleaser action.
2023-04-18 15:00:41 +08:00
Xun Jiang/Bruce Jiang
6b67504a98 Merge pull request #6158 from blackpiglet/update_golang_main
Update Golang to v1.20 for main branch.
2023-04-18 14:53:44 +08:00
Tiger Kaovilai
b7d1c3e679 golangci.yaml: comment out check-shawdowing, remove vet script
Per comment: https://github.com/vmware-tanzu/velero/pull/6154#issuecomment-1510946594

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
2023-04-17 10:22:50 -04:00
Xun Jiang
0be3f5a3e7 Update Golang to v1.20 for main branch.
Signed-off-by: Xun Jiang <blackpiglet@gmail.com>
2023-04-17 13:26:46 +08:00
Daniel Jiang
f6a27f8585 Merge pull request #6136 from ywk253100/230412_mf_main
Ignore not found error during patching managedFields
2023-04-17 12:47:43 +08:00
Tiger Kaovilai
d6848ffb16 Self contain context in each high level function rather than passing around in structs
Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
2023-04-16 14:22:04 -04:00
Tiger Kaovilai
3f4b258dee defer ctxCancel
Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
2023-04-16 13:33:43 -04:00
Tiger Kaovilai
84daa36efe cancel ctx in nil, err returns
Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
2023-04-16 13:06:13 -04:00
Tiger Kaovilai
3893c46086 jsontag
Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
2023-04-16 12:49:55 -04:00
Tiger Kaovilai
da0f5d5850 Field labels for Duration, Time, client.ObjectKey, KibishiiData, VeleroCLI2Version
Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
2023-04-16 12:34:28 -04:00
Tiger Kaovilai
08f7f555f3 mv pkg/restore/pod_volume_restore_action.go/getPluginConfig pkg/plugin/framework/common/plugin_config.go/GetPluginConfig
Fixes Expose GetPluginConfig #4865

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
Signed-off-by: Tiger Kaovilai <passawit.kaovilai@gmail.com>
2023-04-15 07:04:42 +00:00
qiuming
65f99c1264 Merge pull request #6108 from qiuming-best/resource-policies-e2e
Add resource policies E2E test
2023-04-14 14:09:26 +08:00
Ming
e4c05f2ddf Merge branch 'main' of https://github.com/qiuming-best/velero into resource-policies-e2e 2023-04-14 04:08:52 +00:00
Scott Seago
d298c6d0a2 Merge pull request #6097 from danfengliu/add-e2e-test-for-schedule-backup-creation
Add E2E test for schedule backup creation principle
2023-04-12 13:14:38 -04:00
Emily McMullan
61c8e58fef remove datasource from pvc if prior csi restore
Signed-off-by: Emily McMullan <emcmulla@redhat.com>
2023-04-12 10:52:30 -04:00
danfengl
504b1cba30 Add E2E test for schedule backup creation principle
Signed-off-by: danfengl <danfengl@vmware.com>
2023-04-12 10:31:20 +00:00
Wenkai Yin(尹文开)
b4aa0b8f5f Ignore not found error during patching managedFields
Ignore not found error during patching managedFields

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2023-04-12 17:17:13 +08:00
Ming
45a639b16c Add resource policies E2E test
Signed-off-by: Ming <mqiu@vmware.com>
2023-04-12 02:04:01 +00:00
Xun Jiang
e779cd2b76 Fix goreleaser issues and add new goreleaser action.
Fix goreleaser script's bug.
Add a new Github action to verify goreleaser related modification.

Signed-off-by: Xun Jiang <blackpiglet@gmail.com>
2023-04-11 17:03:20 +08:00
qiuming
bacec117b9 Merge pull request #6094 from blackpiglet/v1.11_changelog
Add changelog for v1.11.
2023-04-07 15:43:39 +08:00
qiuming
af0d2addfc Merge pull request #6079 from danfengliu/bumpup-upgrade-path-for-1.11
Bumpup upgrade test path for v1.11
2023-04-07 15:36:13 +08:00
danfengl
35bf7a085d Bumpup upgrade test path for v1.11
Signed-off-by: danfengl <danfengl@vmware.com>
2023-04-07 07:21:40 +00:00
Xun Jiang
0c1a57af72 Add changelog for v1.11.
Signed-off-by: Xun Jiang <blackpiglet@gmail.com>
2023-04-07 15:19:05 +08:00
Xun Jiang/Bruce Jiang
079c76ffb5 Modify README compatibility matrix, and move the implemented design into Implemented directory. (#6087)
Signed-off-by: Xun Jiang <blackpiglet@gmail.com>
Co-authored-by: Xun Jiang <blackpiglet@gmail.com>
2023-04-07 10:56:04 +08:00
Daniel Jiang
18c6cd0400 Merge pull request #6070 from blackpiglet/v1.11_document
Add v1.11 document
2023-04-07 10:47:10 +08:00
Xun Jiang
9f460a91e7 Add v1.11 document.
Signed-off-by: Xun Jiang <blackpiglet@gmail.com>
2023-04-07 09:32:22 +08:00
Xun Jiang
f9a3d7e2f2 Add v1.11 document.
Signed-off-by: Xun Jiang <blackpiglet@gmail.com>
2023-04-07 09:25:39 +08:00
qiuming
1e31bcf406 Merge pull request #6089 from blackpiglet/update_filter_name
Modify new scope resource filters name.
2023-04-07 09:21:36 +08:00
Daniel Jiang
892e52456d Add a section to the doc about known issue regarding admission webhook. (#6092)
Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2023-04-07 08:41:29 +08:00
Xun Jiang
56f93393d8 Modify new scope resource filters name.
Signed-off-by: Xun Jiang <blackpiglet@gmail.com>
2023-04-06 18:11:55 +08:00
Xun Jiang/Bruce Jiang
3a09e8aa23 Merge pull request #6071 from qiuming-best/upgrade-doc
Add v1.11 upgrade doc
2023-04-06 09:53:06 +08:00
Ming
0fb64fa581 add upgrade to 1.11 doc
Signed-off-by: Ming <mqiu@vmware.com>
2023-04-06 01:41:02 +00:00
qiuming
d932b3dcbb Merge pull request #6069 from qiuming-best/describe-backup
Add display of resource policies name in describe backup output
2023-04-06 09:14:21 +08:00
Daniel Jiang
73f1740407 Merge pull request #6062 from blackpiglet/5862_fix
Make Velero not exits when EnableCSI is on and CSI snapshot not installed
2023-04-04 15:52:48 +08:00
Xun Jiang/Bruce Jiang
86df02f7f6 Merge pull request #6055 from qiuming-best/csi-policy-fix
Fix csi contidion policy matching issue
2023-04-04 15:33:40 +08:00
Ming
f1ddf0a6a2 Add display of resource policies name in describe backup output
Signed-off-by: Ming <mqiu@vmware.com>
2023-04-04 07:28:35 +00:00
lyndon
f0ca2ae7ad Merge pull request #6039 from blackpiglet/update_golang_version_new
Update Golang version to v1.19 for branch main
2023-04-04 14:35:30 +08:00
Xun Jiang/Bruce Jiang
42ec72146d Merge branch 'main' into update_golang_version_new
Signed-off-by: Xun Jiang/Bruce Jiang <59276555+blackpiglet@users.noreply.github.com>
Signed-off-by: Xun Jiang <blackpiglet@gmail.com>
2023-04-04 05:56:05 +00:00
Xun Jiang
fc692c49e6 Update Golang version to v1.19 for branch main.
Signed-off-by: Xun Jiang <blackpiglet@gmail.com>
2023-04-04 12:00:19 +08:00
Ming
d429d38ea1 Fix csi contidion policy match
Signed-off-by: Ming <mqiu@vmware.com>
2023-04-03 06:16:44 +00:00
Xun Jiang/Bruce Jiang
491664e10d Merge pull request #6057 from ywk253100/230331_restore
Restore Services before Clusters
2023-04-03 11:33:14 +08:00
qiuming
2e121ac360 Add resource policies doc (#6031)
Signed-off-by: Ming <mqiu@vmware.com>
2023-04-03 11:31:58 +08:00
qiuming
c0366bb8fb Merge pull request #6067 from reasonerjt/refine-log-bia-skip
Refine the log message when BIA is skipped
2023-04-03 11:29:02 +08:00
Daniel Jiang
95c674b23a Refine the log message when BIA is skipped
The log message should be clarified, otherwise when a user chooses to do
the backup via podvolme there will be confusing logs, but actually it's
just skipping the BIA for CSI plugin.

Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2023-04-02 23:31:19 +08:00
Xun Jiang
c1acd9c6c5 Make Velero server continue to work, when CSI feature is enabled and Snapshot CRD group is missing.
Signed-off-by: Xun Jiang <blackpiglet@gmail.com>
2023-03-31 17:47:27 +08:00
Wenkai Yin(尹文开)
cccbd2f8c0 Restore Services before Clusters
Restore Services before Clusters so they can be adopted by AKO-operator and no new Services will be created for the same clusters

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2023-03-31 14:26:07 +08:00
Daniel Jiang
b428b09a78 Merge pull request #6041 from sseago/async-backup-deletion
Fixed backup deletion bug related to async operations
2023-03-31 11:28:12 +08:00
Scott Seago
05c4e35ae7 Fixed backup deletion bug related to async operations
Signed-off-by: Scott Seago <sseago@redhat.com>
2023-03-29 09:27:04 -04:00
Xun Jiang/Bruce Jiang
f031121214 Merge pull request #6050 from qiuming-best/vSphere-snapshot-fix
Fix resource policies not work for vSphere plugin
2023-03-29 16:46:35 +08:00
Ming
83f176e4ac Fix resource policies not work for vSphere plugin
Signed-off-by: Ming <mqiu@vmware.com>
2023-03-29 04:14:34 +00:00
qiuming
c9af70aff3 Merge pull request #6047 from danfengliu/debug-azure-issue
Add changing PVC selected node E2E test
2023-03-29 09:58:16 +08:00
danfengl
112775f924 Add changing PVC selected node E2E test
Signed-off-by: danfengl <danfengl@vmware.com>
2023-03-29 01:36:45 +00:00
Xun Jiang/Bruce Jiang
7e9896807d Merge pull request #6034 from blackpiglet/e2e_support_check_vsphere_csi_version
Make E2E test adopt vSphere CSI version update
2023-03-29 08:25:01 +08:00
Xun Jiang
478fb27a0e E2E test can read VC credential secret according to vSphere CSI driver version.
Signed-off-by: Xun Jiang <blackpiglet@gmail.com>
2023-03-28 11:18:49 +08:00
qiuming
5b8ec80ad8 Merge pull request #6030 from danfengliu/add-wait-for-migration-on-vsphere
Add wait time for migration E2E test on vsphere pipeline
2023-03-24 17:47:25 +08:00
danfengl
096330df16 Add wait time for migration on vsphere pipeline
Signed-off-by: danfengl <danfengl@vmware.com>
2023-03-24 09:29:20 +00:00
Xun Jiang/Bruce Jiang
caaf87c478 Merge pull request #6028 from Lyndon-Li/issue-fix-5972
Fix issue 5972
2023-03-24 17:10:56 +08:00
Lyndon-Li
2dc8a920ca fix issue 5972
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-03-24 14:41:22 +08:00
Xun Jiang/Bruce Jiang
15d44724e7 Modify golangci.yaml file. Resolve found lint issues. (#6008)
Signed-off-by: Xun Jiang <blackpiglet@gmail.com>
Co-authored-by: Xun Jiang <blackpiglet@gmail.com>
2023-03-24 12:15:08 +08:00
Daniel Jiang
82358666c8 Merge pull request #6009 from qiuming-best/resource-policies
Adjust match resource policies
2023-03-24 10:48:50 +08:00
Ming
a3cef5b0d3 Adjust match resource policies
Signed-off-by: Ming <mqiu@vmware.com>
2023-03-23 03:48:26 +00:00
qiuming
4de4d37833 Merge pull request #5915 from danfengliu/add-changing-sc-e2e-test
Add E2E test of PV/PVC storage class can be changed during restores
2023-03-22 15:52:50 +08:00
Daniel Jiang
a0137e2eca Merge pull request #6014 from reasonerjt/update-doc
Update doc
2023-03-22 14:27:39 +08:00
Daniel Jiang
838af53d3a Update doc
Update README to clarify the backward compatibility.
Trivial update to the support process to reflect how issues are labeled
as for now.

Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2023-03-22 14:07:17 +08:00
Daniel Jiang
58ad42871b Merge pull request #6012 from sseago/itemoperation-new-phase
BIA/RIAv2 -- distinguish between New and InProgress operations
2023-03-22 11:33:18 +08:00
Scott Seago
433d2d5e57 BIA/RIAv2 -- distinguish between New and InProgress operations
Signed-off-by: Scott Seago <sseago@redhat.com>
2023-03-21 18:55:59 -04:00
qiuming
29b5894be6 Merge pull request #6005 from draghuram/restore-error
Slight improvement of error messages.
2023-03-21 18:31:29 +08:00
lyndon
2ad43194aa Merge pull request #5900 from blackpiglet/5416_limit_concurrent_goroutine
Limit the concurrent number for backup's VolumeSnapshot operation
2023-03-21 18:07:27 +08:00
qiuming
086dbd344f Handle backup of volume by resource policies (#5901)
* Handle backup of volume by resource policies

Signed-off-by: Ming <mqiu@vmware.com>
2023-03-21 14:39:25 +08:00
qiuming
ec88dc5203 Merge pull request #5942 from abserari/patch-1
Fix file rename: hack/download-restic.sh -> hack/build-restic.sh
2023-03-21 10:46:32 +08:00
Daniel Jiang
36f9ae6983 Merge pull request #6006 from Lyndon-Li/fix-deprecate-code-merge-back
Remove merged back deprecate code
2023-03-21 10:22:04 +08:00
Daniel Jiang
ac87154348 Merge pull request #6003 from blackpiglet/remove_not_equal
Replace != with notin for --selector.
2023-03-21 10:18:42 +08:00
Lyndon-Li
115f32cae5 remove merged back deprecate code
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-03-21 09:56:52 +08:00
Daniel Jiang
458560795b Remove Reference of itemsnapshotter (#5997)
It will be removed as we choose to use BIAv2 for progress monitoring.

Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2023-03-21 09:05:29 +08:00
Raghuram Devarakonda
e4f2f52392 Slight improvement of error messages.
Signed-off-by: Raghuram Devarakonda <draghuram@gmail.com>
2023-03-20 14:59:23 -04:00
Shubham Pampattiwar
2c26c1d5fe Merge pull request #5996 from sseago/biav2-second-followon
minor fixes for backup_operations_controller:
2023-03-20 08:42:33 -07:00
Shubham Pampattiwar
5c4b5509c2 Merge pull request #5993 from sseago/riav2-controller
RIAv2 async operations controller work
2023-03-20 08:40:43 -07:00
Scott Seago
e500e2d8e5 minor fixes for backup_operations_controller:
1) default frequency 10s
2) per-reconcile log is now Debug not info
3) added predicate to reduce reconcile events

Signed-off-by: Scott Seago <sseago@redhat.com>
2023-03-20 09:42:15 -04:00
Xun Jiang
446e43d018 Replace != with notin for --selector.
Signed-off-by: Xun Jiang <blackpiglet@gmail.com>
2023-03-20 17:22:15 +08:00
lyndon
81bee240fe Merge pull request #5982 from qiuming-best/fix-empty-volume-id
Fix take snapshot for PV with empty volume ID
2023-03-20 16:33:49 +08:00
lyndon
29f3557bb4 Merge pull request #5992 from R3DRUN3/main
Add latest release badge
2023-03-20 15:04:28 +08:00
Ming
10ae2b3e3a Fix take snapshot for PV without volume ID
Signed-off-by: Ming <mqiu@vmware.com>
2023-03-20 06:38:16 +00:00
Scott Seago
2155b2b215 RIAv2 async operations controller work
Signed-off-by: Scott Seago <sseago@redhat.com>
2023-03-17 14:30:39 -04:00
Xun Jiang/Bruce Jiang
5505110c4a Merge pull request #5987 from ywk253100/230315_unittest
Skip running unit test for test package
2023-03-17 10:57:16 +08:00
r3drun3
2c21cec7e4 docs(readme): add latest release badge
Signed-off-by: r3drun3 <simone.ragonesi@kiratech.it>
2023-03-16 10:04:47 +01:00
Xun Jiang
c677c433e0 Limit the concurrent number of go routine for VolumeSnapshot and VolumeSnapshotContent operations.
Signed-off-by: Xun Jiang <blackpiglet@gmail.com>
2023-03-16 11:42:38 +08:00
lyndon
117d5e846f Merge pull request #5916 from allenxu404/i5200
Add warning/error result to cmd `velero backup describe`
2023-03-16 10:28:08 +08:00
杨刚 (成都)
ad9c6e8dee delete io/ioutil package. (#5955)
Signed-off-by: yanggang <gang.yang@daocloud.io>
2023-03-16 09:25:58 +08:00
Wenkai Yin(尹文开)
c58854fc41 Skip running unit test for test package
Skip running unit test for test package

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2023-03-15 17:49:24 +08:00
allenxu404
a0dac73c95 Add warning/error result to cmd velero backup describe
Signed-off-by: allenxu404 <qix2@vmware.com>
2023-03-15 14:20:47 +08:00
杨刚 (成都)
1d8ca4f2ef delete unused parms for UpdateVolumeSnapshotLocationWithCredentialConfig (#5954)
Signed-off-by: yanggang <gang.yang@daocloud.io>
Signed-off-by: Xun Jiang/Bruce Jiang <59276555+blackpiglet@users.noreply.github.com>
Co-authored-by: Xun Jiang/Bruce Jiang <59276555+blackpiglet@users.noreply.github.com>
2023-03-15 13:50:54 +08:00
lyndon
f527a1fc62 Merge pull request #5933 from sseago/additional-items-ready-main
Wait for additional items to be ready before restoring current item
2023-03-15 11:00:41 +08:00
Daniel Jiang
d6a3da2929 Merge pull request #5838 from blackpiglet/add_new_resource_filters
Add new resource filters can separate cluster and namespace scope res…
2023-03-15 08:57:10 +08:00
Anshul Ahuja
22c1f9f3d6 cleanup
Signed-off-by: Anshul Ahuja <anshulahuja@microsoft.com>
2023-03-14 09:34:12 +00:00
Anshul Ahuja
c9ae1d4dc2 change approach
Signed-off-by: Anshul Ahuja <anshulahuja@microsoft.com>
2023-03-14 09:29:38 +00:00
Xun Jiang
a1e4f54488 Add new resource filters can separate cluster and namespace scope resources.
Signed-off-by: Xun Jiang <blackpiglet@gmail.com>
2023-03-14 07:07:22 +00:00
Daniel Jiang
eeee4e06d2 Merge pull request #5971 from sseago/biav2-follow-on
Follow-on fixes for BIAv2 controller work
2023-03-14 09:47:32 +08:00
Scott Seago
a2621caa74 Wait for additional items to be ready before restoring current item
Signed-off-by: Scott Seago <sseago@redhat.com>
2023-03-13 15:26:45 -04:00
Scott Seago
dd63e8182c Follow-on fixes for BIAv2 controller work
Signed-off-by: Scott Seago <sseago@redhat.com>
2023-03-13 10:29:36 -04:00
Xun Jiang/Bruce Jiang
36163c9a0e Merge pull request #5926 from eemcmullan/server-timeouts
Add server setting for resource timeouts
2023-03-13 09:34:31 +08:00
Emily McMullan
ec4a7072b3 add server setting for default timeouts
Signed-off-by: Emily McMullan <emcmulla@redhat.com>
2023-03-10 10:15:09 -05:00
qiuming
54042c3b01 Merge pull request #5773 from qiuming-best/volumes-filter-design
Design for Handling backup of volumes by resources filters
2023-03-10 09:19:37 +08:00
lyndon
085493a830 Merge pull request #5967 from blackpiglet/5965_fix
Update HorizontalPodAutoscaler version in velero.io
2023-03-10 09:12:27 +08:00
Xun Jiang/Bruce Jiang
7d7e3fff0d Refoctor backup controller with controller-runtime. (#5969)
Signed-off-by: Ming <mqiu@vmware.com>
Signed-off-by: Xun Jiang <blackpiglet@gmail.com>
Co-authored-by: Ming <mqiu@vmware.com>
2023-03-10 08:59:40 +08:00
Xun Jiang/Bruce Jiang
6d8f086283 Merge pull request #5956 from Lyndon-Li/issue-fix-5935
Fix issue 5935
2023-03-09 15:28:47 +08:00
Lyndon-Li
40aae5ebdd fix issue 5935
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-03-09 14:24:51 +08:00
Shubham Pampattiwar
c6059a93d2 Merge pull request #5873 from blackpiglet/add_psa_support 2023-03-08 17:41:53 -08:00
qiuming
7d8cb990e0 Merge pull request #5960 from danfengliu/turn-on-velero-debug-log-switch
Add control on Velero pod log verbosity to E2E test
2023-03-08 15:18:11 +08:00
Xun Jiang
6a295cb0bb Update HorizontalPodAutoscaler version in velero.io
Signed-off-by: Xun Jiang <blackpiglet@gmail.com>
2023-03-08 10:32:44 +08:00
杨刚 (成都)
38a7707ce3 Unify pkg/install deployment args array. (#5961)
Signed-off-by: yanggang <gang.yang@daocloud.io>
2023-03-08 10:29:30 +08:00
lyndon
2dab3446d8 Merge pull request #5964 from Lyndon-Li/fix-client-wait-problem
Fix client wait problem after async operation change
2023-03-08 09:59:13 +08:00
Lyndon-Li
28d636bd71 fix client wait problem
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-03-08 09:29:16 +08:00
danfengl
44a065bd3f Turn Velero debug log flag on
Signed-off-by: danfengl <danfengl@vmware.com>
2023-03-07 04:07:55 +00:00
Shubham Pampattiwar
8bed159023 Merge pull request #5849 from sseago/async-backup-controller
BIAv2 async operations controller work
2023-03-06 18:10:08 -08:00
DingRui Yang
e80584f1a9 Fix GOARM=""
Signed-off-by: DingRui Yang <abserari@gmail.com>
2023-03-06 16:35:46 +08:00
DingRui Yang
018ea42bd0 Merge branch 'main' into patch-1
Signed-off-by: DingRui Yang <abserari@gmail.com>
2023-03-06 16:33:20 +08:00
qiuming
6d635a9454 Merge pull request #5944 from abserari/patch-2
Fix tilt up: missing ${GOARM}" parameter in build-restic.sh
2023-03-06 14:48:21 +08:00
Daniel Jiang
0acc698ddf Merge pull request #5939 from ywk253100/230228_distroless
Switch the base image to distroless/base-nossl-debian11 to reduce the CVE triage efforts
2023-03-06 10:12:40 +08:00
DingRui Yang
9d42c1a408 Update Tiltfile
Signed-off-by: DingRui Yang <abserari@gmail.com>
2023-03-03 17:43:46 +08:00
DingRui Yang
c6c6908b1a Update build-restic.sh
Signed-off-by: DingRui Yang <abserari@gmail.com>
2023-03-03 17:42:58 +08:00
DingRui Yang
3c671a7c09 Fix miss ${GOARM}" parameter in build-restic.sh
Signed-off-by: DingRui Yang <abserari@gmail.com>
2023-03-02 21:11:45 +08:00
DingRui Yang
d23307b403 Fix file rename: hack/download-restic.sh -> hack/build-restic.sh
In fc0c470395 rename the file. But not sync the update in tiltfile

Signed-off-by: DingRui Yang <abserari@gmail.com>
2023-03-02 20:40:49 +08:00
Ming
d72e88a74b Add API Design
Signed-off-by: Ming <mqiu@vmware.com>
2023-03-02 07:53:28 +00:00
Wenkai Yin(尹文开)
99c622331a Switch the base image to distroless/base-nossl-debian11 to reduce the CVE triage efforts
Switch the base image to distroless/base-nossl-debian11 to reduce the CVE triage efforts

Fixes #5902

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2023-03-02 15:45:08 +08:00
Scott Seago
c3d1d83da5 BIAv2 async operations controller work
Signed-off-by: Scott Seago <sseago@redhat.com>
2023-03-01 11:49:17 -05:00
Xun Jiang/Bruce Jiang
94fec66bc8 Merge pull request #5927 from Lyndon-Li/fix-main-CI-problem
[Main]fix main CI no space problem
2023-02-28 16:44:36 +08:00
qiuming
7b3b2c28d2 Merge pull request #5907 from kaovilai/client-go-v0.25.0
Upgrade to k8s.io/client-go v0.25.6
2023-02-28 16:43:39 +08:00
Daniel Jiang
357a917c4e Merge pull request #5899 from anshulahuja98/goreleaser
upgrade and fix goreleaser issue
2023-02-28 16:40:48 +08:00
Lyndon-Li
e671615e58 [Main]fix main CI no space problem
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-02-28 12:33:40 +08:00
lyndon
da17641433 Merge pull request #5867 from ywk253100/230202_restore
Add restored resource list in the output of restore describe command
2023-02-28 11:39:42 +08:00
Wenkai Yin(尹文开)
eb4ecd3767 Add restored resource list in the output of restore describe command
Add restored resource list in the output of restore describe command

Fixes #5199

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2023-02-28 10:43:03 +08:00
Shubham Pampattiwar
c6fba5556e Merge pull request #5864 from blackpiglet/restore_controller_use_controller_runtime 2023-02-25 13:25:15 -08:00
Xun Jiang
c2ac76165e Make restore controller adopting the controller-runtime framework.
Signed-off-by: Xun Jiang <blackpiglet@gmail.com>
2023-02-25 11:55:02 +08:00
danfengl
8c7363d6a7 Add E2E test of changing PV and PVC can be changed during restores
Signed-off-by: danfengl <danfengl@vmware.com>
2023-02-24 09:54:55 +00:00
Xun Jiang/Bruce Jiang
a467488f1a Merge pull request #5894 from Lyndon-Li/issue-fix-5881
Fix issue 5881
2023-02-24 17:23:10 +08:00
Tiger Kaovilai
6163df5da2 go get k8s.io/client-go@v0.25.6 && go mod tidy
Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
2023-02-23 16:41:29 -05:00
Shubham Pampattiwar
b23c541010 Merge pull request #5859 from hezhizhen/clock
Replace k8s.io/apimachinery/pkg/util/clock with k8s.io/utils/clock
2023-02-23 13:37:33 -08:00
qiuming
4b1488bbc3 Merge pull request #5911 from blackpiglet/fix_dependabot_alert
Fix Dependabot alerts. Update Dockerfile. Modify Trivy daily scan.
2023-02-23 17:11:06 +08:00
lyndon
707001e9d4 Merge pull request #5904 from danfengliu/rollback-velero-client-factory-code
Roll back pkg client code for Velero server
2023-02-23 14:42:41 +08:00
Xun Jiang
0a2aed8967 Fix Dependabot alerts. Update Dockerfile. Modify Trivy daily scan.
Signed-off-by: Xun Jiang <blackpiglet@gmail.com>
2023-02-23 14:04:59 +08:00
danfengl
979fb9ccab Roll back pkg client code for Velero server
Signed-off-by: danfengl <danfengl@vmware.com>
2023-02-22 14:11:02 +00:00
Anshul Ahuja
1730f8bcb4 upgrade and fix goreleaser issue
Signed-off-by: Anshul Ahuja <anshulahuja@microsoft.com>
2023-02-22 06:36:51 +00:00
qiuming
d7defa7fb5 Merge pull request #5893 from reasonerjt/sa-rb
Do not create the rolebinding if user customize the service account
2023-02-22 14:35:06 +08:00
Lyndon-Li
08b8498afb fix issue 5881
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-02-21 19:17:38 +08:00
Daniel Jiang
42a92e9b3d Do not create the rolebinding if user customize the service account
Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2023-02-21 18:20:38 +08:00
Xun Jiang/Bruce Jiang
5555f7d4e7 Merge pull request #5865 from allenxu404/issue4816
Add a json output to velero backup describe
2023-02-21 18:19:06 +08:00
allenxu404
16bf3e2d90 Add a json output to velero backup describe
Signed-off-by: allenxu404 <qix2@vmware.com>
2023-02-21 17:16:34 +08:00
Zhizhen He
fb1dc110f2 Replace k8s.io/apimachinery/pkg/util/clock with k8s.io/utils/clock
Signed-off-by: Zhizhen He <hezhizhen.yi@gmail.com>
2023-02-21 11:56:17 +08:00
Scott Seago
5f039b7f7c Merge pull request #5224 from kaovilai/patch-3
gh-issue-template: Comment out the subheading description
2023-02-20 10:14:39 -05:00
Xun Jiang
6be07a1df3 Add labels for created namespace during velero installation to adopt k8s v1.25's PSS and PSA.
Signed-off-by: Xun Jiang <blackpiglet@gmail.com>
2023-02-20 21:27:04 +08:00
danfengliu
a83c153ca1 Merge pull request #5831 from danfengliu/add-snapshot-volumes-as-default-behavior-e2e-test
Add snapshotvolumes default behavior E2E test
2023-02-20 10:27:57 +08:00
Wenkai Yin(尹文开)
4d0c3ac83f Restore finalizer and managedFields (#5853)
Restore finalizer and managedFields of metadata during the restoration

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2023-02-20 10:26:45 +08:00
danfengl
beed887eeb Add snapshotvolumes default behavior E2E test
Signed-off-by: danfengl <danfengl@vmware.com>
2023-02-19 09:05:20 +00:00
Scott Seago
fa58a775e8 Merge pull request #5576 from anshulahuja98/backupresults
Publish backup results to enhance error info
2023-02-18 17:00:49 -05:00
Anshul Ahuja
8c3ddf0f73 Publish backup results extracted from backup logs
Signed-off-by: Anshul Ahuja <anshulahuja@microsoft.com>
2023-02-16 09:57:53 +05:30
Anshul Ahuja
2f3fa9699f Spelling fix
Signed-off-by: Anshul Ahuja <anshulahuja@microsoft.com>
2023-02-14 16:49:35 +05:30
Anshul Ahuja
0b243bc4bc Address PR feedback
Signed-off-by: Anshul Ahuja <anshulahuja@microsoft.com>
2023-02-14 16:32:36 +05:30
lyndon
c5efb542d0 Merge pull request #5786 from qiuming-best/unsupport-type-error
Set Kopia IgnoreUnknownTypes in ErrorHandlingPolicy to True
2023-02-13 15:08:48 +08:00
lyndon
44bcc0959e Merge pull request #5840 from kaovilai/pvb-pvr-should-fail-during-startup
move UpdatePVXStatusToFailed to controller pkg
2023-02-13 13:58:43 +08:00
Xun Jiang/Bruce Jiang
8f76907aff Merge pull request #5843 from ywk253100/230208_secret
Add secret restore item action to handle service account token secret
2023-02-13 11:57:32 +08:00
Fish-pro
ef05af13bf Clean up unused variables and functions (#5818)
Signed-off-by: Fish-pro <zechun.chen@daocloud.io>
2023-02-09 10:53:24 +08:00
Scott Seago
0be05c9bc8 Merge pull request #5788 from blackpiglet/enable_staticcheck
Enable staticcheck linter. Disable check for folder /pkg and /test by…
2023-02-08 19:26:22 -05:00
Anshul Ahuja
7bf5b507f7 Design to add support for Multiple VolumeSnapshotClasses in CSI Plugin
Signed-off-by: Anshul Ahuja <anshulahuja@microsoft.com>
2023-02-08 16:31:24 +05:30
Wenkai Yin(尹文开)
731a484275 Add secret restore item action to handle service account token secret
Add secret restore item action to handle service account token secret:
1. Skip the restoration for the auto-created service account token secret
2. Remove several fields for non-auto-created service account token secret to make sure the secret can be restored

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2023-02-08 15:52:11 +08:00
lyndon
7139daf07a Merge pull request #5769 from Lyndon-Li/issue-fix-5458
Issue fix 5458
2023-02-08 09:59:15 +08:00
Daniel Jiang
6257060bb6 Merge pull request #5333 from blackpiglet/5120_seperate_exlude_include_resource_parameter
Proposal to separate resource filter into cluster scope and namespace…
2023-02-08 09:11:51 +08:00
Tiger Kaovilai
3be7c33d3b move UpdatePVXStatusToFailed to controller pkg
Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
2023-02-07 10:20:30 -05:00
lyndon
53c3f4b436 Issue fix 5226 (#5768)
* fix issue 5226

Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-02-07 17:47:25 +08:00
lyndon
0933dd906f Merge pull request #5736 from blackpiglet/4901_restore_hook
Add info about using shell and using environment variables in restore…
2023-02-07 17:24:26 +08:00
Ming
0fd5af3300 Set Kopia IgnoreUnknownTypes in ErrorHandlingPolicy to True for ignoring backup unknown file type
Signed-off-by: Ming <mqiu@vmware.com>
2023-02-07 08:30:58 +00:00
Scott Seago
5db9437f5e Merge pull request #5540 from wenterjoy/main
change image repository by configmap
2023-02-06 20:31:47 -05:00
Scott Seago
19b855660a Merge pull request #5828 from kaovilai/pvb-pvr-should-fail-during-startup
Use updated PVB/PVR for patching Failed Phase during startup
2023-02-06 15:08:59 -05:00
Scott Seago
53f3d13d7c Merge pull request #5807 from shubham-pampattiwar/update-crd-desc
Update CRD descriptions for SnapshotVolumes and restorePVs
2023-02-06 14:56:28 -05:00
Xun Jiang/Bruce Jiang
218fd76411 Add mapped selected-node existence check. (#5806)
Signed-off-by: Xun Jiang <blackpiglet@gmail.com>
2023-02-06 17:03:35 +08:00
Fish-pro
a761111ba1 Optimize string contrast judgment (#5821)
Signed-off-by: Fish-pro <zechun.chen@daocloud.io>
2023-02-06 14:52:01 +08:00
Fish-pro
843c70959f Clean up unnecessary convert (#5819)
Signed-off-by: Fish-pro <zechun.chen@daocloud.io>
2023-02-06 14:50:31 +08:00
Tiger Kaovilai
d7738532c8 Use updated PVB/PVR for patching Failed Phase during startup
Use the same pvb/pvr update functions across pkg/controller and pkg/cli/nodeagent for consistency of behavior

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
2023-02-03 14:22:56 -05:00
Xun Jiang/Bruce Jiang
0b6b841f2a Remove redundant client from restore controller. (#5759)
Signed-off-by: Xun Jiang <blackpiglet@gmail.com>
2023-02-03 15:57:43 +08:00
Xun Jiang/Bruce Jiang
745d573dfa Merge pull request #5812 from Lyndon-Li/bump-up-golang-net
[Main] bump up golang net
2023-02-02 17:10:02 +08:00
wenterjoy
9d1ccedd44 modified according to review comments
Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>
2023-02-02 02:27:31 +00:00
Daniel Jiang
8b0afa3c44 Add option "--service-account-name" to install cmd (#5802)
The option "--service-account-name" is to be added to that user can use
an existing service account for velero and node-agent pods.  This is
helpful for users who wanna use IRSA.

Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2023-02-01 17:12:24 +08:00
Lyndon-Li
2b043f7bdf bump up golang net
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-02-01 15:33:53 +08:00
Ming
a0891c6f44 add channgelog
Signed-off-by: Ming <mqiu@vmware.com>
2023-02-01 06:30:09 +00:00
qiuming
51568525cb Merge pull request #5779 from allenxu404/issue-matrics
add prometheus metrics to record warning total and last status of backups
2023-01-31 16:02:30 +08:00
Shubham Pampattiwar
428415c004 update CRD descriptions for SnapshotVolumes and restorePVs
Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>

add changelog file

Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>
2023-01-31 00:01:40 -08:00
allenxu404
a5a165b0c3 add prometheus metrics to record warning total and last status of backups
Signed-off-by: allenxu404 <qix2@vmware.com>
2023-01-30 15:40:59 +08:00
lyndon
358e3b8554 Merge pull request #5778 from Fish-pro/fix/statement
Increase readability by reformat table in the document
2023-01-30 14:43:54 +08:00
Xun Jiang
fb5ee2e7bf Proposal to add resource filters for backup can distinguish whether resource is cluster scope or namespace scope.
Signed-off-by: Xun Jiang <blackpiglet@gmail.com>
2023-01-20 15:29:03 +08:00
Xun Jiang
955eec7033 Enable staticcheck linter. Disable check for folder /pkg and /test by now.
Signed-off-by: Xun Jiang <blackpiglet@gmail.com>
2023-01-20 13:52:13 +08:00
Shubham Pampattiwar
d14879ff74 Merge pull request #5752 from sseago/itemoperations-json
Define itemoperations.json format and update DownloadRequest API.
2023-01-19 13:24:24 -05:00
lyndon
b0a16ceac1 Merge pull request #5760 from Lyndon-Li/issue-fix-5043
Issue fix 5043
2023-01-19 16:44:14 +08:00
lyndon
71b459dff9 Merge pull request #5784 from qiuming-best/bump-up-restic
Bump up Restic version to 0.15.0
2023-01-19 14:37:20 +08:00
Ming
e6c8f3afa5 Bump up restic version to 0.15.0
Signed-off-by: Ming <mqiu@vmware.com>
2023-01-19 02:43:09 +00:00
Shubham Pampattiwar
cf2b482c97 Merge pull request #5569 from sseago/riav2-impl
Restore Item Action v2 API implementation
2023-01-18 10:09:27 -05:00
Fish-pro
dd847c2846 Reformat table in the document
Signed-off-by: Fish-pro <zechun.chen@daocloud.io>
2023-01-18 11:11:16 +08:00
lyndon
a1027eeb52 Merge pull request #5771 from blackpiglet/add_go_arm
Add GOARM in Restic builder.
2023-01-18 09:11:30 +08:00
Lyndon-Li
d23418b5b5 add change log
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-01-17 18:23:43 +08:00
Xun Jiang
601f4a9985 Add GOARM in Restic builder. Add PR container build action.
Signed-off-by: Xun Jiang <blackpiglet@gmail.com>
2023-01-17 17:24:21 +08:00
Ming
5899287399 Merge branch 'main' of https://github.com/qiuming-best/velero into main 2023-01-17 07:13:08 +00:00
Ming
eb284fd5d1 Design for Handle backup of volumes by resources filters
Signed-off-by: Ming <mqiu@vmware.com>
2023-01-17 07:12:33 +00:00
Lyndon-Li
2574229fb0 add change log for 5769
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-01-16 19:15:49 +08:00
Lyndon-Li
2c4cfe5611 Merge branch 'main' into issue-fix-5458 2023-01-16 17:46:58 +08:00
Daniel Jiang
598333dca1 Merge pull request #5767 from blackpiglet/fix_container_builder_env
Remove container-builder-env section.
2023-01-16 17:42:13 +08:00
Xun Jiang
d1608e7723 Remove container-builder-env section.
Signed-off-by: Xun Jiang <blackpiglet@gmail.com>
2023-01-16 16:17:59 +08:00
qiuming
46bcdb2c50 Merge pull request #5764 from blackpiglet/add_restic_builder
[cherry-pick][main] Add restic builder
2023-01-13 16:35:51 +08:00
Xun Jiang
01c4e9b0c9 Fix Dockerfile issue.
Signed-off-by: Xun Jiang <blackpiglet@gmail.com>
2023-01-13 14:37:55 +08:00
Xun Jiang
7d916485ec Add Restic builder in Dockerfile.
Signed-off-by: Xun Jiang <blackpiglet@gmail.com>
2023-01-13 14:32:22 +08:00
Lyndon-Li
fc98268181 Merge branch 'main' into issue-fix-5043 2023-01-12 16:54:50 +08:00
Shubham Pampattiwar
e8ea414af7 Merge pull request #5740 from blackpiglet/add_trivy_nightly_scan
Add Trivy nightly scan.
2023-01-12 01:43:49 -05:00
Scott Seago
9f6f13f0c5 RestoreItemAction v2 API implementation
Signed-off-by: Scott Seago <sseago@redhat.com>
2023-01-10 16:26:28 -05:00
Shubham Pampattiwar
ab642ffff2 Merge pull request #5442 from sseago/biav2-impl2
BackupItemAction v2 API implementation
2023-01-10 09:34:03 -05:00
Daniel Jiang
700d9dcc36 Update the default reviewers (#5751)
Update the group members of "maintainers" and "tech-writer" to reflect
the change in the team.
As for the group "tech-writer" I just selected a few members from
maintains team who has been working on velero for a relatively longer
time.

Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2023-01-10 17:25:19 +08:00
Scott Seago
9a54142257 BackupItemAction v2 API implementation
Signed-off-by: Scott Seago <sseago@redhat.com>
2023-01-09 18:36:47 -05:00
Scott Seago
70b4238013 Define itemoperations.json format and update DownloadRequest API.
This is to support uploading async operation metadata to
object storage to support progress monitoring.

Signed-off-by: Scott Seago <sseago@redhat.com>
2023-01-09 18:19:21 -05:00
Xun Jiang
10a1428e00 Add info about using shell and using environment variables in restore InitContainer/Exec hooks.
Signed-off-by: Xun Jiang <blackpiglet@gmail.com>
2023-01-09 20:17:50 +08:00
lyndon
c27c395d50 Merge pull request #5730 from yanggangtony/log
fix log info : pkg/util/kube/isProvisionedByCSI
2023-01-09 14:27:42 +08:00
Xun Jiang
b10503b351 Add Trivy nightly scan.
Signed-off-by: Xun Jiang <blackpiglet@gmail.com>
2023-01-05 20:06:21 +08:00
dependabot[bot]
95fcd8f63c Bump github.com/Azure/azure-sdk-for-go (#5709)
Bumps [github.com/Azure/azure-sdk-for-go](https://github.com/Azure/azure-sdk-for-go) from 61.4.0+incompatible to 67.2.0+incompatible.
- [Release notes](https://github.com/Azure/azure-sdk-for-go/releases)
- [Changelog](https://github.com/Azure/azure-sdk-for-go/blob/main/documentation/release.md)
- [Commits](https://github.com/Azure/azure-sdk-for-go/compare/v61.4.0...v67.2.0)

---
updated-dependencies:
- dependency-name: github.com/Azure/azure-sdk-for-go
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-05 11:00:05 +08:00
Daniel Jiang
722aead2fd Merge pull request #5716 from jelipo/fix-json-name
fix json serialize name
2023-01-03 13:25:53 +08:00
Daniel Jiang
78682d7cc3 Merge pull request #5710 from sseago/async-cr-phases
backup/restore phases for async plugin operations
2023-01-03 13:24:58 +08:00
yanggang
62c00ba841 fix log info : pkg/util/kube/isProvisionedByCSI
Signed-off-by: yanggang <gang.yang@daocloud.io>
2023-01-03 10:37:19 +08:00
Daniel Jiang
54427705c7 Merge pull request #5700 from sseago/async-doc-update
Minor updates to async action monitoring design
2022-12-22 22:55:37 +08:00
qiuming
5b03da2637 Merge pull request #5715 from Lyndon-Li/issue-fix-5696
[Main] Fix issue 5696
2022-12-22 10:49:25 +08:00
Scott Seago
2abb176bd8 backup/restore phases for async plugin operations
Signed-off-by: Scott Seago <sseago@redhat.com>
2022-12-21 10:15:32 -05:00
haining.cao
544df59f58 fix json serialize name
Signed-off-by: haining.cao <haining.cao@daocloud.io>
2022-12-21 18:54:45 +08:00
Lyndon-Li
32eb8655cc fix issue 5696
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2022-12-21 12:49:23 +08:00
Xun Jiang/Bruce Jiang
bd370b2215 Merge pull request #5713 from qiuming-best/restic-empty-dir-fix
[Cherry-Pick]Fix error with Restic backup empty volumes
2022-12-20 19:23:12 +08:00
Ming
3b903e678f [Cherry-Pick]Fix error with Restic backup empty volumes
Signed-off-by: Ming <mqiu@vmware.com>
2022-12-20 06:33:22 +00:00
Scott Seago
69da593f37 Minor updates to async action monitoring design:
1) clarification around Cancel() return values
2) updates to itemoperation json upload to account for progress
3) update to OperationProgress struct to avoid duplicate parameter
4) update new B/R phase name to WaitingForPluginOperationsPartiallyFailed for consistency
Signed-off-by: Scott Seago <sseago@redhat.com>
2022-12-16 17:23:32 -05:00
Lyndon-Li
88a1317f48 fix issue 5043
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2022-12-15 20:00:54 +08:00
Dylan Murray
55873c1c37 Prevent nil panic on exec restore hooks (#5675)
* Prevent nil panic on exec restore hooks

Signed-off-by: Dylan Murray <dymurray@redhat.com>
2022-12-13 13:45:52 +08:00
Shubham Pampattiwar
ffc9845fb9 Merge pull request #5421 from sseago/vsv2-design
VolumeSnapshotter v2 API design
2022-12-12 09:39:33 -05:00
Shubham Pampattiwar
30b7ed8bf1 Merge pull request #5408 from sseago/riav2-design
RestoreItemAction v2 design
2022-12-12 09:39:16 -05:00
Scott Seago
09098f879c Merge pull request #5382 from sseago/biav2-design
BackupItemAction v2 design
2022-12-08 14:03:28 -05:00
Scott Seago
2ce46bd50c Merge pull request #5108 from sseago/progress-design
Item action progress monitoring design
2022-12-06 09:16:02 -05:00
lyndon
d7f771d0f7 Merge pull request #5659 from blackpiglet/update_compability_matrix
Update Velero and k8s version compatibility matrix.
2022-12-06 10:30:11 +08:00
Xun Jiang
3a9ff2256b Update Velero and k8s version compatibility matrix.
Due to CSIDriver is checked for Restic volume mounting path, and CSIDriver is GA and moved to storage v1 group in k8s v1.18, so update Velero v1.8, v1.9 and v1.10 compatible k8s version to 1.18-latest.

Signed-off-by: Xun Jiang <blackpiglet@gmail.com>
2022-12-05 17:40:38 +08:00
lyndon
00fe0dcaf0 Merge pull request #5648 from lukashass/fix-compatibility-matrix-link
Fix links to compatibility matrix
2022-12-05 15:44:50 +08:00
Xun Jiang/Bruce Jiang
24faca31da Merge pull request #5653 from qiuming-best/trivy-cve-fix
Fix CVEs scanned by trivy
2022-12-05 10:56:11 +08:00
Ming
2f3732fa44 Fix CVEs scanned by trivy
Signed-off-by: Ming <mqiu@vmware.com>
2022-12-02 06:57:49 +00:00
Lyndon-Li
b51a17138e fix issue 5458
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2022-12-01 15:12:07 +08:00
Lukas Hass
807ba7e902 Fix links to compatibility matrix
Signed-off-by: Lukas Hass <lukas@slucky.de>
2022-11-30 15:23:48 +01:00
lyndon
9c62a9be81 Merge pull request #5647 from danfengliu/add-sleep-for-refresh-crd
Add sleep before backing up new born CRD
2022-11-30 10:50:52 +08:00
danfengl
897a5e0bd8 Add sleep before backing up new born CRD
Signed-off-by: danfengl <danfengl@vmware.com>
2022-11-30 02:24:45 +00:00
lyndon
2a0ed689c8 Merge pull request #5635 from Lyndon-Li/main-cut-1.10-docs
[main] cut v1.10 docs
2022-11-25 17:27:41 +08:00
Lyndon-Li
a462bef9c3 cut v1.10 docs on main
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2022-11-25 17:14:52 +08:00
lyndon
d26aaeb41e Merge pull request #5634 from reasonerjt/fix-api-doc-comment
[main]: Update the api-types doc
2022-11-25 15:35:16 +08:00
Daniel Jiang
2dce4a7cb5 Update the api-types doc
This commit makes update to the update api-types docs to add missing
fields.
It also includes misc changes to the inline comment, and a change to
Dockerfile to make sure the build-image works on mac

Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2022-11-25 14:39:41 +08:00
qiuming
1f41eb49b1 Merge pull request #5629 from danfengliu/fix-crd-verification-issue
Add verification for CRD installation
2022-11-25 11:55:16 +08:00
qiuming
342dc4adf9 Merge pull request #5630 from danfengliu/fix-git-action-issue-for-setup-gcloud
Fix git action issue for setup-gcloud
2022-11-25 11:54:24 +08:00
danfengl
3c3f041bc1 Add verification for CRD installation
Signed-off-by: danfengl <danfengl@vmware.com>
2022-11-25 03:28:50 +00:00
danfengl
fda394744a Fix git action issue for setup-gcloud
Signed-off-by: danfengl <danfengl@vmware.com>
2022-11-25 03:15:32 +00:00
lyndon
9dbd9694d8 Merge pull request #5606 from jenting/bump-goreleaser
Bump goreleaser to v1.12.3
2022-11-24 16:42:03 +08:00
Xun Jiang/Bruce Jiang
270225e89b Merge pull request #5628 from Lyndon-Li/remove-versions-from-kind
[main] Remove old kubernetes versions from kind CI
2022-11-24 14:24:32 +08:00
Lyndon-Li
33517aedc5 remove versions from kind matrix
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2022-11-23 18:42:11 +08:00
Scott Seago
82c6ca7304 VolumeSnapshotter v2 API design
Signed-off-by: Scott Seago <sseago@redhat.com>
2022-11-22 15:09:59 -05:00
Scott Seago
8a10b9a9e4 RestoreItemAction v2 design
Signed-off-by: Scott Seago <sseago@redhat.com>
2022-11-22 14:31:52 -05:00
Scott Seago
73a5ee41fa BackupItemAction v2 design
This includes necessary changes to support async item action monitoring.

Signed-off-by: Scott Seago <sseago@redhat.com>
2022-11-22 14:11:43 -05:00
Daniel Jiang
069c9a0751 Merge pull request #5617 from ywk253100/221122_main_order
Restore ClusterBootstrap before Cluster
2022-11-23 00:33:05 +08:00
danfengliu
6eccaa4cf5 Add pause/unpause schedule e2e test (#5609)
Signed-off-by: danfengl <danfengl@vmware.com>
2022-11-22 17:38:41 +08:00
Wenkai Yin(尹文开)
8194e8d723 Restore ClusterBootstrap before Cluster
Restore ClusterBootstrap before Cluster otherwise a new default ClusterBootstrap object is create for the cluster

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2022-11-22 17:25:13 +08:00
Xun Jiang/Bruce Jiang
11ea0d7561 Merge pull request #5611 from qiuming-best/main
[Main Cherry-Pick]Enhance upgrade velero bash script
2022-11-22 17:20:15 +08:00
JenTing Hsiao
31e2137154 Bump goreleaser to v1.12.3
Signed-off-by: JenTing Hsiao <hsiaoairplane@gmail.com>
2022-11-22 13:34:11 +08:00
Ming
a7efd657f4 [Main Cherry-Pick]Enhance upgrade velero bash script
Signed-off-by: Ming <mqiu@vmware.com>
2022-11-22 02:28:08 +00:00
Daniel Jiang
9d3600623e Merge pull request #5608 from nikhilbagdi/main
Update the Valero channel hash-name for Kubernetes Slack.
2022-11-21 15:01:06 +08:00
Nikhil Maheshwari
59bb4df0db Update the Valero channel hash-name for Kubernetes Slack.
Signed-off-by: Nikhil Maheshwari <nikhil.m2498@gmail.com>
2022-11-21 01:48:59 +05:30
Xun Jiang/Bruce Jiang
a8f04de955 Merge pull request #5602 from Lyndon-Li/update-1.10-release-notes
update 1.10 release notes
2022-11-18 09:56:53 +08:00
Lyndon-Li
16ecc7c7b1 update 1.10 release notes
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2022-11-17 16:46:45 +08:00
lyndon
7936dc2a9a Merge pull request #5593 from qiuming-best/perf-guidance
Add Velero File System Backup Performance Guide
2022-11-17 11:29:37 +08:00
Ming
9ae29f747e Add Velero File System Backup Performance Guide
Signed-off-by: Ming <mqiu@vmware.com>
2022-11-17 02:28:39 +00:00
lyndon
67d6116835 Merge pull request #5590 from blackpiglet/add_behind_proxy_document
[main] Add Velero behind proxy document.
2022-11-15 16:33:20 +08:00
Xun Jiang
a80cfcdb8c Add Velero behind proxy document.
Signed-off-by: Xun Jiang <blackpiglet@gmail.com>
2022-11-14 19:27:32 +08:00
Xun Jiang/Bruce Jiang
180366bc01 Merge pull request #5584 from Lyndon-Li/1.10-readme
Update 1.10 compatibility matrix
2022-11-11 20:48:33 +08:00
Lyndon-Li
738d1ea0ac update 1.10 readme
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2022-11-11 20:32:18 +08:00
lyndon
efb4002522 1.10 changelog and doc (#5583)
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2022-11-11 19:37:44 +08:00
danfengliu
1ea1d4df67 Save vvelero image tarball only for velero namespace in docker registry (#5581)
Signed-off-by: danfengl <danfengl@vmware.com>
2022-11-11 09:29:11 +08:00
lyndon
1f0b835560 Merge pull request #5524 from danfengliu/update-upgrade-test
Update upgrade test
2022-11-10 14:44:44 +08:00
danfengl
78dae45c52 Update upgrade test for 1.10
Signed-off-by: danfengl <danfengl@vmware.com>
2022-11-10 03:18:01 +00:00
danfengl
a411130256 debug opt in out
Signed-off-by: danfengl <danfengl@vmware.com>
2022-11-10 02:53:58 +00:00
Scott Seago
23c69f46ab Item action progress monitoring design
This design combines the requirements for the previously-merged
Upload Progress Monitoring design with the requirements for the
(not submitted but discussed in meetings and slack) proposed asynchronous
item action plugins into one integrated proposal.

Signed-off-by: Scott Seago <sseago@redhat.com>
2022-11-09 17:00:55 -05:00
Jiaolin Yang
c24855129a Merge pull request #5579 from qiuming-best/restic-cross-compile
[cherry-pick]Fix restic cross platform compile
2022-11-09 21:29:47 +08:00
Ming
9a5ba8f08b Fix restic cross platform compile
Signed-off-by: Ming <mqiu@vmware.com>
2022-11-09 12:42:44 +00:00
lyndon
7137c65e92 Merge pull request #5573 from danfengliu/rename-gcs-secret-name
Rename secret for Google cloud storage
2022-11-09 15:59:47 +08:00
Xun Jiang/Bruce Jiang
8799359a27 Merge pull request #5574 from qiuming-best/restic-build-main
[cherry-pick]Add compile restic binary for CVE fix
2022-11-09 15:51:52 +08:00
Ming
fc0c470395 Add compile restic binary for CVE fix
Signed-off-by: Ming <mqiu@vmware.com>
2022-11-09 07:29:18 +00:00
danfengl
4ab2712f6b Rename secret for Google cloud storage
Signed-off-by: danfengl <danfengl@vmware.com>
2022-11-09 07:17:25 +00:00
Xun Jiang/Bruce Jiang
cd371419e3 Merge pull request #5572 from qiuming-best/log-fix
Fix controller problematic log output
2022-11-09 15:11:39 +08:00
Ming
bf1122b633 Fix controller problematic log output
Signed-off-by: Ming <mqiu@vmware.com>
2022-11-09 06:46:45 +00:00
Xun Jiang/Bruce Jiang
7ea1e93849 Merge pull request #5565 from danfengliu/upload-velero-image-to-gcs
Upload Velero build package saved from build image to Google cloud st…
2022-11-09 14:19:01 +08:00
danfengl
0b6df61eca Upload Velero build package saved from build image to Google cloud storage
Signed-off-by: danfengl <danfengl@vmware.com>
2022-11-08 13:44:04 +00:00
lyndon
5c98e8805b Merge pull request #5559 from Lyndon-Li/remove-gofrs-uuid
Remove dependency on gofrs/uuid
2022-11-07 16:44:24 +08:00
Lyndon-Li
b06cb9ec60 remove gofrs uuid
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2022-11-07 16:28:33 +08:00
Xun Jiang/Bruce Jiang
7ae269950f Merge pull request #5554 from qiuming-best/dependabot-tmp
Modify dependabot rules by only fix security issues
2022-11-07 10:38:22 +08:00
Xun Jiang/Bruce Jiang
c4c5f016f6 Merge pull request #5468 from qiuming-best/upgrade-doc
Add v1.10 velero upgrade doc
2022-11-07 10:08:07 +08:00
Ming
bfe4ac0d67 Modify dependabot rules by only fix security issues
Signed-off-by: Ming <mqiu@vmware.com>
2022-11-04 09:36:55 +00:00
Xun Jiang/Bruce Jiang
fc493632b9 Merge pull request #5543 from sseago/vsl-creds-docs
add VSL credentials documentation.
2022-11-04 15:07:35 +08:00
lyndon
cc9d492479 Merge pull request #5485 from Obmondo/fix/error-message
Fix pointer deference to string in error message
2022-11-04 14:15:56 +08:00
lyndon
b5de485866 Merge pull request #5517 from Rajpratik71/Rajpratik71-patch-1
feat: dependabot workflow automation for updating dependency
2022-11-04 10:09:05 +08:00
Scott Seago
ad4fc0b1e4 add VSL credentials documentation.
Signed-off-by: Scott Seago <sseago@redhat.com>
2022-11-03 17:12:05 -04:00
Orlix
a9e7439b49 Merge pull request #5513 from OrlinVasilev/update-community-meetings 2022-11-03 17:00:06 +02:00
Xun Jiang/Bruce Jiang
1865aab28d Merge pull request #5535 from ywk253100/221102_order
[cherry-pick]Enhance the restore priorities list to support specifying the low prioritized resources that need to be restored in the last
2022-11-03 14:53:10 +08:00
Xun Jiang/Bruce Jiang
efcb63a20d Fix GCP StorageClass used for E2E testing's YAML syntax error. (#5536)
Signed-off-by: Xun Jiang <blackpiglet@gmail.com>

Signed-off-by: Xun Jiang <blackpiglet@gmail.com>
Co-authored-by: Xun Jiang <blackpiglet@gmail.com>
2022-11-03 10:55:59 +08:00
Wenkai Yin(尹文开)
c186a7d193 Enhance the restore priorities list to support specifying the low prioritized resources that need to be restored in the last
Enhance the restore priorities list to support specifying the low prioritized resources that need to be r
estored in the last

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2022-11-03 10:53:32 +08:00
OrlinVasilev
52c8785e79 Update Community meetings times
https://github.com/vmware-tanzu/velero/discussions/5091

Signed-off-by: OrlinVasilev <ovasilev@vmware.com>
2022-11-02 11:43:00 +02:00
OrlinVasilev
7c16103987 Update Community meetings times
https://github.com/vmware-tanzu/velero/discussions/5091

Signed-off-by: OrlinVasilev <ovasilev@vmware.com>
2022-11-02 11:42:53 +02:00
Xun Jiang/Bruce Jiang
345abb3142 Merge pull request #5534 from qiuming-best/backup-progress
fix restic backup progress error
2022-11-02 17:15:30 +08:00
Ming
32637da16b fix restic backup progress error
Signed-off-by: Ming <mqiu@vmware.com>
2022-11-02 07:49:00 +00:00
OrlinVasilev
70edb5bdfa Update Community meetings times
https://github.com/vmware-tanzu/velero/discussions/5091

Signed-off-by: OrlinVasilev <ovasilev@vmware.com>
2022-11-01 16:58:07 +02:00
Xun Jiang/Bruce Jiang
5db3da5aea Merge pull request #5512 from Lyndon-Li/issue-fix-5505
Issue fix 5505
2022-11-01 19:38:39 +08:00
Xun Jiang/Bruce Jiang
ae1e42cfd7 Merge pull request #5478 from Lyndon-Li/s3-compatible-provider
Issue fix 5477
2022-11-01 19:38:26 +08:00
lyndon
e6ba774841 remove restic in docs (#5499)
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2022-11-01 18:11:21 +08:00
OrlinVasilev
63788aaf8f Update Community meetings times
https://github.com/vmware-tanzu/velero/discussions/5091

Signed-off-by: OrlinVasilev <ovasilev@vmware.com>
2022-11-01 11:49:55 +02:00
Ming
f848f50b37 add note for left over resources
Signed-off-by: Ming <mqiu@vmware.com>
2022-11-01 07:43:15 +00:00
lyndon
76d3321917 Merge pull request #5526 from qiuming-best/insecurity-skip-fix
fix restic backup failure with self-signed certification backend storage
2022-11-01 15:29:43 +08:00
Ming
52a49d1945 fix backup failure with self-signed certification
Signed-off-by: Ming <mqiu@vmware.com>
2022-11-01 07:05:20 +00:00
lyndon
502b058282 Merge pull request #5521 from blackpiglet/add-credential-store-in-back-deletion-controller
Add credential file store in the backup deletion controller.
2022-11-01 09:16:57 +08:00
OrlinVasilev
058c44fe10 Update Community meetings times
https://github.com/vmware-tanzu/velero/discussions/5091

Signed-off-by: OrlinVasilev <ovasilev@vmware.com>
2022-10-31 18:49:09 +02:00
OrlinVasilev
734d6ca336 Update Community meetings times
https://github.com/vmware-tanzu/velero/discussions/5091

Signed-off-by: OrlinVasilev <ovasilev@vmware.com>
2022-10-31 11:00:26 +02:00
Xun Jiang
41fc641298 Add credential file store in the backup deletion controller.
Signed-off-by: Xun Jiang <blackpiglet@gmail.com>
2022-10-31 16:59:26 +08:00
Lyndon-Li
3571339fd6 issue fix 5505
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2022-10-31 11:09:46 +08:00
Xun Jiang/Bruce Jiang
a9cfd6604b Merge pull request #5484 from Lyndon-Li/pvbr-doc-refactor
Pod Volume Backup/Restore Refactor: refactor PVBR doc
2022-10-31 10:21:38 +08:00
Pratik Raj
8c6228adb8 feat: dependabot workflow automation for updating dependency
Signed-off-by: Pratik Raj <Rajpratik71@gmail.com>
2022-10-29 01:33:19 +05:30
OrlinVasilev
4054043c94 Update Community meetings times
https://github.com/vmware-tanzu/velero/discussions/5091

Signed-off-by: OrlinVasilev <ovasilev@vmware.com>
2022-10-28 18:38:52 +03:00
OrlinVasilev
818953815d Update Community meetings times
https://github.com/vmware-tanzu/velero/discussions/5091

Signed-off-by: OrlinVasilev <ovasilev@vmware.com>
2022-10-28 17:57:37 +03:00
Lyndon-Li
3efa5357aa refactor pvbr doc
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2022-10-28 16:56:11 +08:00
Xun Jiang/Bruce Jiang
150570feec Remove redundancy code block left by #5388. (#5483)
Signed-off-by: Xun Jiang <blackpiglet@gmail.com>
2022-10-27 14:20:26 +08:00
OrlinVasilev
5bd786a2f9 fix main TOC for 1.10
Signed-off-by: OrlinVasilev <ovasilev@vmware.com>
2022-10-26 12:17:26 +03:00
Ming
a0bf266f7f Add v1.10 velero upgrade doc
Signed-off-by: Ming <mqiu@vmware.com>
2022-10-25 09:41:11 +00:00
Faizan Ahmad
9d01432007 Fix pointer deference to string in error message
Signed-off-by: Faizan Ahmad <faizan@obmondo.com>
2022-10-25 07:52:00 +05:30
Lyndon-Li
9695340c12 repo config for s3 compatible store
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2022-10-24 19:48:09 +08:00
Xun Jiang/Bruce Jiang
5f4336102a Merge pull request #5473 from dpedu/dpedu/1.7-upgrade-typo
Trivial correction to 1.7 upgrade instructions
2022-10-24 14:58:01 +08:00
Xun Jiang/Bruce Jiang
660841dfbd Merge pull request #5471 from ywk253100/221021_lib
update k8s.io dependencies to 0.24.0
2022-10-24 14:46:43 +08:00
Xun Jiang/Bruce Jiang
5027aae194 Add more nil pointer check for CSI related code in backup controller. (#5388)
Add some corner cases checking for CSI snapshot in backup controller.

Signed-off-by: Xun Jiang <blackpiglet@gmail.com>
2022-10-24 10:42:08 +08:00
Dave Pedu
ecee846ed5 Trivial correction to 1.7 upgrade instructions
The container name for the aws plugin is `velero-plugin-for-aws`. There was an extra `velero-` prefix in the doc.

Signed-off-by: Dave Pedu <dave@davepedu.com>
2022-10-21 08:59:08 -07:00
Wenkai Yin(尹文开)
7d5e17fe79 Change name of changelog file
Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2022-10-21 18:21:24 +08:00
Kira Boyle
b146a880c6 update k8s.io dependencies to 0.24.0
* This also required an update to use github.com/bombsimon/logrusr/v3
* 'WithClusterName' removed as per the k8s doc reasoning:
* https://github.com/kubernetes/apimachinery/blob/release-1.24/pkg/apis/meta/v1/types.go\#L257-L259
* ('ClusterName was a legacy field that was always cleared by the system and never used')
* Test was updated accordingly

Signed-off-by: Kira Boyle <kira@replicated.com>
2022-10-21 11:16:21 +08:00
danfengliu
11a7c796eb Fix label naming issue for restore helper (#5469)
Signed-off-by: danfengl <danfengl@vmware.com>
2022-10-20 17:49:51 +08:00
Shubham Pampattiwar
c5339227fe increase ensure restic repository timeout (#5335)
Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>
2022-10-19 16:26:45 +08:00
Daniel Jiang
ae3ebf7451 Merge pull request #5344 from kaovilai/CVE-2022-28948
Upgrade gopkg.in/yaml.v3 to v3.0.1
2022-10-19 16:25:24 +08:00
Daniel Jiang
d0a6ff29ac Merge pull request #5428 from weshayutin/CVE-2022-27191
Fix CVE-2022-27191
2022-10-19 16:12:58 +08:00
Daniel Jiang
fc038041fb Merge pull request #5294 from cleverhu/change-CSISnapshotTimeout-to-normal-var
change CSISnapshotTimeout from pointer to normal variable
2022-10-19 15:31:47 +08:00
lyndon
4d85b78a0c Merge pull request #5459 from Lyndon-Li/velero-docker-image-go-1.18
Upgrade velero docker image to use go 1.18
2022-10-19 14:26:01 +08:00
lyndon
162680b39c Merge branch 'main' into velero-docker-image-go-1.18
Signed-off-by: lyndon <98304688+Lyndon-Li@users.noreply.github.com>
2022-10-19 09:29:36 +08:00
Scott Seago
6b2cb7a841 Merge pull request #5401 from shubham-pampattiwar/add-vsc-nil-check
Add nil check before execution of csi snapshot delete
2022-10-18 15:24:16 -04:00
Shubham Pampattiwar
34cca77533 Add nil check before execution of csi snapshot delete
Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>

add changelog

Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>
2022-10-18 11:51:55 -04:00
Lyndon-Li
c92f06ef17 fix lint loop iterator problem
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2022-10-18 22:40:48 +08:00
Lyndon-Li
d7b4583b2b fix lint errors
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2022-10-18 21:53:47 +08:00
Lyndon-Li
df5436b380 upgrade velero docker image
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2022-10-18 20:23:42 +08:00
Xun Jiang/Bruce Jiang
9cb46deb73 Add CSI VolumeSnapshot client back. (#5449)
Signed-off-by: Xun Jiang <blackpiglet@gmail.com>
2022-10-18 14:58:03 +08:00
lyndon
30b1ca87eb Merge pull request #5313 from gliptak/go8
Bump Go to 1.18
2022-10-18 12:17:37 +08:00
lyndon
ad7e3ab8d5 Merge pull request #5446 from allenxu404/i5098
Change subcommand `velero restic` to `velero repo`
2022-10-17 18:28:51 +08:00
Xun Jiang/Bruce Jiang
d658f6564d Merge pull request #5444 from Lyndon-Li/remove-restic
Pod Volume Backup/Restore Refactor: Remove Restic in code
2022-10-17 15:32:17 +08:00
lyndon
d52ec8c079 Pod Volume Backup/Restore Refactor: Rename Init Helper (#5432)
* restore helper refactor

Signed-off-by: Lyndon-Li <lyonghui@vmware.com>

* resolve codespell

Signed-off-by: Lyndon-Li <lyonghui@vmware.com>

Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2022-10-17 13:42:09 +08:00
Xun Jiang/Bruce Jiang
7a535ea047 Merge pull request #5425 from danfengliu/fix-ctx-issue
Fix E2E test and Git action CI issues
2022-10-17 09:56:23 +08:00
danfengl
cf32cabddd fix-ctx-issue
1. Fix issue of kubectl client and server mismatch version in GitAction E2E job, refer to https://github.com/elastic/cloud-on-k8s/issues/4737;
2. Adapt to the changing of keyword for involing Kpoia as fs backupper, new installtion breaked upgrade and migration tests;
3. Accept multi-labels of Ginkgo focus as input of E2E make command;
4. Distinguish workload namespace from each tests;
5. Fix issues of not using Velero util to perform Velero commands;
6. Add snapshot test case for NamespaceMapping E2E test;
7. Collect debug bundle after catching error of Velero backup or restore command;
Signed-off-by: danfengl <danfengl@vmware.com>
2022-10-16 13:18:39 +00:00
allenxu404
154f5551c6 Change subcommand restic to repo
Signed-off-by: allenxu404 <qix2@vmware.com>
2022-10-13 19:45:52 +08:00
Lyndon-Li
5f7f69366c remove restic from code
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2022-10-13 13:45:32 +08:00
Xun Jiang/Bruce Jiang
c0430b8964 Merge pull request #5441 from sseago/riav1-input-output
moved RIA execute input/output structs back to velero package
2022-10-13 11:10:00 +08:00
Scott Seago
45de8a782f moved RIA execute input/output structs back to velero package
The RIA refactoring moved velero.RestoreItemAction into a separate
(restoreitemaction) v1 package. Unfortunately, this change would require
plugins to make code changes to locate the RestoreItemActionExecuteInput
and RestoreItemActionExecuteOutput structs.

This commit restores those structs to the original velero package, leaving
just the RestoreItemAction interface in the new v1 package.

Signed-off-by: Scott Seago <sseago@redhat.com>
2022-10-12 13:17:47 -04:00
Daniel Jiang
b5b4db29cd Merge pull request #5429 from reasonerjt/skip-additional-resources-main
Skip the exclusion check for additional resources returned by BIA
2022-10-12 09:46:09 +08:00
Wesley Hayutin
1f6785275f Fix CVE-2022-27191
https://nvd.nist.gov/vuln/detail/CVE-2022-27191
updates to:
  * golang.org/x/crypto v0.0.0-20220315160706-3147a52a75dd
adds:
  * golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2

Signed-off-by: Wesley Hayutin <weshayutin@gmail.com>
2022-10-11 07:47:48 -06:00
lyndon
83ea1cc58b rename daemonset (#5390)
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>

Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2022-10-11 14:18:21 +08:00
Daniel Jiang
28c543a9ec Skip the exclusion check for additional resources returned by BIA
This commit provides a simple contract that if the BackupItemAction
plugin sets an annotation in a resource it has handled, the additional
items will considered "must include" i.e. each of them will skip the
"include-exclude" filter, such that the plugin developer can make sure
they are included in the backup disregarding the filter setting in the
bakcup CR.

Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2022-10-11 12:03:44 +08:00
Orlix
19e158a2a6 Merge pull request #5417 from OrlinVasilev/add-pradeepkchaturvedi 2022-10-05 18:14:24 +03:00
OrlinVasilev
1165c7e5fc Update Maintainers with the new PM pradeepkchaturvedi
Signed-off-by: OrlinVasilev <ovasilev@vmware.com>
2022-10-03 14:16:05 +03:00
OrlinVasilev
0ad2321078 Update Maintainers with the new PM pradeepkchaturvedi
Signed-off-by: OrlinVasilev <ovasilev@vmware.com>
2022-10-03 14:12:31 +03:00
Xun Jiang/Bruce Jiang
f3e3cfcdaf Merge pull request #5412 from allenxu404/i5085
Change B/R describe CLI to support kopia
2022-10-03 14:32:04 +08:00
allenxu404
47f8eb5f9b Change B/R describe cli to support kopia
Signed-off-by: allenxu404 <qix2@vmware.com>
2022-09-30 17:30:18 +08:00
Xun Jiang/Bruce Jiang
a80c96c8f8 update velero using klog to version v2.9.0 (#5396)
Signed-off-by: Xun Jiang <blackpiglet@gmail.com>

Signed-off-by: Xun Jiang <blackpiglet@gmail.com>
Co-authored-by: Xun Jiang <blackpiglet@gmail.com>
2022-09-30 14:08:43 +08:00
Xun Jiang/Bruce Jiang
abf14c2c1f Merge pull request #5410 from danfengliu/debug-opt-in
Fix issues of E2E test for API group, migration and pv opt-out backup
2022-09-30 10:10:02 +08:00
danfengl
e699a3e9f2 Fix issues of E2E test for API group, migration and pv opt-out backup
1. One of API group test failed due to other PR with fix for treat PartiallyFailed as failure to collect debugbundle without wrap the origin error;
2. Fix migration test issue of wrong velero cli for backup commmand;
3. Fix wrong pararmeter name issue for pv opt-out backup test.

Signed-off-by: danfengl <danfengl@vmware.com>
2022-09-29 13:53:42 +00:00
Xun Jiang/Bruce Jiang
3f3a5050d6 Exclude "csinodes.storage.k8s.io" and "volumeattachments.storage.k8s.io" from backup and restore by default. (#5064)
Signed-off-by: Xun Jiang <jxun@vmware.com>

Signed-off-by: Xun Jiang <jxun@vmware.com>
Signed-off-by: Xun Jiang/Bruce Jiang <59276555+blackpiglet@users.noreply.github.com>
2022-09-29 15:24:06 +08:00
Xun Jiang/Bruce Jiang
eec27e942e Add backup status checking schedule controller. (#5283)
Signed-off-by: Xun Jiang <blackpiglet@gmail.com>

Signed-off-by: Xun Jiang <blackpiglet@gmail.com>
Signed-off-by: Xun Jiang/Bruce Jiang <59276555+blackpiglet@users.noreply.github.com>
Co-authored-by: Xun Jiang <blackpiglet@gmail.com>
2022-09-29 15:01:30 +08:00
qiuming
82a84248a6 Merge pull request #5315 from aaronariasperez/patch-1
A little note about TTL expiration
2022-09-29 12:53:28 +08:00
qiuming
eacc10347b Fix restore error with flag namespace-mappings (#5377)
Signed-off-by: Ming <mqiu@vmware.com>
2022-09-29 11:54:51 +08:00
qiuming
3b3260c1c3 Merge pull request #5394 from blackpiglet/fix_prepareBackupRequest_UT_failure
Fix Test_prepareBackupRequest_BackupStorageLocation UT failure.
2022-09-27 09:53:59 +08:00
danfengliu
5631c7c9df Merge pull request #5331 from danfengliu/add-opt-in-opt-out-pv-to-e2e-test
Add backup opt-in/opt-out E2E test
2022-09-26 21:43:59 +08:00
Xun Jiang
9693aca1f3 Fix Test_prepareBackupRequest_BackupStorageLocation UT failure.
Signed-off-by: Xun Jiang <blackpiglet@gmail.com>
2022-09-26 17:10:23 +08:00
Xun Jiang/Bruce Jiang
a5eaff0eb2 Merge pull request #5372 from danfengliu/add-kopia-support-for-velero-installation-in-e2e
Add Kopia support for Velero installation in E2E test
2022-09-26 16:24:54 +08:00
Daniel Jiang
c83447f394 Merge pull request #5362 from niulechuan/add-backup-controller-ut
Added backupController's UT to test the prepareBackupRequest() method BackupStorageLocation processing logic
2022-09-26 14:17:16 +08:00
danfengl
09240a269b Add Kopia support for Velero installation in E2E test
Signed-off-by: danfengl <danfengl@vmware.com>
2022-09-24 04:27:24 +00:00
danfengl
081b70d0eb Add backup opt-in/opt-out E2E test
Signed-off-by: danfengl <danfengl@vmware.com>
2022-09-23 09:29:32 +00:00
qiuming
9b22ca6100 Merge pull request #5387 from Lyndon-Li/issue-fix-5386
fix issue 5386
2022-09-23 17:28:14 +08:00
Lyndon-Li
6c8981b0ad fix issue 5386
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2022-09-23 16:52:38 +08:00
qiuming
66f6365988 Merge pull request #5355 from danfengliu/add-schedule-backup-timing-e2e-test
Add schedule backup timing E2E test
2022-09-23 15:51:47 +08:00
Xun Jiang/Bruce Jiang
ce247a3d90 Remove snapshot related lister, informer and client from backup controller. (#5299)
Signed-off-by: Xun Jiang <blackpiglet@gmail.com>
2022-09-23 15:44:39 +08:00
Xun Jiang/Bruce Jiang
b7f5cbd0c0 Merge pull request #5318 from sseago/volumesnapshotter-refactor
plugin versioning v1 refactor for VolumeSnapshotter
2022-09-23 09:54:01 +08:00
lyndon
c81f0db886 rename pvbr param (#5370)
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2022-09-23 09:13:36 +08:00
qiuming
100d462ec0 Merge pull request #5367 from danfengliu/fix-issue--command-return-message-checking
Fix issue of fail to get command output for test verification
2022-09-22 10:17:26 +08:00
Scott Seago
b6088356e6 plugin versioning v1 refactor for VolumeSnapshotter
Signed-off-by: Scott Seago <sseago@redhat.com>
2022-09-21 13:47:23 -04:00
lyndon
ee254c644f Merge pull request #5353 from cleverhu/add-crd-field-doc-for-schedule
add useOwnerReferencesInBackup field doc
2022-09-21 12:12:38 +08:00
danfengl
fdc23832cc Fix issue of fail to get command output for test verification
When running velero backup/restore command, if the command result is "PartiallyFailed", it won't reture error as design, but we do need to know the debug information to figure out the reason, so the command output is needed to get the command result, then further action will be taken.

Signed-off-by: danfengl <danfengl@vmware.com>
2022-09-21 02:47:32 +00:00
danfengl
80430542df Add schedule backup timing E2E test
Signed-off-by: danfengl <danfengl@vmware.com>
2022-09-21 02:32:26 +00:00
Niu Lechuan
1ab7ebd80e add change log
Signed-off-by: Niu Lechuan <lechuan.niu@daocloud.io>
2022-09-21 10:24:19 +08:00
Shubham Pampattiwar
c0920b85da Merge pull request #5312 from sseago/riav1-refactor
RestoreItemAction v1 refactoring for plugin api versioning
2022-09-20 21:49:59 -04:00
Scott Seago
32ef20d317 RestoreItemAction v1 refactoring for plugin api versioning
Signed-off-by: Scott Seago <sseago@redhat.com>
2022-09-20 17:43:56 -04:00
qiuming
07da9b9cf8 Merge pull request #5279 from ywk253100/220829_pause
Support pause/unpause schedules
2022-09-20 16:06:17 +08:00
qiuming
648311a0f5 Merge pull request #5350 from blackpiglet/5019-snapshot-volumes-help-message-modification
Modify help message of parameter --snapshot-volumes
2022-09-20 14:18:00 +08:00
Niu Lechuan
a5f1e7ac11 Added backupController's UT to test the prepareBackupRequest() method BackupStorageLocation processing logic
Signed-off-by: Niu Lechuan <lechuan.niu@daocloud.io>
2022-09-20 11:26:03 +08:00
cleverhu
f51c8bf44b add useOwnerReferencesInBackup field doc
Signed-off-by: cleverhu <shouping.hu@daocloud.io>
2022-09-19 18:50:51 +08:00
Xun Jiang/Bruce Jiang
ac2bb3ea2e Merge pull request #5359 from Lyndon-Li/issue-fix-5358
Issue fix 5358
2022-09-19 17:10:28 +08:00
Lyndon-Li
18bda60791 fix issue 5358
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2022-09-19 16:46:03 +08:00
Xun Jiang/Bruce Jiang
32b48d0dad Merge pull request #5356 from Lyndon-Li/issue-fix-5352
Fix issue 5352
2022-09-19 14:47:27 +08:00
lyndon
429e204992 Merge pull request #5329 from kaovilai/veleroDownloadRequestReturnSomething-veleromain
Cancel downloadRequest when timeout without downloadURL
2022-09-19 14:20:18 +08:00
Lyndon-Li
dedb3e0098 fix issue 5352
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2022-09-19 11:39:11 +08:00
Gábor Lipták
648d56e541 Bump Go to 1.18
Signed-off-by: Gábor Lipták <gliptak@gmail.com>
2022-09-17 13:11:09 -04:00
lyndon
ede7b197ae Merge pull request #5297 from blackpiglet/remove_apex_log
Remove github.com/apex/log logger.
2022-09-16 16:47:36 +08:00
Xun Jiang/Bruce Jiang
e42352b2e4 Merge pull request #5271 from sseago/plugin-versioning-impl
plugin/clientmgmt and framework refactoring for BackupItemAction v1
2022-09-16 16:41:33 +08:00
Xun Jiang
d134783282 Clarify the help message for the default value of parameter --snapshot-volumes, when it's not set.
Signed-off-by: Xun Jiang <blackpiglet@gmail.com>
2022-09-16 16:03:05 +08:00
Xun Jiang/Bruce Jiang
4768c2acf4 Merge pull request #5314 from allenxu404/issue3565
Change the status of restore to completed from partiallyFailed when restore empty backup
2022-09-16 15:00:36 +08:00
Scott Seago
e3e2a8dfa0 plugin/framework refactoring for BackupItemAction v1
Refactors the framework  package to implement the plugin versioning changes
needed for BIA v1 and overall package refactoring to support plugin versions
in different packages. This should be all that's needed to move on to
v2 for BackupItemAction. The remaining plugin types still need similar
refactoring to what's being done here for BIA before attempting a
v2 implementation.

Signed-off-by: Scott Seago <sseago@redhat.com>
2022-09-15 11:15:30 -04:00
Scott Seago
4262b47536 plugin/clientmgmt refactoring for BackupItemAction v1
Refactors the clientmgmt package to implement the plugin versioning changes
needed for BIA v1 and overall package refactoring to support plugin versions
in different packages. This should be all that's needed to move on to
v2 for BackupItemAction. The remaining plugin types still need similar
refactoring to what's being done here for BIA before attempting a
v2 implementation.

Signed-off-by: Scott Seago <sseago@redhat.com>
2022-09-15 11:15:30 -04:00
Shubham Pampattiwar
1e138af1cf Merge pull request #5263 from sseago/biav1-refactor
Don't move velero v1 plugins to new proto dir
2022-09-15 11:14:05 -04:00
Xun Jiang/Bruce Jiang
745ebbe081 Merge pull request #5347 from qiuming-best/fix-restic-resotre
Fix restore cmd extraflag overwrite bug
2022-09-15 15:37:15 +08:00
Xun Jiang/Bruce Jiang
d0954dddd4 Merge pull request #5322 from qiuming-best/fix-get-parent-snapshot
Fix PVB finds wrong parent snapshot
2022-09-15 15:23:27 +08:00
Ming
4022020d5f Fix restore cmd extraflag overwrite bug
Signed-off-by: Ming <mqiu@vmware.com>
2022-09-15 06:09:41 +00:00
Xun Jiang/Bruce Jiang
a05fc498b1 Merge pull request #5291 from cleverhu/add-shorthand-for-labels-columns
Add shorthand for labels columns
2022-09-15 11:24:06 +08:00
Wenkai Yin(尹文开)
4b9dbfa416 Support pause/unpause schedules
Support pause/unpause schedule

Fixes #2363

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2022-09-15 10:42:48 +08:00
Tiger Kaovilai
2c759f395a cancel downloadRequest checkFunc if timeout passed
Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
2022-09-14 14:13:09 -04:00
Tiger Kaovilai
876238e33d Resolve gopkg.in/yaml.v3 vulnerabilities
as shown from https://security.snyk.io/package/golang/gopkg.in%2Fyaml.v3

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
2022-09-14 10:48:52 -04:00
lyndon
100d6b4430 Merge pull request #5319 from Lyndon-Li/issue-fix-4874
Issue fix 4874 and 4752
2022-09-14 11:04:56 +08:00
Lyndon-Li
fbb2606102 issue fix 4874 update
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2022-09-13 11:15:52 +08:00
Shubham Pampattiwar
be40d7eb19 Merge pull request #4864 from sseago/vsl-creds-main
Add credentials to volume snapshot locations.
2022-09-12 09:56:49 -04:00
Ming
c612853bd5 Fix PVB finds wrong parent snapshot
Signed-off-by: Ming <mqiu@vmware.com>
2022-09-09 08:30:57 +00:00
lyndon
30a70cbd0d Merge branch 'vmware-tanzu:main' into issue-fix-4874 2022-09-09 09:20:38 +08:00
Xun Jiang/Bruce Jiang
325b8c0d05 Merge pull request #5308 from Lyndon-Li/repository-ensurer-refactor
Repo Ensurer Refactor
2022-09-08 21:17:31 +08:00
Scott Seago
be0a1cf361 Merge pull request #5293 from cleverhu/optimize-restore
optimize code for restore exists resources
2022-09-08 09:01:44 -04:00
Scott Seago
596114b427 Add credentials to volume snapshot locations.
This is analogous to the BSL creds work that was done previously, but for VSLs instead.

Signed-off-by: Scott Seago <sseago@redhat.com>
2022-09-08 08:59:17 -04:00
Aaron Arias
901bec30dd A little note about TTL expiration
I think is necessary this little comment about TTL expiration, because it can be confusing when the expiration time has passed and the data allocated and the snapshots are not erased at that time.

Signed-off-by: Aaron Arias <33655005+aaronariasperez@users.noreply.github.com>
2022-09-08 12:40:51 +02:00
allenxu404
dc70471909 Change the status of restore to completed from partially failed when restore empty backup
Signed-off-by: allenxu404 <qix2@vmware.com>
2022-09-08 18:40:49 +08:00
Lyndon-Li
8496b43e37 refactor repo ensurer
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2022-09-08 16:10:51 +08:00
Lyndon-Li
a12024887f fix issue 4874
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2022-09-07 21:44:45 +08:00
lyndon
8888f8765e Merge pull request #5282 from Lyndon-Li/kopia-pvbr-smoking-test
Kopia Pod Volume Backup/Restore Smoking Test Changes
2022-09-07 14:20:44 +08:00
Lyndon-Li
a90ba3db7c kopia pvbr smoking test changes
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2022-09-07 13:22:49 +08:00
Xun Jiang
b49e39c021 Remove github.com/apex/log logger.
Signed-off-by: Xun Jiang <blackpiglet@gmail.com>
2022-09-07 08:52:16 +08:00
cleverhu
7de6f2a2fc trim isAlreadyExistsError for restore
Signed-off-by: cleverhu <shouping.hu@daocloud.io>
2022-09-07 03:55:20 +08:00
cleverhu
067a3ec03a change CSISnapshotTimeout from point to normal var
Signed-off-by: cleverhu <shouping.hu@daocloud.io>
2022-09-07 01:30:47 +08:00
cleverhu
5e6111e6c0 add shorthand for labels columns
Signed-off-by: cleverhu <shouping.hu@daocloud.io>
2022-09-06 20:14:13 +08:00
Scott Seago
b15c59ba69 Don't move velero v1 plugins to new proto dir
To preserve backwards compatibility, don't move velero
v1 plugins to new proto dir.

Signed-off-by: Scott Seago <sseago@redhat.com>
2022-09-05 16:01:56 -04:00
Daniel Jiang
c7bd2b9c02 Merge pull request #5252 from cleverhu/add-csiSnapshotTimeout-for-describe
add CSISnapshotTimeout for describe backup
2022-09-05 14:44:36 +08:00
Daniel Jiang
78b4914661 Merge pull request #5261 from Abirdcfly/main
chore: remove duplicate word in comments
2022-09-05 14:32:47 +08:00
lyndon
0282e65221 Kopia Pod Volume Backup/Restore (#5259)
* kopia pvbr

Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2022-09-05 10:29:30 +08:00
qiuming
a5a3df193d Merge pull request #5236 from sseago/no-namespaces-fix
Check for empty ns list before checking nslist[0]
2022-09-05 09:40:19 +08:00
qiuming
4bc73f2b3c Merge pull request #5237 from danfengliu/add-enable-api-group-e2e-test
Add enable API group on k8s resources E2E test
2022-09-02 15:47:59 +08:00
lyndon
5f1bf9eb35 Merge pull request #5214 from qiuming-best/uploader-restic
Uploader Implementation: Restic backup and restore
2022-09-02 11:11:38 +08:00
Ming
eb974687a7 merge upstream code
Signed-off-by: Ming <mqiu@vmware.com>
2022-09-02 01:45:12 +00:00
Daniel Jiang
218bab987d Merge pull request #5239 from shubham-pampattiwar/fix-already-exists
Fix edge cases for already exists resources
2022-08-31 23:01:56 +08:00
Shubham Pampattiwar
94a9a7c795 Merge pull request #4943 from phuongatemc/refactor_plugin_biav1
Refactor BackupItemAction to backupitemaction/v1
2022-08-30 09:48:26 -04:00
Xun Jiang/Bruce Jiang
6fea973c57 Migrate backup sync controller from code-generator to kubebuilder (#5218)
* Migrate backup sync controller from code-generator to kubebuilder

1. use kubebuilder's reconcile logic to replace controller's old logic.
2. use ginkgo and gomega to replace testing.
3. modify BSL reconciler registration method.

Signed-off-by: Xun Jiang <blackpiglet@gmail.com>

* Add Option for PeriodicalEnqueueSource.

Signed-off-by: Xun Jiang <blackpiglet@gmail.com>

Signed-off-by: Xun Jiang <blackpiglet@gmail.com>
Co-authored-by: Xun Jiang <blackpiglet@gmail.com>
2022-08-30 16:55:39 +08:00
Abirdcfly
fab86caa2f chore: remove duplicate word in comments
Signed-off-by: Abirdcfly <fp544037857@gmail.com>
2022-08-30 16:34:23 +08:00
Daniel Jiang
8bc464aaa6 Update the website of velero to refelct the change of PM (#5260)
Signed-off-by: Daniel Jiang <jiangd@vmware.com>

Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2022-08-30 15:25:41 +08:00
Xun Jiang/Bruce Jiang
4bc3a3a784 Merge pull request #5248 from allenxu404/gc-freq
equip gc controller with configurable frequency
2022-08-30 11:12:12 +08:00
allenxu404
a8ba4875f0 equip gc controller with configurable frequency
Signed-off-by: allenxu404 <qix2@vmware.com>
2022-08-30 10:13:06 +08:00
qiuming
c8818ec1c9 Merge pull request #5241 from blackpiglet/update_enabled_runtime_controllers
Controller refactor code modifications.
2022-08-30 09:30:35 +08:00
Shubham Pampattiwar
93a875873b fix edge cases for already exists resources
Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>

add changelog file

Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>

update changelog filename

Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>

change log level and error type

Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>
2022-08-29 17:34:02 -04:00
Scott Seago
91ac570d81 some additional debug logs
Signed-off-by: Scott Seago <sseago@redhat.com>
2022-08-29 16:55:14 -04:00
Scott Seago
71648750cc Merge pull request #5247 from divolgin/storage-class-panic
Don't panic when storageClassName is not set in stateful sets
2022-08-29 10:06:32 -04:00
Xun Jiang/Bruce Jiang
eaf9fab711 Merge branch 'main' into update_enabled_runtime_controllers 2022-08-29 20:06:31 +08:00
Ming
ed71e65486 Merge branch 'main' of https://github.com/qiuming-best/velero into uploader-restic 2022-08-29 11:33:59 +00:00
qiuming
d8cae1e91b Merge pull request #5256 from ywk253100/220829_restic_common
Move the code in pkg/restic/common.go to the proper package
2022-08-29 19:32:09 +08:00
danfengl
e6c94af358 Add enable API group on k8s resources E2E test upon issue #5146
Signed-off-by: danfengl <danfengl@vmware.com>
2022-08-29 09:44:17 +00:00
Ming
f15757a3d8 Uploader Implementation: Restic backup and restore
Signed-off-by: Ming <mqiu@vmware.com>
2022-08-29 09:33:37 +00:00
Wenkai Yin(尹文开)
4a5647a891 Move the code in pkg/restic/common.go to the proper package
Move the code in pkg/restic/common.go to the proper package

Fixes #5243

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2022-08-29 10:04:58 +08:00
qiuming
3e30a3d388 Merge pull request #5233 from Lyndon-Li/udmrepo-dev-06
Kopia Integration:Kopia Lib - Implementation
2022-08-28 22:33:12 +08:00
cleverhu
e77aaa32ca add CSISnapshotTimeout for describe backup
Signed-off-by: cleverhu <shouping.hu@daocloud.io>
2022-08-28 15:14:03 +08:00
Xun Jiang/Bruce Jiang
86762f442a Merge pull request #5217 from lilongfeng0902/lilf-branch
check vsc null pointer
2022-08-27 10:45:13 +08:00
Daniel Jiang
8d3f17390b Merge pull request #5240 from shubham-pampattiwar/add-oadp
Add OADP to adopters list
2022-08-26 16:45:40 +08:00
Lyndon-Li
3769cd218a kopia lib
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2022-08-26 15:25:20 +08:00
Scott Seago
5a5a4c184e Updated plugin/framework server files to cope with protoc changes
Signed-off-by: Scott Seago <sseago@redhat.com>
2022-08-25 21:28:07 -04:00
Scott Seago
4f2c2d2679 updated to newer protoc/protoc-gen-go
Signed-off-by: Scott Seago <sseago@redhat.com>
2022-08-25 21:28:03 -04:00
Scott Seago
6b8353081a renamed update files so that protoc is run before CRD update.
If generating protoc go files from scratch, `make update` fails if
CRD generation happens first, since the protoc-generated
files are imported by the api go files.
protoc generation needs to happen earlier.

Signed-off-by: Scott Seago <sseago@redhat.com>
2022-08-25 17:23:35 -04:00
Hoang, Phuong
2c037b7491 Add missing file
Signed-off-by: Hoang, Phuong <phuong.n.hoang@dell.com>
2022-08-25 17:10:14 -04:00
Hoang, Phuong
4a043bdab9 Add changelog
Signed-off-by: Hoang, Phuong <phuong.n.hoang@dell.com>
2022-08-25 17:10:14 -04:00
Hoang, Phuong
b54424bdc6 Refactor BackupItemAction to backupitemaction/v1
Signed-off-by: Hoang, Phuong <phuong.n.hoang@dell.com>
2022-08-25 17:10:09 -04:00
divolgin
ad4e733ef2 Don't panic when storageClassName is not set in stateful sets
Signed-off-by: divolgin <dmitriy@replicated.com>
2022-08-25 15:02:40 +00:00
Scott Seago
55bf2de15d Check for empty ns list before checking nslist[0]
In determining whether a backup includes all namespaces, item_collector
checks for an empty string in the first element of the ns list. If processing
includes+excludes results in an empty list, treat this as another case
of a not-all-namespaces backup rather than crashing velero.

Signed-off-by: Scott Seago <sseago@redhat.com>
2022-08-24 14:32:19 -04:00
Xun Jiang/Bruce Jiang
e8494418d4 Merge pull request #5215 from allenxu404/issue5023
Refactor GC controller with kubebuilder
2022-08-23 15:59:03 +08:00
Xun Jiang
71e5027bfb Controller refactor code modifications.
1. Add some refactored controllers initiation code into enabledRuntimeControllers.
2. Add reconciler struct initiation function for DownloadRequest and ServerStatusRequest controllers.

Signed-off-by: Xun Jiang <blackpiglet@gmail.com>
2022-08-23 10:32:19 +08:00
Shubham Pampattiwar
5118c8ac01 add OADP to adopters list
Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>

fix typo

Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>
2022-08-22 11:37:15 -04:00
qiuming
082d680d7b Merge pull request #5221 from qiuming-best/uploader-kopia
Uploader Implementation: Kopia backup and restore
2022-08-22 20:00:27 +08:00
Ming
2bf054ad0b update upstream codes
Signed-off-by: Ming <mqiu@vmware.com>
2022-08-22 09:20:47 +00:00
Tiger Kaovilai
0bee6dd9fd gh-issue-template: Comment out the subheading description
This stops subheading description from showing in posted issues by default.

Signed-off-by: Tiger Kaovilai <passawit.kaovilai@gmail.com>
Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
2022-08-22 02:59:35 -04:00
李龙峰
5cddaeae6c check vsc null pointer
Signed-off-by: 李龙峰 <lilongfeng@inspur.com>
2022-08-22 14:44:17 +08:00
lyndon
893aeb70e2 Merge pull request #5234 from reasonerjt/fix-4923
Remove reference to non-existent doc
2022-08-22 14:32:29 +08:00
allenxu404
0378020c8d refactor gc controller with kubebuilder
Signed-off-by: allenxu404 <qix2@vmware.com>
2022-08-22 12:16:56 +08:00
Scott Seago
b6cca3f7d3 Merge pull request #5210 from danfengliu/clean-backups-after-each-test
Clean backups after each test and fix exclude label test issue
2022-08-19 10:02:46 -04:00
Daniel Jiang
3e435eeb44 Remove reference to non-existent doc
fixes #4923

Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2022-08-19 15:44:00 +08:00
Ming
839c2ed98f Merge branch 'main' of https://github.com/qiuming-best/velero into uploader-kopia 2022-08-19 06:40:58 +00:00
Ming
262de19f52 Uploader Implementation: Kopia backup and restore
Signed-off-by: Ming <mqiu@vmware.com>
2022-08-19 06:39:28 +00:00
qiuming
1ba7b3de4f Merge pull request #5231 from Lyndon-Li/udmrepo-dev-05
Kopia Integration:Kopia Lib - Initialization
2022-08-19 09:52:20 +08:00
danfengl
6e8061266c Clean backups after each test and fix exlude label test issue
1. Clean backups after each test to avoid exceeding limitation of storage capability during E2E test;
2. Fix exlude label test issue that namespace should not be included and excluded at the same time no matter by which way to config.

Signed-off-by: danfengl <danfengl@vmware.com>
2022-08-19 01:24:06 +00:00
Lyndon-Li
d58abb2477 repo init
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2022-08-18 19:45:49 +08:00
lyndon
775943c858 code spell check (#5230)
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>

Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2022-08-18 18:17:39 +08:00
qiuming
a36736e10a Merge pull request #5190 from ywk253100/220808_restic
Refactor the restic repo related code for Kopia integration
2022-08-18 14:16:09 +08:00
Wenkai Yin(尹文开)
047c7531fa Refactor the restic repo related code for Kopia integration
Refactor the restic repo related code for Kopia integration

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2022-08-17 11:49:53 +08:00
Daniel Jiang
4e25f59dc1 Add parameter "uploader-type" to velero server (#5212)
This commit adds the parameter "uploader-type" to velero server, add exposes the
setting via "velero install" in CLI.

fixes #5062

Signed-off-by: Daniel Jiang <jiangd@vmware.com>

Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2022-08-16 13:50:28 +08:00
qiuming
71e4430840 Merge pull request #5179 from Lyndon-Li/udmrepo-dev-02
Kopia Integration: Unified Repository Provider - Implementation
2022-08-16 09:39:40 +08:00
qiuming
5b6d361bc9 Merge pull request #5201 from danfengliu/add-namespace-mapping-e2e-test
Add namespace-mappping E2E test
2022-08-15 15:48:24 +08:00
danfengl
c8544ea212 Add namespace- mappping E2E test
Signed-off-by: danfengl <danfengl@vmware.com>
2022-08-11 13:24:51 +00:00
qiuming
36d8d176dd Merge pull request #5163 from qiuming-best/uploader
kopia uploader integration on shim progress uploader module
2022-08-11 17:38:21 +08:00
Ming
49e151739f Kopia Uploader integration on shim progress uploader
Signed-off-by: Ming <mqiu@vmware.com>
2022-08-10 11:35:24 +00:00
danfengliu
a71237cc64 Merge pull request #5124 from danfengliu/add-migration-e2e-test
Add migration E2E test
2022-08-10 13:38:32 +08:00
Lyndon-Li
649c3a77df unified repo provider impl
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2022-08-09 20:48:31 +08:00
danfengl
fb445b3c0d Add migration E2E test
Signed-off-by: danfengl <danfengl@vmware.com>
2022-08-09 08:31:39 +00:00
Daniel Jiang
6951875053 Merge pull request #5104 from blackpiglet/5048-CSI-snapshot-timeout-configurable
Make CSI snapshot creation timeout configurable for backup and schedule.
2022-08-08 19:51:38 +08:00
Xun Jiang/Bruce Jiang
a5f4f8f9fc Merge branch 'main' into 5048-CSI-snapshot-timeout-configurable 2022-08-08 17:18:44 +08:00
Xun Jiang
f8d9cfdb84 Make CSI snapshot creation timeout configurable for backup and schedule.
Signed-off-by: Xun Jiang <jxun@vmware.com>
2022-08-08 17:07:26 +08:00
Xun Jiang/Bruce Jiang
201c43d683 Merge pull request #5178 from allenxu404/i2413
fix issue#2413: treat namespaces with exclude label as excludedNamespaces
2022-08-08 13:35:38 +08:00
allenxu404
e5d828a2a4 modify variables defination and expose err
Signed-off-by: allenxu404 <qix2@vmware.com>
2022-08-08 12:05:08 +08:00
Daniel Jiang
ba50458ae2 Merge pull request #5181 from blackpiglet/restic-volume-path-change
Add annotation "pv.kubernetes.io/migrated-to" for CSI checking.
2022-08-08 12:03:47 +08:00
Xun Jiang
7af1e23614 Add annotation "pv.kubernetes.io/migrated-to" for CSI checking.
1. Also checking annotation "pv.kubernetes.io/migrated-to" to find out whether volume is provisioned by CSI.
2. Add UT cases.

Signed-off-by: Xun Jiang <jxun@vmware.com>
2022-08-08 10:59:41 +08:00
Xun Jiang/Bruce Jiang
cea5e7f218 Merge pull request #5174 from blackpiglet/reduce-crd-size-new
Reduce CRD size.
2022-08-05 18:46:29 +08:00
Wenkai Yin(尹文开)
092fc01e8d Splic pkg/restic package (#5143)
This commit splits the pkg/restic package into several packages to support Kopia integration works

Fixes #5055

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2022-08-05 17:15:38 +08:00
allenxu404
eb08bdeb62 fix issue#2413 by treating namespaces with exclude label as excludedNamespaces
Signed-off-by: allenxu404 <qix2@vmware.com>
2022-08-04 20:00:11 +08:00
lyndon
088eb9b83c repo credentials (#5167)
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2022-08-04 15:20:02 +08:00
qiuming
701256d296 Merge pull request #5172 from qiuming-best/multi-bsl-fix
Fix restic backups to multiple backup storage locations bug
2022-08-03 14:35:42 +08:00
Xun Jiang
e8da5df57a Reduce CRD size.
1. Make the Restore hook.InitConatianer server side field pruing disable.
2. Remove restore patch in update-generate-crd-code.sh.
3. Modify related testcases.
4. Add Container fields validation in Restore Init hook.

Signed-off-by: Xun Jiang <jxun@vmware.com>
2022-08-02 19:45:01 +08:00
Ming
828e28aa43 Fix restic backups to multiple backup storage locations bug
Signed-off-by: Ming <mqiu@vmware.com>
2022-08-02 10:26:23 +00:00
Daniel Jiang
108c81d84c Skip registering "crd-remap-version" plugin when feature flag (#5165)
"EnableAPIGroupVersions" is set

The crd-remap-version plugin will always backup v1b1 resource for some
CRD. It impacts the feature flag `EnableAPIGroupVersions` which means to
backup all versions, and make migration fail.

In this commit the featureSet was removed from plugin server struct b/c
it blocks the parm `--features` to be populated correctly.  This change
should not have negative impact b/c the attribute in server struct is never used.

Fixes #5146

Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2022-08-02 15:47:57 +08:00
Daniel Jiang
2b0d0959da Merge pull request #5148 from blackpiglet/vsl-refactor
VolumeSnapshotLocation refactor with kubebuilder.
2022-08-01 21:14:18 +08:00
lyndon
52fd18e9db Kopia Integration Change - Storage Configuration (#5142)
* unified repo storge config

Signed-off-by: Lyndon-Li <lyonghui@vmware.com>

* add UT

Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2022-07-29 16:06:18 +08:00
qiuming
f2ef40c983 Merge pull request #5157 from blackpiglet/modify-changelog-check-action-condition
Add labeled and unlabeled events for PR changelog check action.
2022-07-29 16:00:33 +08:00
Xun Jiang
cd643bbac9 Add labeled and unlabeled events for PR changelog check action.
Signed-off-by: Xun Jiang <jxun@vmware.com>
2022-07-28 17:45:26 +08:00
Daniel Jiang
5f15f02812 Merge pull request #5151 from OrlinVasilev/fix-zoom-link
Fix zoom link for new meeting
2022-07-27 09:05:03 +08:00
OrlinVasilev
a109a11851 Fix zoom link for new meeting
Signed-off-by: OrlinVasilev <ovasilev@vmware.com>
2022-07-26 14:46:42 +03:00
qiuming
f68ae92fd0 Merge pull request #5145 from blackpiglet/5140-fix-restic-backup-with-customize-CA
Delay CA file deletion in PVB controller
2022-07-26 10:32:59 +08:00
Xun Jiang
396e68b810 VolumeSnapshotLocation refactor with kubebuilder.
1. modify VSL CRD API file name. Add kubebuilder related marker.
2. Add Labels init code for VSL create command.

Signed-off-by: Xun Jiang <jxun@vmware.com>
2022-07-25 15:46:43 +08:00
Daniel Jiang
b5583bc2d9 Merge pull request #5129 from kaovilai/initialize-typo
comment typo initialise -> initialize
2022-07-25 13:45:00 +08:00
Xun Jiang
82ac228a01 Delay CA file deletion in PVB controller
Fix #5140.

Signed-off-by: Xun Jiang <jxun@vmware.com>
2022-07-22 19:36:17 +08:00
Daniel Jiang
abe601042c Merge pull request #5135 from reasonerjt/update-crd-for-kopia
Update the CRD for kopia integration
2022-07-22 10:04:08 +08:00
Daniel Jiang
f562a7ce2b Update the CRD for kopia integration
This commit adds additional fields to podvolumebackup
and podvolumerestore.  The resticrepository will be renamed to
backuprepository

Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2022-07-22 00:10:24 +08:00
lyndon
67d98fe12c Merge pull request #4926 from Lyndon-Li/main
Unified Repository Design
2022-07-21 09:42:42 +08:00
lyndon
be820e09ba Merge branch 'vmware-tanzu:main' into main 2022-07-21 09:07:21 +08:00
Lyndon-Li
c845f0c5ea fix typo
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2022-07-20 18:05:28 +08:00
Lyndon-Li
7a38aa5e0f fix alignment
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2022-07-20 17:50:14 +08:00
Lyndon-Li
3a802e160b change storage config
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2022-07-20 17:42:06 +08:00
Xun Jiang/Bruce Jiang
68730cbe3a Merge pull request #5122 from sseago/bsl-validation4
Modify BackupStoreGetter to avoid BSL spec changes
2022-07-19 11:27:57 +08:00
qiuming
2464fcd717 Merge pull request #5128 from reasonerjt/make-shell-goproxy
Let "make shell xxx" respect GOPROXY
2022-07-19 10:57:20 +08:00
Tiger Kaovilai
9a5c3aceff typo initialise -> initialize
Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
2022-07-18 12:05:10 -04:00
Scott Seago
64a8c44104 Modify BackupStoreGetter to avoid BSL spec changes
Pass in a new copy of the map of config values rather than
modifying the BSL Spec.Config and then pass in that field.

Signed-off-by: Scott Seago <sseago@redhat.com>
2022-07-18 10:31:35 -04:00
Daniel Jiang
9173ac117e Let "make shell xxx" respect GOPROXY
This commit mitigates the issue for running "make update" locally when
the network is not friendly for accessing the default "proxy.golang.org"

Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2022-07-18 19:22:50 +08:00
qiuming
56939937a8 Merge pull request #5107 from danfengliu/fix-doc-issue-of-resource-filtering
Fix resource filtering command issue in Doc
2022-07-18 10:59:27 +08:00
Xun Jiang/Bruce Jiang
eaf97e7510 Merge pull request #5110 from reasonerjt/plugin-panic-trace
Dump stack trace when the plugin server handles panic
2022-07-11 22:47:17 +08:00
Daniel Jiang
9102f53131 Dump stack trace when the plugin server handles panic
Mitigate the issue mentioned in #4782
When there's a bug or misconfiguration that causes nil pointer there
will be more stack trace information to help us debug.

Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2022-07-11 02:01:13 +08:00
Scott Seago
77c1549d4d Merge pull request #5101 from ywk253100/220628_bsl
Fix bsl validation bug
2022-07-08 15:32:51 -04:00
danfengl
bf8d135876 Fix resource filtering command issue in Doc
Signed-off-by: danfengl <danfengl@vmware.com>
2022-07-08 09:35:07 +00:00
Wenkai Yin(尹文开)
f550f8e3cd Fix bsl validation bug
Fix bsl validation bug: the BSL is validated continually and doesn't respect the validation period configured

Fixes #5056

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2022-07-06 14:20:03 +08:00
qiuming
267db7a931 Merge pull request #5051 from niulechuan/fix-typo-in-doc
Fix typo in doc (https://velero.io/docs/main/restore-reference/ "Restore order" section)
2022-07-04 14:55:07 +08:00
niulechuan
fb897471c0 Move 'velero.io/exclude-from-backup' label string to const (#5053)
* move 'velero.io/exclude-from-backup' label name to const

Signed-off-by: Niu Lechuan <lechuan.niu@daocloud.io>

* add changelog file (in changelogs/unreleased) of this PR

Signed-off-by: Niu Lechuan <lechuan.niu@daocloud.io>
2022-07-04 14:31:20 +08:00
Daniel Jiang
ff556c848b Merge pull request #5065 from reasonerjt/yonghui-as-maintainer
Propose Yonghui as a maintainer
2022-07-02 07:40:47 +08:00
Daniel Jiang
c633f68ac0 Propose Yonghui as a maintainer
Yonghui joined the velero team earlier this year.

He has been leading the effort for kopia integration, and delivered the
comprehensive comparison report for kopia .vs. restic
https://docs.google.com/document/d/1BMLuRzEpYWYE-Ci_eLg8gWbjDv4DSyqj/edit

and the detailed design for using kopia as the unified repository:
https://github.com/vmware-tanzu/velero/pull/4926

Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2022-06-30 18:14:16 +08:00
Lyndon-Li
fd31336c4a add user perspective
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2022-06-30 14:47:49 +08:00
Niu Lechuan
c6625d1424 add changelog file for this PR
Signed-off-by: Niu Lechuan <lechuan.niu@daocloud.io>
2022-06-30 10:09:29 +08:00
Lyndon-Li
c3f8e91f73 remove storage configuration redundancy
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2022-06-29 19:07:25 +08:00
Lyndon-Li
b605bf4f07 add CR samples
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2022-06-29 11:27:14 +08:00
Lyndon-Li
d63394ff60 minor changes
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2022-06-28 22:30:26 +08:00
Lyndon-Li
12cdb1908e storage configuration
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2022-06-28 19:07:34 +08:00
Wenkai Yin(尹文开)
2778d54e3f Merge pull request #5052 from blackpiglet/modify-github-actions
Modify Github actions.
2022-06-28 14:02:23 +08:00
Lyndon-Li
a08463adba dynamic switch
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2022-06-28 13:36:09 +08:00
Lyndon-Li
34e6234ae0 add more details for repository CR rename
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2022-06-27 20:14:41 +08:00
Xun Jiang
7b320e71c9 Modify Github actions.
1. remove go.sum file from code spell check action.
2. change go version to 1.17 in CRD verify action, and add k8s 1.23 and 1.24 in verification list.

Signed-off-by: Xun Jiang <jxun@vmware.com>
2022-06-27 15:15:19 +08:00
Lyndon-Li
b62a122632 Post Review Update 02
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2022-06-27 12:39:49 +08:00
Niu Lechuan
0470c961bf Fix typo in doc. 'Mamespace' to 'Namespace'
Signed-off-by: Niu Lechuan <lechuan.niu@daocloud.io>
2022-06-27 10:11:47 +08:00
Daniel Jiang
ec5503fcc6 Merge pull request #5041 from blackpiglet/remove-issue-triage-action
Delete opened issues triage action.
2022-06-23 17:27:21 +08:00
Xun Jiang
cb273ae469 Delete opened issues triage action.
Because the column and project specified by this action do not exist anymore, and Velero team doesn't use this action to assign issue and triage anymore, remove this action.

Signed-off-by: Xun Jiang <jxun@vmware.com>
2022-06-22 10:46:54 +08:00
qiuming
9f379baa52 Merge pull request #5038 from danfengliu/fix-wait-for-pod-func-in-e2e-test
Fix wait for pod func in e2e test
2022-06-21 16:13:49 +08:00
danfengl
b9fe1539f0 Wait for pod running status before timeout despite errors of accessing API server
Signed-off-by: danfengl <danfengl@vmware.com>
2022-06-21 08:03:18 +00:00
danfengl
e07b13ce8e Merge branch 'main' of https://github.com/vmware-tanzu/velero into main 2022-06-21 06:39:50 +00:00
lyndon
b135abf484 Merge branch 'vmware-tanzu:main' into main 2022-06-17 12:30:08 +08:00
Lyndon-Li
aea127652c Post Review Session Update
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2022-06-17 09:22:25 +08:00
Scott Seago
6378c266c3 Merge pull request #4980 from anshulahuja98/main
Add support to download CSI json from object store
2022-06-16 10:37:55 -04:00
Daniel Jiang
fb029fdd47 Merge pull request #5008 from sseago/restore-status-fix
When spec.RestoreStatus is empty, don't restore status
2022-06-16 14:48:19 +08:00
Scott Seago
79be75e183 When spec.RestoreStatus is empty, don't restore status
Signed-off-by: Scott Seago <sseago@redhat.com>
2022-06-15 13:02:31 -04:00
Anshul Ahuja
d581ab6571 fix crds.go
Signed-off-by: GitHub <noreply@github.com>
2022-06-15 14:17:35 +00:00
Anshul Ahuja
a27b74a004 auto generated file
Signed-off-by: GitHub <noreply@github.com>
2022-06-15 14:17:35 +00:00
Anshul Ahuja
7b51bfe03d Merge branch 'main' into main 2022-06-15 14:16:38 +05:30
Wenkai Yin(尹文开)
c2d1e5f99d Merge pull request #4999 from qiuming-best/tag-release
Fix tag release script error
2022-06-14 18:00:27 +08:00
Ming
ef02113b49 Fix tag release error
Signed-off-by: Ming <mqiu@vmware.com>
2022-06-14 09:34:05 +00:00
Xun Jiang/Bruce Jiang
d4083fe3e2 Merge pull request #4996 from danfengliu/fix-bsl-deletion-test-bucket-issue
Fix wrong bucket issue in BSL deletion E2E test
2022-06-14 16:32:34 +08:00
qiuming
c33e8a758a Merge pull request #4995 from danfengliu/bumpup-plugin-version-for-velero-1.9
Bumpup plugin version for Velero 1.9 E2E test
2022-06-14 16:30:32 +08:00
danfengl
0c069b3098 Bumpup plugin version for Velero 1.9 E2E test
Signed-off-by: danfengl <danfengl@vmware.com>
2022-06-14 08:22:31 +00:00
danfengl
0d9af1017b Fix wrong bucket issue in BSL deletion E2E test
Signed-off-by: danfengl <danfengl@vmware.com>
2022-06-14 08:14:12 +00:00
Xun Jiang/Bruce Jiang
99b7f8f679 Merge pull request #4993 from qiuming-best/pin-images
Pin the base and golang images for v1.9.0 release and add explanation for gen-docs
2022-06-14 15:21:03 +08:00
Xun Jiang/Bruce Jiang
dde3ea2dcc Merge pull request #4994 from qiuming-best/make-docs
Add more explanation for gen-docs parameters
2022-06-14 15:17:56 +08:00
Ming
3bb6252d15 Pin the base image and golang image for v1.9.0 release
Signed-off-by: Ming <mqiu@vmware.com>
2022-06-14 07:07:52 +00:00
Ming
feb411cc3f Add more explanation for gen-docs parameters
Signed-off-by: Ming <mqiu@vmware.com>
2022-06-14 07:06:27 +00:00
Ming
c78b10e150 Add more explanation for gen-docs parameters
Signed-off-by: Ming <mqiu@vmware.com>
2022-06-14 06:47:18 +00:00
Xun Jiang/Bruce Jiang
0224816714 Merge pull request #4991 from qiuming-best/v1.9-doc-fix
Amend doc 1.9 version
2022-06-14 11:02:06 +08:00
Ming
8a8b9d07db Amend doc 1.9 version
Signed-off-by: Ming <mqiu@vmware.com>
2022-06-14 10:22:27 +08:00
Anshul Ahuja
fad4b0e99f auto generated file
Signed-off-by: GitHub <noreply@github.com>
2022-06-13 16:00:17 +00:00
Xun Jiang/Bruce Jiang
03e3401c96 Merge pull request #4989 from danfengliu/enhance-checkpoint-for-bsl-deletion
Enhance checkpoint of bsl deletion
2022-06-13 23:43:59 +08:00
Anshul Ahuja
a30b61b3d7 Add changelog
Signed-off-by: GitHub <noreply@github.com>
2022-06-13 13:37:47 +00:00
Anshul Ahuja
a0ff46a3de Add kubebuilder annotation for autogen
Signed-off-by: GitHub <noreply@github.com>
2022-06-13 13:28:26 +00:00
Anshul Ahuja
735d506a7d Add support to download CSI json from object store
Signed-off-by: GitHub <noreply@github.com>
2022-06-13 13:28:26 +00:00
Daniel Jiang
5bb1cf550f Merge pull request #4990 from qiuming-best/docs-v1.9
Add Changelog and Docs for v1.9
2022-06-13 20:24:17 +08:00
Ming
423e7f9f63 Add Changelog and Docs for v1.9
Signed-off-by: Ming <mqiu@vmware.com>
2022-06-13 09:25:59 +00:00
danfengl
463202951d Enhance checkpoint of bsl deletion
Signed-off-by: danfengl <danfengl@vmware.com>
2022-06-13 08:32:31 +00:00
qiuming
7519014125 Merge pull request #4988 from blackpiglet/add-more-info-for-get-path-or-snapshot-fail-by-restic
Add more information for failing to get path or snapshot in restic ba…
2022-06-13 14:38:41 +08:00
Xun Jiang
806234e043 Add more information for failing to get path or snapshot in restic backup and restore.
Signed-off-by: Xun Jiang <jxun@vmware.com>
2022-06-13 11:32:55 +08:00
qiuming
fee46d4f38 Merge pull request #4986 from reasonerjt/update-release-instruction
Update release instruction
2022-06-13 10:08:06 +08:00
Xun Jiang/Bruce Jiang
778bbffc35 Merge pull request #4981 from ywk253100/220610_status
Bugs fixing: use patch to update status and set default GC period
2022-06-13 09:20:01 +08:00
Daniel Jiang
dd984031f4 Update release instruction
Update the release steps to reflect the change in the `tag-release.sh`,
that the release branch must be created manually before RC is tagged.

Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2022-06-13 01:13:16 +08:00
Wenkai Yin(尹文开)
d16bdf1f80 Bugs fixing: use patch to update status and set default GC period
1. Use patch rather status patch in backup sync controller as we have disable status as sub resource
2. Set the GC period with default value if it isn't set

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2022-06-10 17:15:19 +08:00
Wenkai Yin(尹文开)
c3a32a116f Merge pull request #4976 from reasonerjt/vsc-policy-reset-undo
Undo setting the VSC's deletion policy during backup
2022-06-10 09:12:46 +08:00
Daniel Jiang
f5649bcc1f Undo setting the VSC's deletion policy during backup
It's not necessary to set the deletion policy as the delete item action
plugin in CSI plugin will set it to Delete when the backup is deleted.

Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2022-06-09 16:26:05 +08:00
Wenkai Yin(尹文开)
18f847fb7d Merge pull request #4972 from ywk253100/220607_subresource
Disable status as sub resource in CRDs
2022-06-09 14:50:06 +08:00
Wenkai Yin(尹文开)
262c9a5fa4 Merge pull request #4975 from qiuming-best/shedule-order-test-fix
Fix ordered resources cmd Stdout already set error
2022-06-09 13:52:19 +08:00
Ming
c2ddc6ead4 Fix ordered resources cmd Stdout already set error
Signed-off-by: Ming <mqiu@vmware.com>
2022-06-09 03:52:34 +00:00
Wenkai Yin(尹文开)
34087fe5f4 Disable status as sub resource in CRDs
When enabling the status as sub resource in CRD, the status will be ignored when creating the CR with status, this will cause issues when syncing backups/pvbs

Fixes #4950

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2022-06-09 07:52:08 +08:00
Daniel Jiang
de9ee22e26 Merge pull request #4966 from ywk253100/220606_mark_failed
Mark in-progress CRs as failed when starting the server
2022-06-08 14:29:37 +08:00
Daniel Jiang
59c2eaf3dd Merge pull request #4968 from blackpiglet/4949-backups-deletion-restic-failure
Fix E2E test [Backups][Deletion][Restic] on GCP
2022-06-08 10:58:47 +08:00
Xun Jiang
febe79f334 Fix E2E test [Backups][Deletion][Restic] on GCP.
Signed-off-by: Xun Jiang <jxun@vmware.com>
2022-06-08 09:23:58 +08:00
Wenkai Yin(尹文开)
6fa4d7d606 Mark in-progress CRs as failed when starting the server
Mark in-progress CRs as failed when starting the server

Fixes #4953

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2022-06-07 17:02:17 +08:00
Wenkai Yin(尹文开)
d4e54f29aa Merge pull request #4965 from qiuming-best/nightly-fix
Fix nightly running failure
2022-06-06 17:41:20 +08:00
Ming
56f72797db Fix nightly running failure
Signed-off-by: Ming <mqiu@vmware.com>
2022-06-06 06:47:01 +00:00
Daniel Jiang
9af031b84a Merge pull request #4940 from shubham-pampattiwar/shubham-pampattiwar-maintainer
Add site bio/img for maintainer/contributor shubham-pampattiwar
2022-05-30 11:57:08 +08:00
Abigail McCarthy
22e0afaa2a Add more details about restore workflow (#4928)
* Add more details about restore workflow

Signed-off-by: Abigail McCarthy <mabigail@vmware.com>
2022-05-30 10:58:21 +08:00
Shubham Pampattiwar
0df7dc5070 add site bio/img for maintainer/contributor shubham-pampattiwar
Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>
2022-05-26 22:54:16 -04:00
Lyndon-Li
9bb0ed5e42 Add Installation Examples
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2022-05-26 20:29:04 +08:00
Xun Jiang/Bruce Jiang
5c48307b5a Merge pull request #4932 from reasonerjt/csi-doc-change
Update the doc of CSI support
2022-05-26 14:23:08 +08:00
qiuming
4e166e21b0 Merge pull request #4936 from ywk253100/220525_kind
Bump up kind version to support Kubernetes 1.24
2022-05-26 09:30:03 +08:00
Daniel Jiang
383eec1eed Update the doc of CSI support
We have made a few changes to the CSI plugin to provide official support
for AWS/Azure.  This commit makes change to the docs to reflect those
changes.

Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2022-05-25 23:20:41 +08:00
Wenkai Yin(尹文开)
e5821f19d2 Bump up kind version to support Kubernetes 1.24
Bump up kind version to support Kubernetes 1.24

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2022-05-25 16:34:57 +08:00
lyndon
970f05260d Merge branch 'vmware-tanzu:main' into main 2022-05-25 10:51:22 +08:00
qiuming
e020b76346 Merge pull request #4934 from a-mccarthy/add-vsl-details
Add details about using multiple volume snapshot locations and restic
2022-05-25 10:19:48 +08:00
qiuming
dfca4dba15 Merge pull request #4911 from a-mccarthy/fixes-1919
Add note about restoring when resource scaled to 0
2022-05-25 10:05:50 +08:00
Scott Seago
a79c1a5877 Merge pull request #4785 from RafaeLeal/restore-status
Add ability to restore status on selected resources
2022-05-24 09:41:18 -04:00
qiuming
5ab51e83fc Merge pull request #4927 from sseago/shubham-maintainer
Propose Shubham Pampattiwar as a maintainer
2022-05-24 19:56:32 +08:00
Rafael Leal
200769a077 Add changelog
Signed-off-by: Rafael Leal <rafaelealdias@gmail.com>
2022-05-24 00:14:02 -03:00
Rafael Leal
7e8f1dcf6f Add docs
Signed-off-by: Rafael Leal <rafaelealdias@gmail.com>
2022-05-24 00:11:53 -03:00
Abigail McCarthy
8a156d69b9 Add details about using multiple volume snapshot locations and restic
Signed-off-by: Abigail McCarthy <mabigail@vmware.com>
2022-05-23 22:19:10 -04:00
Rafael Leal
e0e3016efa Cleanup resetStatus
Signed-off-by: Rafael Leal <rafaelealdias@gmail.com>
2022-05-23 17:53:32 -03:00
Scott Seago
471e357952 Merge pull request #4914 from blackpiglet/4912-fix-completion-zsh
Make velero completion zsh command output can be used by `source` com…
2022-05-23 10:05:12 -04:00
qiuming
3552350780 Merge pull request #4925 from a-mccarthy/fix-4848
Update docs for flag to skip TLS validation
2022-05-23 14:52:52 +08:00
Daniel Jiang
271aa500b2 Merge pull request #4906 from a-mccarthy/fix-4846
Update compatibility matrix for 1.9
2022-05-21 03:45:48 +08:00
Xun Jiang/Bruce Jiang
4b274be78a Merge pull request #4919 from a-mccarthy/fix-2167
Update cluster migration scenario with more details
2022-05-20 15:39:51 +08:00
Abigail McCarthy
61b0d990fa fix flag typo
Signed-off-by: Abigail McCarthy <mabigail@vmware.com>
2022-05-19 22:37:02 -04:00
Rafael Leal
131c8a920f Remove break line
Signed-off-by: Rafael Leal <rafaelealdias@gmail.com>
2022-05-19 17:36:21 -03:00
Scott Seago
0aafba2cd8 Propose Shubham Pampattiwar as a maintainer
Shubham Pampattiwar has made several contributions to Velero,
most recently in designing and implementing two v1.9
features, including the following:
- [Add design for enabling multiple label support](https://github.com/vmware-tanzu/velero/pull/4619)
- [Add multiple label selector support to Velero Backup and Restore APIs](https://github.com/vmware-tanzu/velero/pull/4650)
- [Add design for enabling support for ExistingResourcePolicy to restore API](https://github.com/vmware-tanzu/velero/pull/4613)
- [Add existingResourcePolicy to Restore API](https://github.com/vmware-tanzu/velero/pull/4628)

Shubham has also been driving forward the data mover requirements and design discussions for velero 1.10:
- [Add datamover design](https://github.com/vmware-tanzu/velero/pull/4768)

Signed-off-by: Scott Seago <sseago@redhat.com>
2022-05-19 11:35:20 -04:00
Abigail McCarthy
20da7c8bca Include moer details
Signed-off-by: Abigail McCarthy <mabigail@vmware.com>
2022-05-19 10:12:27 -04:00
Lyndon-Li
bf467e3ac3 Unified Repository Design
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2022-05-19 16:48:34 +08:00
Abigail McCarthy
95ccbb617a Update docs for flag to skip TLS validation
Signed-off-by: Abigail McCarthy <mabigail@vmware.com>
2022-05-18 23:20:00 -04:00
Rafael Leal
69b8de86dc Merge pull request #1 from RafaeLeal/lyndon-li-suggestions
Refactor to simplify
2022-05-18 23:51:46 -03:00
Wenkai Yin(尹文开)
51de990a8a Merge pull request #4913 from qiuming-best/order-resources-test
Add schedule ordered resources E2E test
2022-05-18 16:32:35 +08:00
Daniel Jiang
a1c999f214 Merge pull request #4882 from a-mccarthy/fix-4730
Update headers in supported providers page
2022-05-18 15:37:32 +08:00
Daniel Jiang
f6eb5c1321 Merge pull request #4921 from a-mccarthy/fix-3136
Adds information about resticRepoPrefix
2022-05-18 15:30:54 +08:00
Daniel Jiang
1634d21824 Merge pull request #4903 from a-mccarthy/fix-4285
Add supported versions statment to support process page
2022-05-18 15:30:37 +08:00
qiuming
8240079e8a Merge pull request #4918 from a-mccarthy/fix-4116
Add resource limits testing information
2022-05-18 14:00:24 +08:00
Abigail McCarthy
c6d568ad12 Make updates from review
Signed-off-by: Abigail McCarthy <mabigail@vmware.com>
2022-05-17 23:02:28 -04:00
Abigail McCarthy
c46199c880 Adds informaiton about resticRepoPrefix
Signed-off-by: Abigail McCarthy <mabigail@vmware.com>
2022-05-17 13:05:17 -04:00
Abigail McCarthy
864cba69e2 Fix typos
Signed-off-by: Abigail McCarthy <mabigail@vmware.com>
2022-05-17 12:14:33 -04:00
Abigail McCarthy
0e649b9d3f Fix typos
Signed-off-by: Abigail McCarthy <mabigail@vmware.com>
2022-05-17 12:09:49 -04:00
Ming
6b9b13790e Add schedule ordered resources test
Signed-off-by: Ming <mqiu@vmware.com>
2022-05-17 14:10:05 +00:00
Rafael Leal
bcef5e1d5e Refactor to simplify
Signed-off-by: Rafael Leal <rafaelealdias@gmail.com>
2022-05-17 10:39:14 -03:00
Xun Jiang/Bruce Jiang
2dfeb0f077 Merge pull request #4920 from ywk253100/220516_flag
Enhance the map flag to support parsing input value contains entry delimiters
2022-05-17 16:19:00 +08:00
Wenkai Yin(尹文开)
44199db79d Enhance the map flag to support parsing input value contains entry delimiters
Enhance the map flag to support parsing input value contains entry delimiters

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2022-05-17 13:56:41 +08:00
Xun Jiang
3db40a58a4 Make velero completion zsh command output can be used by source command.
Signed-off-by: Xun Jiang <jxun@vmware.com>
2022-05-17 10:01:46 +08:00
Abigail McCarthy
be040fca39 Update cluster migration scenario with more details
Signed-off-by: Abigail McCarthy <mabigail@vmware.com>
2022-05-16 13:27:51 -04:00
Abigail McCarthy
dcf056235c Add resource limits testing information
Signed-off-by: Abigail McCarthy <mabigail@vmware.com>
2022-05-16 11:08:24 -04:00
Abigail McCarthy
a7ebaa0506 Update wording and add more useful links
Signed-off-by: Abigail McCarthy <mabigail@vmware.com>
2022-05-16 09:39:54 -04:00
Abigail McCarthy
1a325a6706 Merge pull request #4729 from kaovilai/doc_failed_orphaned
Clarify backups that get deleted via object storage sync
2022-05-16 09:13:46 -04:00
Xun Jiang/Bruce Jiang
15851ac9aa Merge pull request #4884 from a-mccarthy/fix-3806
Update resource filtering page
2022-05-16 13:21:40 +08:00
Wenkai Yin(尹文开)
9577ded2fd Merge pull request #4881 from a-mccarthy/fix-4500
Add aws limitation for migration and add limitation section
2022-05-16 10:22:09 +08:00
Xun Jiang/Bruce Jiang
74d36e548e Merge pull request #4896 from danfengliu/add-backup-ttl-e2e-test
Add setting TTL in backup E2E test
2022-05-16 09:32:15 +08:00
JenTing Hsiao
d111cc5fc4 Remove jenting from maintainers (#4888)
Signed-off-by: JenTing Hsiao <hsiaoairplane@gmail.com>
2022-05-15 09:07:13 +02:00
Rafael Leal
1537bf5d62 Update CRD
Signed-off-by: Rafael Leal <rafaelealdias@gmail.com>
2022-05-13 15:36:03 -03:00
Abigail McCarthy
8f31bff1b5 Add note about restoring when resource scaled to 0
Signed-off-by: Abigail McCarthy <mabigail@vmware.com>
2022-05-13 12:37:58 -04:00
danfengl
18621a0e13 Add setting TTL in backup E2E test
Signed-off-by: danfengl <danfengl@vmware.com>
2022-05-13 06:52:47 +00:00
Rafael Leal
d85ed612cb Cleanup
Signed-off-by: Rafael Leal <rafaelealdias@gmail.com>
2022-05-12 12:01:00 -03:00
Rafael Leal
206709b978 Cleanup
Signed-off-by: Rafael Leal <rafaelealdias@gmail.com>
2022-05-12 12:01:00 -03:00
Rafael Leal
8ecc11fad2 Add restore status to cli
Signed-off-by: Rafael Leal <rafaelealdias@gmail.com>
2022-05-12 12:00:34 -03:00
Rafael Leal
7f22974719 Update CRDs
Signed-off-by: Rafael Leal <rafaelealdias@gmail.com>
2022-05-12 11:59:49 -03:00
Rafael Leal
278bee1269 Update codegen
Signed-off-by: Rafael Leal <rafaelealdias@gmail.com>
2022-05-12 11:59:05 -03:00
Rafael Leal
04aa7a849f Fixes tests hopefully
Signed-off-by: Rafael Leal <rafaelealdias@gmail.com>
2022-05-12 11:59:05 -03:00
Rafael Leal
0b9d6ae73d Add restore status mechanism
Signed-off-by: Rafael Leal <rafaelealdias@gmail.com>
2022-05-12 11:59:05 -03:00
Rafael Leal
7f1f881c28 Add resource status
Signed-off-by: Rafael Leal <rafaelealdias@gmail.com>
2022-05-12 11:58:47 -03:00
Rafael Leal
e374eb9da4 Add StatusUpdater
Signed-off-by: Rafael Leal <rafaelealdias@gmail.com>
2022-05-12 11:57:41 -03:00
Rafael Leal
6a721403fb Fix DeepEqual when status is updated
Signed-off-by: Rafael Leal <rafaelealdias@gmail.com>
2022-05-12 10:47:24 -03:00
Daniel Jiang
89907bd141 Merge pull request #4872 from big-appled/cleanup-restic
cleanup restic helper folder when done
2022-05-12 09:28:30 +08:00
Daniel Jiang
9b5257663a Merge pull request #4650 from shubham-pampattiwar/add-label-selectors
Add multiple label selector support to Velero Backup and Restore APIs
2022-05-11 23:16:28 +08:00
Shubham Pampattiwar
bfdb68a35a add multiple label selector support to backup API
Signed-off-by: Shubham Pampattiwar <shubhampampattiwar7@gmail.com>

remove backup CLI bits

Signed-off-by: Shubham Pampattiwar <shubhampampattiwar7@gmail.com>

labelselectors spec option for velero restore

Signed-off-by: Shubham Pampattiwar <shubhampampattiwar7@gmail.com>

add changelog file

Signed-off-by: Shubham Pampattiwar <shubhampampattiwar7@gmail.com>

update spec name to OrLabelSelectors

Signed-off-by: Shubham Pampattiwar <shubhampampattiwar7@gmail.com>

minor fixes

Signed-off-by: Shubham Pampattiwar <shubhampampattiwar7@gmail.com>

add validations for labelSelector and orLabelSelectors

Signed-off-by: Shubham Pampattiwar <shubhampampattiwar7@gmail.com>

update crds.gp after fixing conflicts

Signed-off-by: Shubham Pampattiwar <shubhampampattiwar7@gmail.com>

fix CI and add unit tests

Signed-off-by: Shubham Pampattiwar <shubhampampattiwar7@gmail.com>

updated OrLabelSelector spec description and added validation failure unit tests

Signed-off-by: Shubham Pampattiwar <shubhampampattiwar7@gmail.com>

add comments and change log level

Signed-off-by: Shubham Pampattiwar <shubhampampattiwar7@gmail.com>

update site docs

Signed-off-by: Shubham Pampattiwar <shubhampampattiwar7@gmail.com>

wrap pager client calls in a function

Signed-off-by: Shubham Pampattiwar <shubhampampattiwar7@gmail.com>

resolve confilcts and update crds.go

Signed-off-by: Shubham Pampattiwar <shubhampampattiwar7@gmail.com>

rebase and update crds.go

Signed-off-by: Shubham Pampattiwar <shubhampampattiwar7@gmail.com>

combine listing items for a given label

Signed-off-by: Shubham Pampattiwar <shubhampampattiwar7@gmail.com>
2022-05-11 09:57:47 -04:00
Wenkai Yin(尹文开)
879d03398b Merge pull request #4894 from blackpiglet/bsl-refactor
Refactor BSL controller with periodical enqueue source
2022-05-11 19:23:51 +08:00
Xun Jiang
989a1e3ebb Refactor BSL controller with periodical enqueue source.
Add filter functions for PeriodicalEnqueueSource.
Move BSL's valication frequency check test case to PeriodicalEnqueueSource's test.

Signed-off-by: Xun Jiang <jxun@vmware.com>
2022-05-11 15:31:47 +08:00
qiuming
d48e1d9db7 Merge pull request #4897 from ywk253100/220609_gc
Make garbage collection for expired backups configurable
2022-05-11 10:46:03 +08:00
Wenkai Yin(尹文开)
6a551e546e Make garbage collection for expired backups configurable
Make garbage collection for expired backups configurable

Fixes #4875

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2022-05-11 10:33:59 +08:00
Abigail McCarthy
4013c92afb Update compatibility matrix for 1.9
Signed-off-by: Abigail McCarthy <mabigail@vmware.com>
2022-05-10 13:46:52 -04:00
Daniel Jiang
e51865eec1 Merge pull request #4628 from shubham-pampattiwar/add-restore-policy
Add `existingResourcePolicy` to Restore API
2022-05-10 20:28:25 +08:00
Xun Jiang/Bruce Jiang
99e49c6936 Merge pull request #4898 from ywk253100/220509_distroless
Bump up the version of distroless to base-debian11
2022-05-10 14:48:53 +08:00
Abigail McCarthy
35ac28741f fix typo
Signed-off-by: Abigail McCarthy <mabigail@vmware.com>
2022-05-09 14:18:56 -04:00
Abigail McCarthy
ec9a797c63 Add supported versions statment to support process page
Signed-off-by: Abigail McCarthy <mabigail@vmware.com>
2022-05-09 14:07:27 -04:00
Shubham Pampattiwar
e3106f3e10 add existingResourcePolicy to Restore API
add updateall policy option

fix updating labels

dump updateAll policy option

remove updateAll policy refs

Signed-off-by: Shubham Pampattiwar <shubhampampattiwar7@gmail.com>

add changelog file

Signed-off-by: Shubham Pampattiwar <shubhampampattiwar7@gmail.com>

update docs

Signed-off-by: Shubham Pampattiwar <shubhampampattiwar7@gmail.com>

patch labels for sa if policy is update

Signed-off-by: Shubham Pampattiwar <shubhampampattiwar7@gmail.com>

fix existingResourcePolicy for serviceaccounts

modularize changes and add unit tests

Signed-off-by: Shubham Pampattiwar <shubhampampattiwar7@gmail.com>

fix conflicts and update crds.go

Signed-off-by: Shubham Pampattiwar <shubhampampattiwar7@gmail.com>

change log level from info to error

Signed-off-by: Shubham Pampattiwar <shubhampampattiwar7@gmail.com>

update crds.go

Signed-off-by: Shubham Pampattiwar <shubhampampattiwar7@gmail.com>
2022-05-09 13:36:24 -04:00
Orlix
db99b6ea73 Merge pull request #4899 from OrlinVasilev/update-team
Add Orlin and Abigail in the team on the site
2022-05-09 16:05:11 +03:00
OrlinVasilev
2d69c647d6 Add Orlin and Abigail in the team on the site
Signed-off-by: OrlinVasilev <ovasilev@vmware.com>
2022-05-09 12:59:08 +03:00
Xun Jiang/Bruce Jiang
40a36d2941 Merge pull request #4859 from qiuming-best/restic-repo-tmp
Convert Restic Repository resource/controller to the Kubebuilder framework
2022-05-09 17:57:01 +08:00
Wenkai Yin(尹文开)
ed43e8de30 Bump up the version of distroless to base-debian11
Bump up the version of distroless to base-debian11

Fixes #4867

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2022-05-09 17:08:34 +08:00
Ning Ding
e09c31e559 changes according to review comments
Signed-off-by: Ning Ding <834652870@qq.com>
2022-05-09 15:55:14 +08:00
Wenkai Yin(尹文开)
1d8d2bdb4f Merge pull request #4890 from sseago/restoreitemaction-label-fix
continue rather than return for non-matching restore action label
2022-05-09 14:34:03 +08:00
Ming
ef7e5a8388 change func name and repository description
Signed-off-by: Ming <mqiu@vmware.com>
2022-05-09 13:57:02 +08:00
qiuming
419f9ddc39 Merge pull request #4836 from danfengliu/add-csi-checkpoint
Add snapshot checkpoint for E2E test
2022-05-09 10:16:50 +08:00
Xun Jiang/Bruce Jiang
62dde34f86 Merge pull request #4893 from ywk253100/220506_restart
Make in-progress PVB/PVR as failed when restic controller restarts to avoid hanging backup/restore
2022-05-07 17:32:40 +08:00
Wenkai Yin(尹文开)
034cda2571 Make in-progress PVB/PVR as failed when restic controller restarts to avoid hanging backup/restore
Make in-progress PVB/PVR as failed when restic controller restarts to avoid hanging backup/restore

Fixes #4772

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2022-05-07 16:51:06 +08:00
danfengl
33bf59a910 Add snapshot checkpoint for CSI E2E test and fix CSI snapshot name issue
1. Add checkpoint in snapshot E2E test to verify snapshot CR should be created and snapshot should be created in cloud side after backup completion;
2. Fix snapshot name issue that CSI snapshot name in cloud side is not the same with other non-CSI cloud snapshots;

Signed-off-by: danfengl <danfengl@vmware.com>
2022-05-07 08:49:34 +00:00
Daniel Jiang
ab876acd87 Merge pull request #4886 from a-mccarthy/fix-3118
Add info about enviroment variables in pre/post hooks
2022-05-06 16:43:45 +08:00
Ming
752b28166f Merge branch 'main' of https://github.com/qiuming-best/velero into restic-repo-tmp 2022-05-06 14:43:00 +08:00
Daniel Jiang
8411c735f6 Merge pull request #4870 from ywk253100/220428_grpc2
Bump up the version of library go-plugin
2022-05-06 13:12:40 +08:00
Daniel Jiang
d6d9a0ec08 Merge pull request #4858 from blackpiglet/4761-remove-volumesnapshot-after-backup
Remove VolumeSnapshot created during backup
2022-05-06 10:27:12 +08:00
Abigail McCarthy
dd0b5fea2b Add wording for using commands in hooks
Signed-off-by: Abigail McCarthy <mabigail@vmware.com>
2022-05-05 14:24:57 -04:00
Scott Seago
da916846b1 continue rather than return for non-matching restore action label
When iterating over applicable restore actions, if a non-matching label
selector is found, velero should continue to the next action rather than
returning from the restoreItem func, which ends up preventing the item's
restore entirely.

Signed-off-by: Scott Seago <sseago@redhat.com>
2022-05-05 08:37:48 -04:00
Xun Jiang
a69bd8b1f3 Remove VolumeSnapshot created during backup, when the VolumeSnapshotClass's DeletionPolicy is set to Delete.
1. Delete VolumeSnapshot directly when DeletionPolicy set to Retain.
2. Change VolumeSnapshotContent's DeletionPolicy to Retain, then delete VolumeSnapshot. After that delete VolumeSnapshotContent and change VSC DeletionPolicy to Delete back, then re-create the VolumeSnapshotContent.

Signed-off-by: Xun Jiang <jxun@vmware.com>
2022-05-05 18:30:59 +08:00
Wenkai Yin(尹文开)
6a42d1c4e1 Merge pull request #4889 from blackpiglet/parallel-VolumeSnapshot-ReadToUse
Make waiting VolumeSnapshot to ready process parallel.
2022-05-05 17:12:59 +08:00
Xun Jiang
6421f8ad02 Make waiting VolumeSnapshot to ready process parallel.
Signed-off-by: Xun Jiang <jxun@vmware.com>
2022-05-05 14:32:55 +08:00
Wenkai Yin(尹文开)
aa71427576 Merge pull request #4887 from reasonerjt/delete-orphan-vs
Delete orphan CSI snapshots in backup sync controller
2022-05-05 11:27:44 +08:00
Daniel Jiang
89e90d9be4 Delete orphan CSI snapshots in backup sync controller
This commit makes backup sync controller delete the volumesnapshot and
volumesnapshotcontent created by the backup which is cleaned up as orphan

Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2022-05-05 10:54:34 +08:00
Daniel Jiang
628164668f Merge pull request #4655 from ywk253100/220214_pod_volume_restore
Convert Pod Volume Restore resource/controller to the Kubebuilder framework
2022-05-05 10:33:41 +08:00
Daniel Jiang
ad7a940032 Merge pull request #4613 from shubham-pampattiwar/add-design-existing-rs-policy
Add design for enabling support for `ExistingResourcePolicy` to restore API
2022-05-04 19:33:49 +08:00
Abigail McCarthy
99486a50f7 Add info about enviroment variables in pre/post hooks
Signed-off-by: Abigail McCarthy <mabigail@vmware.com>
2022-05-03 09:44:51 -04:00
Abigail McCarthy
2e1c35fe39 Update resource filtering page
Signed-off-by: Abigail McCarthy <mabigail@vmware.com>
2022-05-03 05:35:16 -04:00
Abigail McCarthy
965f6b606c Update headers in supported providers page
Signed-off-by: Abigail McCarthy <mabigail@vmware.com>
2022-05-02 13:38:39 -04:00
Abigail McCarthy
d20c34fe74 Add aws limitation for migration, add limitation section
Signed-off-by: Abigail McCarthy <mabigail@vmware.com>
2022-05-02 13:26:49 -04:00
Xun Jiang/Bruce Jiang
5b49fa0b18 Merge pull request #4869 from reasonerjt/ren-dbr-test
Change the name of UT to be more consistent
2022-04-30 10:43:54 +08:00
Xun Jiang/Bruce Jiang
03ae5723c7 Merge pull request #4619 from shubham-pampattiwar/add-design-backup-selectors
Add design for enabling multiple label support
2022-04-30 10:40:18 +08:00
Wenkai Yin(尹文开)
325feae5d4 Merge pull request #4873 from OrlinVasilev/roadmap-wiki
Update ROADMAP.md with link to wiki and wiki guidance
2022-04-29 11:30:54 +08:00
Ming
06d3d731ed Refactor restic repository
Signed-off-by: Ming <mqiu@vmware.com>
2022-04-29 10:26:00 +08:00
Ning Ding
bc15fe8d9c cleanup restic helper folder when done
Signed-off-by: Ning Ding <834652870@qq.com>
2022-04-28 20:29:46 +08:00
OrlinVasilev
19c3bf5c37 Update ROADMAP.md with link to wiki and wiki guidance
Signed-off-by: OrlinVasilev <ovasilev@vmware.com>
2022-04-28 15:25:20 +03:00
Wenkai Yin(尹文开)
3049f6ec8c Bump up the version of library go-plugin
Bump up the version of library go-plugin to avoid blocking issue #4863

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2022-04-28 17:04:04 +08:00
Daniel Jiang
ad6c5a5ad6 Change the name of UT to be more consistent
Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2022-04-28 14:47:37 +08:00
Shubham Pampattiwar
3589ab57e2 Add multiple label selector support to Velero backup /restore API
add initial design for enabling  multiple label support for backing up resources

Signed-off-by: Shubham Pampattiwar <shubhampampattiwar7@gmail.com>

update solution approach

Signed-off-by: Shubham Pampattiwar <shubhampampattiwar7@gmail.com>

add restore API bits

Signed-off-by: Shubham Pampattiwar <shubhampampattiwar7@gmail.com>

remove CLI bits and update examples

Signed-off-by: Shubham Pampattiwar <shubhampampattiwar7@gmail.com>

update spec name to OrLabelSelector

Signed-off-by: Shubham Pampattiwar <shubhampampattiwar7@gmail.com>

update high level design

Signed-off-by: Shubham Pampattiwar <shubhampampattiwar7@gmail.com>
2022-04-28 02:42:31 -04:00
Xun Jiang/Bruce Jiang
001229a8b3 Merge pull request #4855 from reasonerjt/bak-delete-refact
Refactor backup deletion controller based on kubebuilder
2022-04-28 10:48:11 +08:00
Wenkai Yin(尹文开)
d42e353610 Merge pull request #4866 from reasonerjt/clusterclass-restore-order
Add ClusterClasses to the restore priority list
2022-04-28 09:04:41 +08:00
Shubham Pampattiwar
d449ca06ef design for enabling existing resource policy
add design doc for existing resource policy

Signed-off-by: Shubham Pampattiwar <shubhampampattiwar7@gmail.com>

add use-cases and update non-goals

Signed-off-by: Shubham Pampattiwar <shubhampampattiwar7@gmail.com>

update approach-1 and add policy-action table

Signed-off-by: Shubham Pampattiwar <shubhampampattiwar7@gmail.com>

minor updates

Signed-off-by: Shubham Pampattiwar <shubhampampattiwar7@gmail.com>

fix typos

Signed-off-by: Shubham Pampattiwar <shubhampampattiwar7@gmail.com>

add CLI details

Signed-off-by: Shubham Pampattiwar <shubhampampattiwar7@gmail.com>

dump updateAll option

Signed-off-by: Shubham Pampattiwar <shubhampampattiwar7@gmail.com>

add implementation decision

Signed-off-by: Shubham Pampattiwar <shubhampampattiwar7@gmail.com>
2022-04-27 15:23:49 -04:00
Scott Seago
58a8371ca2 Merge pull request #4833 from ywk253100/220413_restart
Make in-progress backup/restore as failed when doing the reconcile
2022-04-27 11:45:01 -04:00
Daniel Jiang
74fd158a1c Refactor backup deletion controller based on kubebuilder
Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2022-04-27 17:00:54 +08:00
Daniel Jiang
f89691c5c1 Add ClusterClasses to the restore priority list
Make sure ClusterClasses are stored before Clusters.
Fixes #4767

Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2022-04-27 15:53:55 +08:00
Scott Seago
40261dce25 Merge pull request #4684 from jenting/issue-3679
Document steps to update helm chart for each Velero GA release
2022-04-26 13:19:59 -04:00
Wenkai Yin(尹文开)
c2c211fefb Convert Pod Volume Restore resource/controller to the Kubebuilder framework
Convert Pod Volume Restore resource/controller to the Kubebuilder framework

Fixes #4134

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2022-04-26 16:23:38 +08:00
qiuming
f7a05ceb04 Merge pull request #4850 from a-mccarthy/fixes-1712
Add docs for deleting backups
2022-04-26 14:14:09 +08:00
Wenkai Yin(尹文开)
dfc86566b8 Make in-progress backup/restore as failed when doing the reconcile
Make in-progress backup/restore as failed when doing the reconcile to avoid hanging in in-progress status

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2022-04-26 11:05:03 +08:00
Daniel Jiang
35e9d2ff96 Merge pull request #4854 from blackpiglet/add-metric-for-csi-snapshot
Modify CSI VolumeSnapshot metric related code.
2022-04-26 10:25:13 +08:00
JenTing Hsiao
7aba37f92b Document steps to update helm chart for each Velero GA release
Signed-off-by: JenTing Hsiao <jenting.hsiao@suse.com>
2022-04-26 09:40:50 +08:00
Abigail McCarthy
dca7497d5c Remove DeletedBackupRequest information
Signed-off-by: Abigail McCarthy <mabigail@vmware.com>
2022-04-25 10:53:46 -04:00
Xun Jiang
22dd0b2ebb Modify CSI VolumeSnapshot metric related code.
Signed-off-by: Xun Jiang <jxun@vmware.com>
2022-04-23 12:59:56 +08:00
Daniel Jiang
3ec96e2eac Merge pull request #4838 from ywk253100/220418_marker
Use controller-gen to generate the deep copy methods for objects
2022-04-21 14:00:48 +08:00
Abigail McCarthy
8f08d9923a Add docs for deleting backups
Signed-off-by: Abigail McCarthy <mabigail@vmware.com>
2022-04-20 14:58:26 -04:00
Xun Jiang/Bruce Jiang
ff4f63b6e3 Merge pull request #4844 from ywk253100/220418_schedule
Return the error when running reconcile to trigger the handling logic again
2022-04-20 17:57:20 +08:00
Wenkai Yin(尹文开)
9e786d681b Merge pull request #4832 from reasonerjt/fix-rm-csi-bak-tmp
Make the vsc created by backup sync controller deletable
2022-04-20 17:19:09 +08:00
Scott Seago
de17605c62 Merge pull request #4769 from jibutech/4754-fix
Skip povdolumerestore creation when restore excludes pv/pvc
2022-04-19 11:54:30 -04:00
Abigail McCarthy
4d9feeaf47 Merge pull request #4490 from kaovilai/patch-2
Clarify restore hook includedResources when not specified
2022-04-19 09:59:31 -04:00
Daniel Jiang
4f9e445142 Make the vsc created by backup sync controller deletable
Fixes #4760

This commit make changes in 2 parts:
1) When a volumesnapshotcontent is persisted during backup, velero will reset its
   `Source` field to remove the VolumeHandle, so that the
   csi-snapshotter will not try to call `CreateSnapshot` when its synced
   to another cluster with a backup.
2) Make sure the referenced volumesnapshotclasses are persisted and
   synced with the backup, so that when the volumesnapshotcontent is
   deleted the storage snapshot is also removed.

Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2022-04-19 15:06:59 +08:00
qiuming
2f83bb8b2b Merge pull request #4839 from blackpiglet/add-skip-tls-verify-for-restic
Update integrated Restic version and add insecureSkipTLSVerify for Re…
2022-04-19 14:21:09 +08:00
Wenkai Yin(尹文开)
fb48c5a301 Return the error when running reconcile to trigger the handling logic again
Return the error when running reconcile to trigger the handling logic again

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2022-04-19 09:23:40 +08:00
Tiger Kaovilai
82fab3f275 Update site/content/docs/main/api-types/restore.md
Co-authored-by: JenTing Hsiao <jenting@gitpod.io>
Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
2022-04-18 16:03:42 -04:00
Xun Jiang
8064421e83 Update integrated Restic version and add insecureSkipTLSVerify for Restic CLI
1. Add --insecure-tls for ResticManager's commands.
2. Add --insecure-tls in PodVolumeBackup and PodVolumeRestore controller.
3. Upgrade integrated Restic version to v0.13.1
4. Change --last flag in Restic command to --latest=1 due to Restic version update.

Signed-off-by: Xun Jiang <jxun@vmware.com>
2022-04-18 21:29:33 +08:00
Wenkai Yin(尹文开)
28bc8b7eef Use controller-gen to generate the deep copy methods for objects
As we are refactoring controllers with kubebuilder, use the controller-gen rather than code-generator to generate the deep copy methods for objects

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2022-04-18 21:18:00 +08:00
qiuming
65db2585fb Merge pull request #4822 from yuvalman/patch-1
fix: use the right kind in getRestartableProcess logger
2022-04-15 16:58:46 +08:00
qiuming
9373c8a383 Merge pull request #4818 from blackpiglet/2499-add-metric-for-csi-snapshot
Add CSI VolumeSnapshot related metrics.
2022-04-15 16:55:37 +08:00
Xun Jiang
9aa4e9e860 Update according to comments. Remove csiVolumeSnapshotsStorageTotal related code.
Signed-off-by: Xun Jiang <jxun@vmware.com>
2022-04-15 08:05:56 +00:00
Xun Jiang/Bruce Jiang
22189e8e19 Merge pull request #4436 from codegold79/3454-convert-pod-volume-backup-controller-to-kubebuilder-v3-framework
Convert Pod Volume Backup resource/controller to the Kubebuilder V3 framework
2022-04-15 15:07:09 +08:00
Xun Jiang/Bruce Jiang
dcc7b939a4 Merge pull request #4817 from yuvalman/deleteEmptyBackup
fix: delete empty backups
2022-04-15 14:32:44 +08:00
Wenkai Yin(尹文开)
8ddbe5120e Merge pull request #4831 from qiuming-best/fix-ttl
Fix default-backup-ttl not work
2022-04-15 14:30:37 +08:00
Xun Jiang/Bruce Jiang
c115a37b27 Merge pull request #4797 from blackpiglet/4758-avoid-duplicate-snapshot-for-csi
Avoid duplicated snapshotting, when CSI is enabled
2022-04-14 19:49:34 +08:00
Ming
c17172f4ef Fix default-backup-ttl not work
Signed-off-by: Ming <mqiu@vmware.com>
2022-04-14 15:11:44 +08:00
I538157
74db20993b fix: delete empty backups
Signed-off-by: Yuval Manor <yuvalman958@gmail.com>
2022-04-12 13:13:56 +03:00
yuvalman
4d0005640d fix: use the right kind in getRestartableProcess logger
Signed-off-by: Yuval Manor <yuvalman958@gmail.com>
2022-04-11 16:46:18 +03:00
Xun Jiang
4daeec7ab9 Update CRD and GRPC.
Signed-off-by: Xun Jiang <jxun@vmware.com>
2022-04-09 12:35:09 +00:00
Xun Jiang/Bruce Jiang
9f83fc57c9 Merge pull request #4748 from ywk253100/220309_schedule_kubebuilder
Refactor schedule controller with kubebuilder
2022-04-09 12:00:33 +08:00
Xun Jiang
368a1ddf3c Add CSI VolumeSnapshot related metrics.
Signed-off-by: Xun Jiang <jxun@vmware.com>
2022-04-09 00:57:28 +08:00
Xun Jiang
5c74aa22e6 Avoid duplicated snapshotting, when CSI is enabled
Fix #4758

Do not take snapshot for PV to avoid duplicated snapshotting, when CSI feature is enabled.

Signed-off-by: Xun Jiang <jxun@vmware.com>
2022-04-07 23:32:48 +08:00
Wenkai Yin(尹文开)
016ac129c6 Refactor schedule controller with kubebuilder
Refactor schedule controller with kubebuilder

fixes #4671

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2022-04-07 17:32:52 +08:00
qiuming
20c2073428 Merge pull request #4810 from danfengliu/fix-after-each-issue
Add debug switcher for E2E test
2022-04-06 17:34:02 +08:00
Wenkai Yin(尹文开)
bb3c5f8e5a Merge pull request #4807 from kaovilai/go-install-velero
Rename binary generated by go install cmd/*
2022-04-06 16:33:05 +08:00
danfengl
7b35f94f84 Add debug switcher for E2E test
Signed-off-by: danfengl <danfengl@vmware.com>
2022-04-06 06:50:47 +00:00
Xun Jiang/Bruce Jiang
4f358af902 Merge pull request #4789 from danfengliu/add-csi-plugin-in-e2e-test
Add csi plugin in e2e test
2022-04-04 09:56:12 +08:00
Tiger Kaovilai
d5e299779a Rename binary generated by go install cmd/*
- go install cmd/velero/velero.go
- go install cmd/velero-restic-restore-helper/velero-restic-restore-helper.go

Will generate binary in `$(go env GOPATH)/bin/` with the correct name.

build.sh still works the same.

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
2022-04-01 15:00:39 -04:00
danfengl
658699636d Support CSI plugin in E2E test
Signed-off-by: danfengl <danfengl@vmware.com>
2022-04-01 11:26:26 +00:00
Daniel Jiang
7c40949992 Merge pull request #4800 from reasonerjt/bump-up-csi-to-v1
Bump up to v1 API for CSI snapshot
2022-04-01 13:46:00 +08:00
Wenkai Yin(尹文开)
ca358809c2 Merge pull request #4798 from ywk253100/220331_build_image
Fix bug when pushing the build-image
2022-04-01 10:45:20 +08:00
Daniel Jiang
04f59ce003 Bump up to v1 API for CSI snapshot
Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2022-03-31 22:55:03 +08:00
Wenkai Yin(尹文开)
119af85325 Fix bug when pushing the build-image
Checkout 2 commits to avoid mismatch of image tag when pushing the build-image

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2022-03-31 17:14:28 +08:00
half-life666
e24c8845c4 Skip podvolumerestore creation when restore excludes pv/pvc
Signed-off-by: half-life666 <half-life@jibudata.com>
2022-03-31 09:27:33 +08:00
danfengl
2c5c9246e6 Add CSI plugin in E2E test
Signed-off-by: danfengl <danfengl@vmware.com>
2022-03-30 13:09:26 +00:00
Wenkai Yin(尹文开)
3b75ae8ccc Merge pull request #4773 from danfengliu/add-n-2-upgrade-test
Support multi-upgrade-path in upgrade E2E test
2022-03-30 19:56:00 +08:00
danfengl
54a0ee6496 Support multi-upgrade-path in upgrade E2E test
Signed-off-by: danfengl <danfengl@vmware.com>
2022-03-30 07:39:24 +00:00
qiuming
cdb346f7fd Merge pull request #4778 from blackpiglet/add-kibishii-direcotry-parameter-for-e2e
Add parameter for e2e test to support modify kibishii install path.
2022-03-29 17:24:35 +08:00
Wenkai Yin(尹文开)
0b8f19e4d4 Merge pull request #4779 from reasonerjt/fix-restore-hook
Ensure the restore hook applied to new namespace based on the mapping
2022-03-29 14:07:08 +08:00
Wenkai Yin(尹文开)
f0ee3ccd0e Merge pull request #4774 from shubham-pampattiwar/add-bsl-vsl-param-links
Add backupStorageLocation and volumeSnapshotLocation parameter links
2022-03-28 14:27:25 +08:00
Daniel Jiang
2939914113 Ensure the restore hook applied to new namespace based on the mapping
fixes #4720

Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2022-03-28 10:24:47 +08:00
Xun Jiang
fa646888ef Add parameter for e2e test to support modify kibishii install path.
Signed-off-by: Xun Jiang <jxun@vmware.com>
2022-03-27 20:33:26 +08:00
Scott Seago
8e4f88db68 Merge pull request #4295 from mercedes-benz/tobiasgiese/items-metrics
Add metrics backup_items_total and backup_items_errors
2022-03-25 16:40:43 -04:00
Shubham Pampattiwar
2ae502481f add bsl and vsl parameter links
Signed-off-by: Shubham Pampattiwar <shubhampampattiwar7@gmail.com>
2022-03-25 13:09:01 -04:00
Tiger Kaovilai
d1fdaecc94 Add labels to expired backups failing garbage collection. (#4757)
* Add bsl related TTL gc errors to labelSelectors
* if backup label map is nil, make map
* clear label if not BSL error

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
2022-03-25 17:01:55 +08:00
Wenkai Yin(尹文开)
2f0d0ac456 Merge pull request #4771 from jonasrosland/update-community-mgr
Update community managers in MAINTAINERS.md
2022-03-25 11:09:09 +08:00
Jonas Rosland
1577a817fd Update community managers in MAINTAINERS.md
Signed-off-by: Jonas Rosland <jrosland@vmware.com>
2022-03-23 11:20:32 -04:00
Wenkai Yin(尹文开)
38c83d608a Merge pull request #4736 from danfengliu/add-e2e-test-of-bsl-deletion
Add E2E test of bsl deletion
2022-03-23 14:34:00 +08:00
Wenkai Yin(尹文开)
33026a0fbe Merge pull request #4766 from LinuxSuRen/fix-var-collides
Fix the golang lint error: Variable 'session' collides with imported package name
2022-03-23 14:30:16 +08:00
Tobias Giese
1b8da68fc2 metrics: add items gauges
Signed-off-by: Tobias Giese <tobias.giese@daimler.com>
2022-03-22 18:36:55 +01:00
rick
bd17d32885 Fix the golang lint error: Variable 'session' collides with imported package name
Signed-off-by: rick <1450685+LinuxSuRen@users.noreply.github.com>
2022-03-22 21:44:43 +08:00
Xun Jiang/Bruce Jiang
9df0394359 Merge pull request #4740 from phuongatemc/add-priorityclass-to-podaction-plugin
Add priorityclass to podaction plugin
2022-03-22 19:43:04 +08:00
Hoang, Phuong
0171a91366 Correct copyright comment and string compare
Signed-off-by: Hoang, Phuong <phuong.n.hoang@dell.com>
2022-03-21 12:01:26 -04:00
Jonas Rosland
e7a1c3d4dc Remove blocking indexing of our versioned docs (#4750)
Signed-off-by: Jonas Rosland <jrosland@vmware.com>
2022-03-21 16:58:13 +08:00
Scott Seago
09ec3ba994 Insert all restore errors and warnings into restore log (#4743)
This allows a user inspecting the restore logs to see any
errors or warnings generated by the restore so that they
will be seen even without having to use the describe cli.

Signed-off-by: Scott Seago <sseago@redhat.com>
2022-03-21 14:29:03 +08:00
Daniel Jiang
0e0d42b5f2 Plugin versioning design (#4698)
* Add plugin versioning design doc

Signed-off-by: Bridget McErlean <bmcerlean@vmware.com>

* Use more generic versions in scenarios section

Signed-off-by: Bridget McErlean <bmcerlean@vmware.com>

* Address code review

Signed-off-by: Bridget McErlean <bmcerlean@vmware.com>

* Address code review

Signed-off-by: Bridget McErlean <bmcerlean@vmware.com>

* Modify design to allow other interface changes

The previous design assumed that only method addition would be
supported. It now includes guidance for making changes such as method
removal or signature changes.

Signed-off-by: Bridget McErlean <bmcerlean@vmware.com>

Co-authored-by: Bridget McErlean <bmcerlean@vmware.com>
2022-03-18 11:16:23 +08:00
Scott Seago
541f40d654 Merge pull request #4749 from reasonerjt/rm-zubron-from-reviewers
Remove Bridget from maintainer list
2022-03-17 09:52:43 -04:00
Tiger Kaovilai
9133ee7038 clarify date/time (#4745)
* clarify date/time

Co-authored-by: Scott Seago <sseago@redhat.com>
Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
2022-03-17 21:45:06 +08:00
Daniel Jiang
da883962d6 Remove Bridget from maintainer list
Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2022-03-17 21:35:33 +08:00
Hoang, Phuong
b8b5427388 Fix format.
Signed-off-by: Hoang, Phuong <phuong.n.hoang@dell.com>
2022-03-15 19:54:24 -04:00
Hoang, Phuong
e9d5f7121c Add unit tests, change copyright years and revert unrelated changes.
Signed-off-by: Hoang, Phuong <phuong.n.hoang@dell.com>
2022-03-15 19:51:53 -04:00
Hoang, Phuong
d2ef5cbe0a Add changelog
Signed-off-by: Hoang, Phuong <phuong.n.hoang@dell.com>
2022-03-15 19:05:13 -04:00
Hoang, Phuong
0741360050 Adding PriorityClass to backup podAction and restore podAction.
Signed-off-by: Hoang, Phuong <phuong.n.hoang@dell.com>
2022-03-15 19:05:13 -04:00
Xun Jiang
291f0c17e8 Support multiple skip option for E2E test
The GINKGO_SKIP option is updated to string that can be separated by "." for "make test-e2e".

Signed-off-by: Xun Jiang <jxun@vmware.com>
Signed-off-by: Hoang, Phuong <phuong.n.hoang@dell.com>
2022-03-15 19:05:13 -04:00
Ganesh Hubale
05d97aec2d Fixed start contributing link (#4723)
Signed-off-by: Ganesh Hubale <ganeshhubale03@gmail.com>
Signed-off-by: Hoang, Phuong <phuong.n.hoang@dell.com>
2022-03-15 19:05:13 -04:00
danfengl
09cdf41d97 Add E2E test of bsl deletion
Signed-off-by: danfengl <danfengl@vmware.com>
2022-03-15 02:27:09 +00:00
Tiger Kaovilai
d0422d8ee5 Clarify backups that get deleted via object storage sync
Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
2022-03-08 19:41:37 -05:00
qiuming
3c49ec4fb4 Merge pull request #4725 from blackpiglet/4725-support-multiple-skip
Support multiple skip option for E2E test
2022-03-08 19:43:28 +08:00
Xun Jiang
d694d40919 Support multiple skip option for E2E test
The GINKGO_SKIP option is updated to string that can be separated by "." for "make test-e2e".

Signed-off-by: Xun Jiang <jxun@vmware.com>
2022-03-08 17:04:32 +08:00
Ganesh Hubale
3c607931c0 Fixed start contributing link (#4723)
Signed-off-by: Ganesh Hubale <ganeshhubale03@gmail.com>
2022-03-08 16:56:52 +08:00
Wenkai Yin(尹文开)
208d250ddc Merge pull request #4719 from ywk253100/220225_bsl
Update BSL CR as long as there is any error
2022-03-08 16:40:24 +08:00
Wenkai Yin(尹文开)
bcc9aa8d69 Update BSL CR as long as there is any error
1. Mark the BSL as "Unavailable" when gets any error
2. Add a new field "Message" to the BSL status to record the error message

Fixes #4485
Fixes #4405

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2022-03-07 10:25:18 +08:00
Abigail McCarthy
27f7494190 fix broken links in ibm config page (#4715)
Signed-off-by: Abigail McCarthy <mabigail@vmware.com>
2022-03-03 09:57:31 +08:00
Wenkai Yin(尹文开)
f2542ba123 Merge pull request #4664 from danfengliu/add-e2e-verify-snapshot-in-vsl
Add e2e test to verify snapshot in vsl
2022-03-02 15:10:20 +08:00
qiuming
79037848c8 Merge pull request #4623 from blackpiglet/push-image-in-github-workflow
Add pushing image to GCR in github workflow
2022-03-01 15:52:45 +08:00
qiuming
b0cd90253b Merge pull request #4661 from blackpiglet/4499-hook-podexec-container
[fix] Avoid overwritten hook's exec.container parameter when running …
2022-03-01 15:39:54 +08:00
Xun Jiang
860e4e2c1a Remove gcp auth action. Use JSON key as docker login secret instead.
Signed-off-by: Xun Jiang <jxun@vmware.com>
2022-03-01 15:16:52 +08:00
Xun Jiang
37412fe214 Change authentication method from workload identity provider to service account key.
Signed-off-by: Xun Jiang <jxun@vmware.com>
2022-03-01 10:59:39 +08:00
danfengl
4ebf764ddc Add e2e for verify snapshto in VSL
Signed-off-by: danfengl <danfengl@vmware.com>
2022-03-01 02:13:55 +00:00
Xun Jiang
0503b2675f Modify according to comments.
Change hook.Container's value in test case to ""

Signed-off-by: Xun Jiang <jxun@vmware.com>
2022-02-28 19:28:17 +08:00
Wenkai Yin(尹文开)
0b9c704da1 Merge pull request #4677 from ywk253100/220221_main
[cherry-pick]Enable building and pushing image for release branches
2022-02-28 16:01:34 +08:00
Wenkai Yin(尹文开)
7d48e030fa Merge pull request #4704 from reasonerjt/enable-coverage
Enable coverage in test.sh and upload to codecov
2022-02-28 15:26:28 +08:00
Wenkai Yin(尹文开)
4a50306a0e Merge pull request #4697 from j4m3s-s/fix-labels
Fix labels removed in ObjectMeta
2022-02-28 14:05:02 +08:00
Daniel Jiang
9f46b10b70 Enable coverage in test.sh and upload to codecov
Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2022-02-28 10:59:49 +08:00
Wenkai Yin(尹文开)
8aaeed4411 Merge pull request #4686 from reasonerjt/fix-4080
Bypass the remap CRD version plugin when v1beta1 CRD is not supported
2022-02-28 10:57:52 +08:00
Wenkai Yin(尹文开)
a8fb1d7e4b Merge pull request #4633 from qiuming-best/contributor
Add Ming Qiu's profile information into Velero Website's contributor list
2022-02-25 09:32:56 +08:00
Daniel Jiang
1cf61dd1aa Merge pull request #4084 from MatthieuFin/main
Add full support for setting securityContext for restic restore
2022-02-24 20:18:09 +08:00
MatthieuFin
a57298254f Fix typo on tests fields name and add another test with gesture of errors wanted on equals
Signed-off-by: MatthieuFin <matthieu2717@gmail.com>
2022-02-24 12:09:04 +01:00
James Landrein
cb11bf1924 Fix labels removed in ObjectMeta
Signed-off-by: James Landrein <github@j4m3s.eu>
2022-02-24 10:25:49 +01:00
James Landrein
77be862b9c Add support for --pod-labels (#4694)
* Add support for --pod-labels
* Add changelog

Signed-off-by: James Landrein <github@j4m3s.eu>
2022-02-24 17:00:14 +08:00
Daniel Jiang
ea38f84c53 Merge pull request #4660 from blackpiglet/update-onwer-references-in-backup-descrip
Update --use-owner-references-in-backup description in velero command…
2022-02-24 15:47:34 +08:00
Xun Jiang/Bruce Jiang
8a0c9899c2 Merge pull request #4643 from ywk253100/220215_release_script
Don't exit when getting no match for grep
2022-02-24 14:29:42 +08:00
qiuming
17043cd5cd Merge pull request #4518 from ywk253100/220112_restic_prune
Fix bug to make the restic prune frequency configurable
2022-02-24 14:20:34 +08:00
MatthieuFin
f6bdfd09c5 Merge remote-tracking branch 'upstream/main'
Signed-off-by: MatthieuFin <matthieu2717@gmail.com>
2022-02-23 15:03:15 +01:00
qiuming
2c359da0c3 Merge pull request #4692 from blackpiglet/skip_support_in_e2e
Add skip case support in e2e test
2022-02-23 14:48:11 +08:00
Xun Jiang
9cb81d825e Add skip case support in e2e test
Signed-off-by: Xun Jiang <jxun@vmware.com>
2022-02-23 14:05:22 +08:00
Wenkai Yin(尹文开)
8e1ba3e2e4 Merge pull request #4680 from blackpiglet/4663-add-regional-disk-support
[fix] Add regional PV support for GKE
2022-02-22 20:16:24 +08:00
Daniel Jiang
0070138c62 Bypass the remap CRD version plugin when v1beta1 CRD is not supported
When velero is running on clusters that don't support v1beta1 CRD, the
plugin will not try to backup v1beta1 CRD.
The plugin should be kept for backward compatibility.  It will be
removed when velero drop the support for k8s v1.21

Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2022-02-22 18:59:47 +08:00
Xun Jiang
4c8d1c2693 Modify according to comments
1. rename zoneSeparator to gkeZoneSeparator
2. add example of regional PV's node affinity. modify test case description.

Signed-off-by: Xun Jiang <jxun@vmware.com>
2022-02-22 16:23:10 +08:00
Daniel Jiang
e08e4f380f Merge pull request #4439 from neha-viswanathan/3940-velero-migration-doc-update
update migration across different k8s versions section
2022-02-22 12:10:57 +08:00
Xun Jiang
8c2a07b906 Update --use-owner-references-in-backup description in velero command line
Specify the risk of this parameter set to true. Add the issue first reported about this topic which includeds the google document illustrates about it.

Signed-off-by: Xun Jiang <jxun@vmware.com>
2022-02-21 22:37:48 +08:00
Xun Jiang
7be12a9220 [fix] Add regional PV support for GKE
fix #4663.
For GKE pv, when create backup, return all zones retrived from node affinity.

Signed-off-by: Xun Jiang <jxun@vmware.com>
2022-02-21 22:04:21 +08:00
Wenkai Yin(尹文开)
fc2760d206 Append "-dev" suffix for the image tag of release branches
Append "-dev" suffix for the image tag of release branches: release-1.0-dev

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2022-02-21 19:29:02 +08:00
Wenkai Yin(尹文开)
59ff57b3c6 Enable building and pushing image for release branches
Enable building and pushing image for release branches

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2022-02-21 17:47:06 +08:00
Abigail McCarthy
ea3c72310b Merge pull request #4666 from jonasrosland/update-community-page
Remove the office hours from the community page
2022-02-18 10:14:29 -05:00
Wenkai Yin(尹文开)
f1dea158d0 Don't exit when getting no match for grep
Don't exit when getting no match for grep

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2022-02-18 09:08:33 +08:00
Jonas Rosland
aedcdcccad Remove the office hours from the community page
Signed-off-by: Jonas Rosland <jrosland@vmware.com>
2022-02-17 14:28:19 -05:00
danfengl
5220562d37 Add backup deletion e2e test
Test case description is "Deleted backups are deleted from object storage and backups deleted from object storage can be deleted locally",
in this test, only resource backup objects are target for verifition, restic repo verification is not included in this PR, and snapshot verification will be in later PR

Signed-off-by: danfengl <danfengl@vmware.com>
2022-02-17 09:41:24 +00:00
Xun Jiang
6d9004dc62 [fix] Avoid overwritten hook's exec.container parameter when running pod command executor
Fix #4499
When hook influnce multiple pods, current logic's first pod's container will overwrite the hook's exec.container parameter. That will cause the other pod fail on the hook executing.

Signed-off-by: Xun Jiang <jxun@vmware.com>
2022-02-17 15:24:56 +08:00
Wenkai Yin(尹文开)
2cd2d83260 Merge pull request #4659 from vmware-tanzu/1.8-release-note
1.8 release note
2022-02-17 10:40:41 +08:00
Daniel Jiang
e4292965da Merge pull request #4656 from a-mccarthy/release-notes-edits
Copy edits for 1.8 release notes
2022-02-17 10:05:58 +08:00
Daniel Jiang
3db8798525 Merge pull request #4658 from dsu-igeek/dsu-changelog-1.8-update
Updates to 1.8 changelog
2022-02-17 10:00:01 +08:00
kkothule
2785807b2c Add CloudCasa to "Adopters of Velero" section on velero.io (#4588)
- Added CloudCasa logo
- Added description of CloudCasa and its integration with Velero

Signed-off-by: Kiran Kothule <kkothule@catalogicsoftware.com>
2022-02-17 08:57:02 +08:00
Xun Jiang/Bruce Jiang
e0791a7fd0 Add Xun Jiang's profile information into Velero Website. (#4620)
Signed-off-by: Xun Jiang <jxun@vmware.com>
2022-02-17 08:52:28 +08:00
David L. Smith-Uchida
926f40170d Updates to 1.8 changelog
Signed-off-by: David L. Smith-Uchida <dave@kasten.io>
2022-02-16 10:30:16 -08:00
Abigail McCarthy
bdcb6d3e98 Copy edits for 1.8 release notes
Signed-off-by: Abigail McCarthy <mabigail@vmware.com>
2022-02-16 11:53:09 -05:00
Daniel Jiang
b9d4fe86cf Merge pull request #4654 from ywk253100/220216_release_note
Update release note to reflect the fix for #1980
2022-02-16 14:11:46 +08:00
Daniel Jiang
fddec92ccc Merge pull request #4653 from codegold79/1.8-release-note
Add delete BSL cleanup highlight and fixed grammar in heading
2022-02-16 10:43:41 +08:00
Wenkai Yin(尹文开)
9fd241a1a0 Update release note to reflect the fix for #1980
Update release note to reflect the fix for #1980

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2022-02-16 08:27:44 +08:00
Daniel Jiang
b7b339b9c9 Add more exempt labels for stalebot (#4641) 2022-02-16 05:37:21 +08:00
bynare
768a30618f restic backupper: ignore volumes of non-running pods (#4584) 2022-02-16 05:34:58 +08:00
frankly_coding
5ca5b884c1 Merge branch '1.8-release-note' into 1.8-release-note 2022-02-15 10:56:31 -08:00
F. Gold
e3685786fa Add delete BSL cleanup highlight and fixed grammar in heading
Signed-off-by: F. Gold <fgold@vmware.com>
2022-02-15 10:53:46 -08:00
Daniel Jiang
552eb3c3f7 Merge pull request #4646 from reasonerjt/update-release-note
Refine the release note of v1.8
2022-02-15 23:01:28 +08:00
Daniel Jiang
70d12ea16e Refine the release note of v1.8
Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2022-02-15 22:55:12 +08:00
qiuming
d1063bda7e Merge pull request #4639 from blackpiglet/update-e2e-test-image-to-gcr
Update e2e test image to gcr.io
2022-02-15 09:53:50 +08:00
Daniel Jiang
fad2df8740 Merge pull request #4618 from codegold79/4617-info-log-panic-default-volumes-to-restic-nil
Check for nil before logging DefaultVolumesToRestic value
2022-02-15 08:30:53 +08:00
Xun Jiang
9419aa91a7 Update e2e test image to gcr.io
By now, only busybox:latest is used by e2e. It is already upload to gcr.io/velero-gcp/busybox:latest
Change the image to gcr.io to avoid pulling rate limitation from docker hub.

Signed-off-by: Xun Jiang <jxun@vmware.com>
2022-02-14 20:55:34 +08:00
Wenkai Yin(尹文开)
3e847fd5da Merge pull request #4634 from qiuming-best/ns-test-fix
Fix E2E backup namespaces test
2022-02-14 18:03:36 +08:00
Ming
6a61a418ca Fix E2E backup namespaces test
Signed-off-by: Ming <mqiu@vmware.com>
2022-02-14 17:41:28 +08:00
Wenkai Yin(尹文开)
69588011a2 Merge pull request #4622 from reasonerjt/tag-release-fail
Make sure the tag-release script fail on any error
2022-02-14 13:58:36 +08:00
Ming
72d53fb11e Add Ming Qiu's profile information into Velero Website's contributor list
Signed-off-by: Ming <mqiu@vmware.com>
2022-02-11 17:36:00 +08:00
Xun Jiang
01842a1552 Add GCR login actions
use google-github-actions/auth to login GCP. Login gcr.io with generated access token.

Signed-off-by: Xun Jiang <jxun@vmware.com>
2022-02-10 15:42:18 +08:00
F. Gold
491942cf2d Simplify by assuming nil is false and use boolptr util function
Signed-off-by: F. Gold <fgold@vmware.com>
2022-02-09 16:58:07 -08:00
Xun Jiang
5844fca5af Add pushing image to GCR in github workflow
Push to GCR in github workflow to faciliate some environments that have rate limitation to docker hub, e.g. vSphere.
 <root@jxun-jumpserver.c.velero-gcp.internal>
Signed-off-by: Xun Jiang <jxun@vmware.com>
2022-02-09 16:27:25 +08:00
Wenkai Yin(尹文开)
0270b96a5f Merge pull request #4605 from reasonerjt/custom-plugin-update
Undeprecate the volumesnapshot plugin in the doc
2022-02-09 10:15:40 +08:00
Daniel Jiang
a251fffc69 Make sure the tag-release script fail on any error
Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2022-02-08 10:55:19 +08:00
F. Gold
9b9aa3f308 Add changelog for PR 4436
Signed-off-by: F. Gold <fgold@vmware.com>
2022-02-07 11:41:15 -08:00
Wenkai Yin(尹文开)
ca168d41ab Merge pull request #4593 from zubron/remove-bridget-from-maintainers
Remove Bridget McErlean from maintainers
2022-02-07 09:24:44 +08:00
F. Gold
95c43d5b65 Minor change to trigger GitHub actions
Signed-off-by: F. Gold <fgold@vmware.com>
2022-02-02 17:02:22 -08:00
F. Gold
131c6de407 Check for nil before logging DefaultVolumestToRestic value
Signed-off-by: F. Gold <fgold@vmware.com>
2022-02-02 10:53:03 -08:00
Daniel Jiang
f0a29276cc Undeprecate the volumesnapshot plugin in the doc
Since Itemsnapshotter plugin is still WIP,
this commit removes the reference and the deprecation of volumeSnapshotter plugin
from the doc to avoid confusion.
We'll update the doc when it's ready and we have a reference
implementation.

Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2022-01-30 16:21:49 +08:00
qiuming
574baeb3c9 Merge pull request #4599 from danfengliu/change-1.8-e2e-plugins-version-to-release-version
Change 1.8 plugins version to release version
2022-01-29 18:30:37 +08:00
danfengl
7c4bd099d9 Change 1.8 plugins version to release version
Signed-off-by: danfengl <danfengl@vmware.com>
2022-01-29 10:11:17 +00:00
danfengliu
2ec28e3000 Merge pull request #4598 from danfengliu/fix-e2e-gcp-1.4-tag
Fix E2E gcp plugin tag name
2022-01-29 17:45:58 +08:00
danfengl
f757540c6d Fix E2E gcp plugin tag name
Signed-off-by: danfengl <danfengl@vmware.com>
2022-01-29 09:33:41 +00:00
Daniel Jiang
a33442656b Merge pull request #4595 from danfengliu/add-1.8-plugins-in-e2e-test
Add 1.8 plugins map in e2e test
2022-01-29 17:27:46 +08:00
danfengl
33219e6c4c Add 1.8 plugins map in e2e test
Signed-off-by: danfengl <danfengl@vmware.com>
2022-01-29 09:14:36 +00:00
Dominic Brekau
5fa7d08fa1 Use OrderedResources in schedules (#4550)
* Use OrderedResources in schedules
Make ParseOrderedResources public for use in schedules
Add changelog

Signed-off-by: Dominic <dominic@xdnx.org>

* Rename function in comment section

Signed-off-by: Dominic <dominic@xdnx.org>
2022-01-29 15:47:55 +08:00
danfengliu
1dd421d766 Merge pull request #4591 from qiuming-best/ssr
E2E SSR test add retry mechanism and logs
2022-01-29 12:19:53 +08:00
F. Gold
ec23f3b767 Run go mod tidy
Signed-off-by: F. Gold <fgold@vmware.com>
2022-01-28 18:08:49 -08:00
F. Gold
a610194aa1 Replace r.Client.Update with patch helper
Signed-off-by: F. Gold <fgold@vmware.com>
2022-01-28 15:31:05 -08:00
Bridget McErlean
b28093ede1 Remove Bridget McErlean from maintainers
Signed-off-by: Bridget McErlean <bmcerlean@vmware.com>
2022-01-28 18:22:37 -05:00
Ming
e4046017db E2E SSR test add retry mechanism and logs
Signed-off-by: Ming <mqiu@vmware.com>
2022-01-28 18:51:46 +08:00
F. Gold
48827d613d Run go mod tidy
Signed-off-by: F. Gold <fgold@vmware.com>
2022-01-26 20:29:23 -08:00
F. Gold
2dd85c9c42 Convert PodVolumeBackup to Kubebuilder framework
Signed-off-by: F. Gold <fgold@vmware.com>
2022-01-26 20:09:24 -08:00
qiuming
b40bbda2d6 Merge pull request #4582 from danfengliu/add-timeout-for-ci-e2e-job
Add timeout for CI e2e job
2022-01-26 20:27:00 +08:00
danfengl
5571f25f11 Add timeout for CI e2e job
Signed-off-by: danfengl <danfengl@vmware.com>
2022-01-26 09:24:24 +00:00
Daniel Jiang
52590a4426 Nominate Xun Jiang and Ming Qiu to become maintainers (#4578) 2022-01-26 10:52:07 +08:00
Wenkai Yin(尹文开)
77fd284a9a Merge pull request #4566 from reasonerjt/fix-custom-plugin-doc
Remove reference of restic_restore_action.go from the doc
2022-01-26 10:21:25 +08:00
Daniel Jiang
04fb450e2e Merge pull request #4577 from dsu-igeek/dsu-kasten-01-24-2022
Change dsu-igeek affiliation to Kasten, requires governance vote
2022-01-26 09:00:02 +08:00
Dave Smith-Uchida
e8120f66fa Change dsu-igeek affiliation to Kasten, requires governance vote
Signed-off-by: Dave Smith-Uchida <dave@kasten.io>
2022-01-25 10:00:32 -08:00
qiuming
ae0c4c29a1 Merge pull request #4573 from danfengliu/add-continue-on-error-in-ci-e2e-test
Add continue-on-error in ci e2e test
2022-01-25 17:03:25 +08:00
danfengl
6e4194bc60 Add continue-on-error in ci e2e test
Signed-off-by: danfengl <danfengl@vmware.com>
2022-01-25 08:51:24 +00:00
Daniel Jiang
a6abc03e43 Remove reference of restic_restore_action.go from the doc
fixes #4554

Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2022-01-24 15:11:23 +08:00
Daniel Jiang
2cbb881285 Merge pull request #4497 from dkeven/filterunmountedvol
Fix: skip not mounted volumes when backing up
2022-01-24 14:40:18 +08:00
qiuming
56d625e1da Merge pull request #4555 from danfengliu/upload-debug-tarball-in-pr-ci
Upload debug tarball in PR CI E2E pipeline
2022-01-21 16:23:51 +08:00
danfengl
8bf0e05f12 Upload debug tarball in PR CI E2E pipeline
Signed-off-by: danfengl <danfengl@vmware.com>
2022-01-21 03:52:36 +00:00
Wenkai Yin(尹文开)
0f56f8e8e0 Merge pull request #4545 from qiuming-best/backup-sync-bsl
Add E2E test of backups sync from BSL
2022-01-20 15:42:57 +08:00
Rafael Brito
015e8e7db9 #4067 Initial design of the new plugins - pre-post backup and restore (#4083)
* #4067 Initial design of the new plugins - pre-post backup and restore

Signed-off-by: Rafael Brito <rbrito@vmware.com>

* Update new-prepost-backuprestore-plugin-hooks.md

* Updated design doc as per feedback

Signed-off-by: Rafael Brito <rbrito@vmware.com>

* Adding design changes as per feedback

* Update design on prepost-backup-restore plugins

* More color on how to call plugins

Signed-off-by: Rafael Brito <rbrito@vmware.com>

* Proposing annotations to skip plugin execution

Signed-off-by: Rafael Brito <rbrito@vmware.com>
2022-01-19 14:57:10 -08:00
Ming
caa80db92c Add E2E test of backups sync from BSL
Signed-off-by: Ming <mqiu@vmware.com>
2022-01-19 15:09:02 +08:00
dkeven
1e44edce67 Fix: skip not mounted volumes when backing up
Signed-off-by: dkeven <keven@kubesphere.io>
2022-01-18 17:53:01 +08:00
Tiger Kaovilai
2734bac900 Clarify restore hook includedResources when not specified
Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>

Rearrange for clarity

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
2022-01-15 14:55:19 -05:00
Daniel Jiang
459365013c Update changelog for v1.8.0 (#4530)
Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2022-01-14 09:20:53 -05:00
Daniel Jiang
db466df5e5 Merge pull request #4517 from reasonerjt/1.8-doc
Update doc for v1.8
2022-01-14 22:05:22 +08:00
Daniel Jiang
7a5ae101e6 Update doc for v1.8
Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2022-01-14 01:12:10 +08:00
qiuming
595e62ee7e Merge pull request #4521 from qiuming-best/ssr-test
E2E test on ssr object with controller namespace mix-ups
2022-01-13 14:31:56 +08:00
Ming
f36161eeee E2E test on ssr object with controller namespace mix-ups
Signed-off-by: Ming <mqiu@vmware.com>
2022-01-13 14:10:37 +08:00
qiuming
dc09fea988 Merge pull request #4519 from ywk253100/220112_ci
Support running e2e testing on k8s 1.23.0
2022-01-13 09:44:46 +08:00
Daniel Jiang
1e24d6ce71 Merge pull request #4513 from ywk253100/220111_restic
Check whether the volume is provisioned by CSI driver or not by the annotation as well
2022-01-12 19:54:55 +08:00
Wenkai Yin(尹文开)
fcad46ccdf Check whether the volume is provisioned by CSI driver or not by the annotation as well
Check whether the volume is provisioned by CSI driver or not by the annotation as well

Fixes #4496

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2022-01-12 19:05:33 +08:00
Wenkai Yin(尹文开)
a246be48c0 Support running e2e testing on k8s 1.23.0
Support running e2e testing on k8s 1.23.0

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2022-01-12 18:42:24 +08:00
qiuming
0094303fa5 Merge pull request #4510 from danfengliu/fix-e2e-upgrade-issue-by-another-pr
Fix E2E upgrade parameter issue caused by previous PR
2022-01-12 15:31:34 +08:00
Xun Jiang/Bruce Jiang
947f85790f Merge pull request #4514 from ywk253100/2220110_nodeport
Check the existence of the expected service when ignoring the NodePort already allocated error
2022-01-12 15:25:42 +08:00
Wenkai Yin(尹文开)
fb2722ffe5 Fix bug to make the restic prune frequency configurable
We introduces the installation option "--default-restic-prune-frequency" to make restic prune frequency configuration in the previous release, but there is a bug that make the option don't take effect. This commit fixes the bug by removing the evaluation part. The restic repository controller will take care the prune frequency for the repository

Fixes #3062

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2022-01-12 15:18:24 +08:00
Wenkai Yin(尹文开)
62779bbcc6 Check the existence of the expected service when ignoring the NodePort already allocated error
Check the existence of the expected service when ignoring the NodePort already allocated error

Fixes 2308

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2022-01-12 15:06:42 +08:00
danfengl
2a492ded94 Fix E2E upgrade parameter issue caused by previous PR
Signed-off-by: danfengl <danfengl@vmware.com>
2022-01-11 07:23:01 +00:00
Daniel Jiang
a91483c55c Merge pull request #4491 from ywk253100/220105_label
Initialize the labels field of `velero backup-location create` option
2022-01-10 23:03:09 +08:00
qiuming
7bdbf30856 Merge pull request #4507 from danfengliu/bumpup-version-in-upgrade-test
Bump up velero version in upgrade test
2022-01-10 09:53:25 +08:00
Wenkai Yin(尹文开)
5c5947f0d9 Merge pull request #4489 from a-mccarthy/fix-4363
Update CSI docs
2022-01-10 09:18:05 +08:00
danfengl
3af149afae Bump up velero version in upgrade test
Velero 1.8 is releasing soon, upgrade test covers the last release version to the main code.

Signed-off-by: danfengl <danfengl@vmware.com>
2022-01-09 02:38:07 +00:00
Scott Seago
a2b6d06f61 Merge pull request #4502 from a-mccarthy/fix-3518
Add Velero-Kubernetes version matrix
2022-01-07 14:31:09 -05:00
Abigail McCarthy
4cca3996f5 add links to plugin repos
Signed-off-by: Abigail McCarthy <mabigail@vmware.com>
2022-01-07 09:34:36 -05:00
Abigail McCarthy
f0542047b8 minor typo fixes
Signed-off-by: Abigail McCarthy <mabigail@vmware.com>
2022-01-07 09:20:27 -05:00
Neha Viswanathan
d17db327f7 update migration across different Kubernetes versions section
Signed-off-by: Neha Viswanathan <itsnehavis@gmail.com>
2022-01-06 19:45:36 -08:00
Abigail McCarthy
527af08315 readme changes
Signed-off-by: Abigail McCarthy <mabigail@vmware.com>
2022-01-06 14:21:32 -05:00
Abigail McCarthy
b82559fe7c Add kubernetes version compatability matrix
Signed-off-by: Abigail McCarthy <mabigail@vmware.com>
2022-01-06 14:20:41 -05:00
Wenkai Yin(尹文开)
6c1f16a735 Initialize the labels field of velero backup-location create option
Initialize the labels field of `velero backup-location create` option to avoid #4484

Fixes #4484

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2022-01-06 10:35:39 +08:00
Abigail McCarthy
7e76bb9f98 Update CSI docs with more context
Signed-off-by: Abigail McCarthy <mabigail@vmware.com>
2022-01-05 13:43:39 -05:00
Wenkai Yin(尹文开)
b6992101a4 Merge pull request #4480 from qiuming-best/optimize-ns-test
Fix e2e 2500 namespaces scale test timeout problem
2022-01-04 16:22:00 +08:00
Ming
97b106d1a3 Fix e2e 2500 namespaces scale test timeout problem
Signed-off-by: Ming <mqiu@vmware.com>
2022-01-04 15:24:14 +08:00
Wenkai Yin(尹文开)
3feb259235 Merge pull request #4401 from danfengliu/add-backup-deletion-e2e-test-to-main
Add backup deletion e2e test
2021-12-24 16:04:08 +08:00
danfengl
29b2cd1883 Add backup deletion e2e test
Test case description is "Deleted backups are deleted from object storage and backups deleted from object storage can be deleted locally",
in this test, only resource backup objects are target for verifition, restic repo verification is not included in this PR, and snapshot verification will be in later PR

Signed-off-by: danfengl <danfengl@vmware.com>
2021-12-23 12:45:31 +00:00
Wenkai Yin(尹文开)
72fc1d2c0b Parse resource from backup tarball directly rather than resolving it via discovery service to avoid #4009 (#4398) 2021-12-21 19:28:55 +08:00
qiuming
6be36c2aa4 Merge pull request #4455 from qiuming-best/rbac-test
Add rbac and annotation test cases
2021-12-21 16:12:20 +08:00
Daniel Jiang
7c2dc143d5 Merge pull request #4391 from ywk253100/211123_anno
Keep the annotation "pv.kubernetes.io/provisioned-by" when restoring PVs
2021-12-21 11:08:25 +08:00
Wenkai Yin(尹文开)
648f3ac228 Keep the annotation "pv.kubernetes.io/provisioned-by" when restoring PVs
More details please refer to https://github.com/vmware-tanzu/velero/issues/3470#issuecomment-976279606

Fixes #3470

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2021-12-21 09:52:56 +08:00
Wenkai Yin(尹文开)
c7cd95a374 Ignore the provided port is already allocated error when restoring the LoadBalancer service (#4462)
Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2021-12-21 05:42:27 +08:00
Daniel Jiang
d7aa82d8ed Return the error when getting backup store in backup deletion controller (#4465)
Per discussion in
https://github.com/vmware-tanzu/velero/issues/4260#issuecomment-947721686
https://github.com/vmware-tanzu/velero/issues/4260#issuecomment-951347384

return the error to avoid a panic when downloading the backup tarball

Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2021-12-21 05:38:13 +08:00
Wenkai Yin(尹文开)
d627362abd Merge pull request #4457 from blackpiglet/revert-4423-backup-sync-controller-to-kubebuilder
Revert "Migrate backup sync controller from code-generator to kubebui…
2021-12-20 11:10:26 +08:00
Wenkai Yin(尹文开)
26c668e511 Merge pull request #4442 from a-mccarthy/fix-4352
Add defaultVolumesToRestic to schedule api docs
2021-12-20 11:09:26 +08:00
Xun Jiang
bdde7585c8 Add changelog.
Signed-off-by: Xun Jiang <jxun@vmware.com>
2021-12-17 16:16:03 +08:00
Xun Jiang
7ab4bfc632 Revert "Migrate backup sync controller from code-generator to kubebuilder (#4423)"
This reverts commit 5aaeb3ebbe.
2021-12-17 09:40:24 +08:00
Abigail McCarthy
37f8be093f Update code standards to direct folks to create changelogs on release… (#4443)
* Update code standards to direct folks to create changelogs on release branches
* Fix wording

Signed-off-by: Abigail McCarthy <mabigail@vmware.com>
2021-12-16 23:54:11 +08:00
Ming
be752dd8d9 Add rbac and annotation test cases
Signed-off-by: Ming <mqiu@vmware.com>
2021-12-16 18:02:24 +08:00
Box-Cube
69f6c8d0cd Fix statefulsets volumeClaimTemplates storageClassName after use Changing PV/PVC Storage Classes (#4375)
* fix statefulsets volumeClaimTemplates storageClassName after use Changing PV/PVC Storage Classes

Signed-off-by: Box-Cube <64300761+Box-Cube@users.noreply.github.com>

* Fix (vmware-tanzu#4373)

Signed-off-by: Box-Cube <64300761+Box-Cube@users.noreply.github.com>

* Fix StatefulSet volumeClaimTemplates storageClassName(vmware-tanzu#4373)

Signed-off-by: Box-Cube <64300761+Box-Cube@users.noreply.github.com>

* Fix StatefulSet volumeClaimTemplates storageClassName(vmware-tanzu#4373)

Signed-off-by: Box-Cube <64300761+Box-Cube@users.noreply.github.com>

* Fix StatefulSet volumeClaimTemplates storageClassName(vmware-tanzu#4373)

Signed-off-by: Box-Cube <64300761+Box-Cube@users.noreply.github.com>

* Change the isStorageClassExist logic

Signed-off-by: Box-Cube <64300761+Box-Cube@users.noreply.github.com>

* Fix StatefulSet volumeClaimTemplates storageClassName(vmware-tanzu#4373)

Signed-off-by: Box-Cube <64300761+Box-Cube@users.noreply.github.com>
2021-12-16 14:50:56 +08:00
qiuming
e350ce5bb4 Merge pull request #4440 from qiuming-best/upgrade-e2e-vsphere-plugin
Upgrade e2e test vsphere plugin
2021-12-16 09:45:06 +08:00
Ming
d8b1ed7dba Upgrade e2e test vsphere plugin
Signed-off-by: Ming <mqiu@vmware.com>
2021-12-15 17:44:57 +08:00
Xun Jiang/Bruce Jiang
5aaeb3ebbe Migrate backup sync controller from code-generator to kubebuilder (#4423)
* Migrate backup sync controller from code-generator to kubebuilder

1. use kubebuilder's reconcile logic to replace controller's old logic.
2. use ginkgo and gomega to replace testing.

Signed-off-by: Xun Jiang <jxun@vmware.com>

* Fix: modify code according to comments

1. Remove DefaultBackupLocation
2. Remove unneccessary comment line
3. Add syncPeriod default value setting logic
4. Modify ListBackupStorageLocations function's context parameter
5. Add RequeueAfter parameter in Reconcile function return value

Signed-off-by: Xun Jiang <jxun@vmware.com>

* Reconcile function use context passed from parameter

1. Use context passed from parameter, instead of using Reconciler struct's context.
2. Delete Reconciler struct's context member.
3. Modify test case accordingly.

Signed-off-by: Xun Jiang <jxun@vmware.com>
2021-12-14 20:07:20 -05:00
Frangipani Gold
d3c7ef09cb Remove backups and restic repos associated with deleted BSL(s) (#4377)
* Remove backups and restic repos associated with deleted BSL(s)

Signed-off-by: F. Gold <fgold@vmware.com>

* add changelog

Signed-off-by: F. Gold <fgold@vmware.com>

* Add PR number to changelog

Signed-off-by: F. Gold <fgold@vmware.com>

* Fix typo

Signed-off-by: F. Gold <fgold@vmware.com>

* Only delete backups and restic repos and report success when without errors

Signed-off-by: F. Gold <fgold@vmware.com>
2021-12-13 16:09:24 -08:00
David L. Smith-Uchida
a1b48ceac5 Adds <backup-name>-itemsnapshots.gz file to backup (when provided). (#4429)
* Adds <backup-name>-itemsnapshots.gz file to backup (when provided).  Also
adds DownloadTargetKindBackupItemSnapshots type to allow downloading.
Updated object store unit test

Fixes #3758

Signed-off-by: Dave Smith-Uchida <dsmithuchida@vmware.com>

* Removed redundant checks

Signed-off-by: Dave Smith-Uchida <dsmithuchida@vmware.com>
2021-12-13 14:47:50 -05:00
Scott Seago
3445c402a9 Merge pull request #4446 from blackpiglet/4389-remove-crds-version
fix: remove --crds-version in velero install command
2021-12-13 08:58:56 -05:00
Xun Jiang
706d142096 fix: remove --crds-version in velero install command
Due to only v1 CRD is supported in velero version 1.8, remove CRDs version choosing option.

Signed-off-by: Xun Jiang <jxun@vmware.com>
2021-12-13 21:02:56 +08:00
David L. Smith-Uchida
5677e04bb1 Consolidated code for resolving actions and plugins into ActionResolver (#4410)
* Consolidated code for resolving actions and plugins into ActionResolver.  Added BackupWithResolvers and
RestoreWithResolvers.  Introduces ItemSnapshooterResolver to bring ItemSnapshotter plugins into backup and
restore.  ItemSnapshotters are not used yet.

Added action_resolver_test

Signed-off-by: Dave Smith-Uchida <dsmithuchida@vmware.com>

* Addressed review comments

Signed-off-by: Dave Smith-Uchida <dsmithuchida@vmware.com>
2021-12-10 12:53:47 -05:00
Abigail McCarthy
4173c54662 Add defaultVolumesToRestic to schedule api docs
Signed-off-by: Abigail McCarthy <mabigail@vmware.com>
2021-12-10 09:19:44 -05:00
Wenkai Yin(尹文开)
ab7efe7794 Merge pull request #4438 from qiuming-best/resource-filtering-test
Fix e2e test failures for the inappropriate optimaze of velero install
2021-12-10 14:00:38 +08:00
ming qiu
d1e2c7b476 Fix e2e test failures for the inappropriate optimaze of velero install
Signed-off-by: ming qiu <mqiu@mqiu-a01.vmware.com>
2021-12-10 11:10:51 +08:00
Wenkai Yin(尹文开)
edbd2f7231 Merge pull request #4437 from qiuming-best/resource-filtering
Limit backup namespaces on test resource filtering cases
2021-12-09 14:15:18 +08:00
ming qiu
c58fc1445e Limit backup namespaces on test resource filtering cases
Signed-off-by: ming qiu <mqiu@mqiu-a01.vmware.com>
2021-12-09 11:48:32 +08:00
Wenkai Yin(尹文开)
769af3f7b8 Merge pull request #4416 from dsu-igeek/dsu-upload-progress-feature-flag-12-01-2021
Added UploadProgressFeature flag to enable UploadProgressMonitoring
2021-12-08 09:33:36 +08:00
Dave Smith-Uchida
d0e660f435 Added UploadProgressFeature flag to enable UploadProgressMonitoring and ItemSnapshotters
Signed-off-by: Dave Smith-Uchida <dsmithuchida@vmware.com>
2021-12-07 00:06:36 -08:00
Scott Seago
d9f8abcd27 Merge pull request #4431 from reasonerjt/bump-up-go-1.17
Bump up Go to 1.17
2021-12-06 11:48:16 -05:00
Abigail McCarthy
2f8931ed22 Merge pull request #4221 from JGodin-C2C/main
feat: improve documentation for reverse selector
2021-12-06 11:31:13 -05:00
Julien Godin
3e86bf0cc8 feat: improve documentation for reverse selector
Signed-off-by: Julien Godin <julien.godin@camptocamp.com>
2021-12-06 14:36:31 +01:00
Daniel Jiang
a3d196ee85 Bump up Go to 1.17
Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2021-12-06 20:16:24 +08:00
qiuming
ebccca0f1b Merge pull request #4404 from qiuming-best/resource-filtering
Add resource filtering test cases
2021-12-06 15:02:53 +08:00
Ming
0c8063cfd2 Add resoure filtering test cases
Signed-off-by: Ming <mqiu@vmware.com>
2021-12-04 22:47:46 +08:00
David L. Smith-Uchida
91ea996aaa Added ItemSnapshotter to the plugin server framework. (#4417)
Signed-off-by: Dave Smith-Uchida <dsmithuchida@vmware.com>
2021-12-02 14:01:40 -05:00
Neha Viswanathan
dd3206c544 update documentation (#4378)
Signed-off-by: Neha Viswanathan <itsnehavis@gmail.com>
2021-12-02 13:57:59 -05:00
Wenkai Yin(尹文开)
74e9c43514 Merge pull request #4397 from reasonerjt/fix-3516
Add restoreactionitem plugin to handle admission webhook configurations
2021-12-01 14:13:16 +08:00
Daniel Jiang
2a7d4cec6e Add restoreactionitem plugin to handle admission webhook configurations
This commit adds a restore action item plugin to reset invalid value
of "sideEffects" in resource of mutatingwebhookconfiguration and
validating webhookconfiguration.

To fix the problem the "sideEffects" is illegal for resource migrated
from v1beta1.

fixes #3516

Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2021-12-01 00:48:06 +08:00
Aditya Sharma
47aa093a16 Build for darwin_arm64 (#4409)
Signed-off-by: Aditya Sharma <git@adi.run>
2021-11-30 11:27:29 -05:00
Daniel Jiang
02013ef335 Merge pull request #4382 from blackpiglet/4369-bsl-from-kubebuilder-v2-to-v3
feat: migrate velero controller from kubebuilder v2 to v3
2021-11-24 09:35:39 +08:00
Xun Jiang
303d3dcad3 feat: migrate kubebuilder from v2 to v3
1. remove config/crd/v1beta1
2. remove PROJECT file
3. update controller-gen and kubebuilder version
4. generate client and CRD file
5. add changelog and remove v1beta1 CRD generated code.
6. add kubebuilder test bundle setup command.
7. due to apiextensions.k8s.io/v1beta1 is not supported, only k8s after v1.16 is supported, so remove v1.15 check.
8. add CRD and k8s suppored version update in changelog.

Signed-off-by: Xun Jiang <jxun@vmware.com>
2021-11-23 19:32:19 +08:00
Daniel Jiang
48d185985a Update issue template to reference velero debug (#4384)
Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2021-11-22 12:01:24 -05:00
Wenkai Yin(尹文开)
04cfadfb14 Merge pull request #4386 from redenval/e2e-restructure
Adjust structure of e2e test codes
2021-11-22 16:23:34 +08:00
ming qiu
58325050ec Adjust structure of e2e test codes
Put every test moduels into seperate packages and all velero install parameters integrated into one struct

Signed-off-by: Ming <mqiu@vmware.com>
2021-11-22 15:57:58 +08:00
Wenkai Yin(尹文开)
474fd61283 Merge pull request #4376 from reasonerjt/pv-zone-gcp
Add the key for GKE zone for AZ collection
2021-11-22 10:14:04 +08:00
Daniel Jiang
748cf86aa7 Add the key for GKE zone for AZ collection
Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2021-11-20 15:58:31 +08:00
Scott Seago
5f2a32e2a7 Merge pull request #4372 from danfengliu/fix-snapshot-e2e-test-issue
Fix snapshot e2e test issue of jsonpath
2021-11-18 15:49:05 -05:00
danfengl
e09837cc4c Fix snapshot e2e test issue of jsonpath
Signed-off-by: danfengl <danfengl@vmware.com>
2021-11-18 08:54:57 +00:00
Wenkai Yin(尹文开)
11abff4e8d Merge pull request #4341 from blackpiglet/3737-add-logger-for-crd-manager
Fix: add init log option for velero controller-runtime manager.
2021-11-18 13:56:14 +08:00
Xun Jiang/Bruce Jiang
fc29294552 fix: modify generated from schedule's backup name timestamp to UTC ti… (#4353)
* fix: modify generated from schedule's backup name timestamp to UTC timezone

fix #4279
When backup is created from schedule, and the backup name is not specified, a containing-timestamp generated name will be used. Due to velero client not set timezone to UTC, a local timezone will be used for the generated name.

Signed-off-by: Xun Jiang <jxun@vmware.com>

* fix: modify generated from schedule's backup name timestamp to UTC timezone

fix #4279
When backup is created from schedule, and the backup name is not specified, a containing-timestamp generated name will be used. Due to velero client not set timezone to UTC, a local timezone will be used for the generated name.

Signed-off-by: Xun Jiang <jxun@vmware.com>

* fix: modify generated from schedule's backup name timestamp to UTC timezone

fix #4279
When backup is created from schedule, and the backup name is not specified, a containing-timestamp generated name will be used. Due to velero client not set timezone to UTC, a local timezone will be used for the generated name.

Signed-off-by: Xun Jiang <jxun@vmware.com>

* modify changelog description

Reword the changelog description according to comments.

Signed-off-by: Xun Jiang <jxun@vmware.com>

Co-authored-by: jxun <jxun@jxun-a01.vmware.com>
Co-authored-by: Xun Jiang <jxun@vmware.com>
2021-11-17 09:26:49 -05:00
Xun Jiang
2c240c2830 Use logrusr instead of zap.
logrusr is a open source convertor, which can convert logrus logger into logr.
By using logrusr, velero can use exsiting formatted logrus logger, other than introducing zap as a new logger.

Signed-off-by: Xun Jiang <jxun@vmware.com>
2021-11-17 18:10:37 +08:00
David L. Smith-Uchida
5150ce4891 ItemSnapshotter plugin APIs. Addresses #3753 (#4077)
Added ItemSnapshotter.proto
Added item_snapshotter Go interface
Added framework components for item_snapshotter
Updated plugins doc with ItemSnapshotter info
Added SnapshotPhase to item_snapshotter.go
ProgressOutputOutput now includes a phase as well as an error string for problems that occured

Signed-off-by: Dave Smith-Uchida <dsmithuchida@vmware.com>
2021-11-16 16:13:31 -05:00
Frangipani Gold
0a19b394e2 Design doc for delete associated backup and restic repos when BSL is deleted (#4297)
* Update EnableAPIGroupVersion feature design doc as implemented

Signed-off-by: F. Gold <fgold@vmware.com>

* Design doc for issue 2082 to delete associated resources when deleting BSLs

Signed-off-by: F. Gold <fgold@vmware.com>

* Changes per @dsu-igeek review comments

Signed-off-by: F. Gold <fgold@vmware.com>
2021-11-16 09:40:52 -08:00
Scott Seago
3aa204a30d Merge pull request #4350 from reasonerjt/read-pv-az-new
Read Availability zone from nodeAffinity requirements
2021-11-16 08:43:27 -05:00
Xun Jiang
8eee35a62e Fix: add init log option for velero controller-runtime manager.
fix for issue #3737
add log option for velero controller-runtime manager to log return error in reconcile loop.

Signed-off-by: Xun Jiang jxun@vmware.com
Signed-off-by: Xun Jiang <jxun@vmware.com>
2021-11-16 15:42:00 +08:00
Xun Jiang
7b89950031 Fix: add init log option for velero controller-runtime manager.
fix for issue #3737
add log option for velero controller-runtime manager to log return error in reconcile loop.

Signed-off-by: Xun Jiang jxun@vmware.com
Signed-off-by: Xun Jiang <jxun@vmware.com>
2021-11-16 15:37:43 +08:00
Daniel Jiang
5878a52843 Read Availability zone from nodeAffinity requirements
Velero to read the AZ info from `NodeAffinity` of a PV when it's taking
the snapshot.

Fixes #4332

Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2021-11-16 09:44:12 +08:00
Bruce
71d482360f Use factory.Namespace() to replace hardcoded velero namespace (#4346)
* Use factory.Namespace() to replace hardcoded velero namespace

Signed-off-by: half-life666 <half-life@jibudata.com>

* Add change log for pr 4346

Signed-off-by: half-life666 <half-life@jibudata.com>
2021-11-15 20:36:29 -05:00
Wenkai Yin(尹文开)
7c4e03e9f9 Ignore the provided port is already allocated error when restoring the NodePort service (#4336)
Fixes #2308

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2021-11-15 20:25:04 +08:00
Daniel Jiang
130602d723 Return the error if velero failed to detect S3 region for restic repo (#4343)
The error should be returned explicitly, because when the default URL is
used S3 will return a 301 and the response can't be handled by restic.

Fixes #4178

Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2021-11-15 20:20:27 +08:00
jxun
4a1943f6c9 Fix: add init log option for velero controller-runtime manager.
fix for issue #3737
add log option for velero controller-runtime manager to log return error in reconcile loop.

Signed-off-by: Xun Jiang jxun@vmware.com
Signed-off-by: jxun <jxun@jxun-a01.vmware.com>
2021-11-15 14:07:27 +08:00
Scott Seago
983489073f PV remapClaimRefNS was being skipped when there was no snapshot (#3708)
Signed-off-by: Scott Seago <sseago@redhat.com>
2021-11-09 20:30:16 -05:00
Wenkai Yin(尹文开)
27f3a6d8d8 Check the failed phases either when uploading the snapshot in E2E testing (#4162)
When the snapshot uploading is failed, it should not be treat as completed and continue.
This commit covers both the phases of in progress and failed when uploading snapshot with vSphere plugin

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2021-11-09 17:13:30 -08:00
Bridget McErlean
e4019f26c1 Only set BSL credential field if provided (#4322)
Previously, the BSL credential field would always be set when using the
`create` command, even if no credential details were provided. This
would result in an empty `SecretKeySelector` in the BSL which would
cause operations using this BSL to fail as Velero would attempt to fetch
a `Secret` with an empty name from the K8s API server.

With this change, the `Credential` field is only set if credential
details have been specified. This change also includes some refactoring
to allow the change to be tested.

Signed-off-by: Bridget McErlean <bmcerlean@vmware.com>
2021-11-09 17:04:58 -08:00
Wenkai Yin(尹文开)
6801ddc9ac Merge pull request #4306 from alaypatel07/fix-paging
fix buggy pager func
2021-11-10 07:53:58 +08:00
Alay Patel
569fc1dc5b add 4306 changelog
Signed-off-by: Alay Patel <alay1431@gmail.com>
2021-11-09 10:34:26 -05:00
Alay Patel
b2fe7fe304 - fix buggy pager func
fix paging items in to use list options passed by the paging function

The client-go pager sets the Limit options for the list call
to paginate the request[1]. This PR fixes the paging function
to use the options passed by the pager instead of shadowed options
This is required for the pagination to work correctly.

- simplify the pager list implementation by using pager.List()
The List() function already implements a lot of the logic that was
needed for paging here, using it simplifies the code.

1. 3f40906dd8/staging/src/k8s.io/client-go/tools/pager/pager.go (L219)

Signed-off-by: Alay Patel <alay1431@gmail.com>
2021-11-09 10:34:26 -05:00
MatthieuFin
08e4138c16 Fix lint issue and test failed
Signed-off-by: MatthieuFin <matthieu2717@gmail.com>
2021-08-31 17:43:09 +02:00
MatthieuFin
338af4e584 update dependancies
Signed-off-by: MatthieuFin <matthieu2717@gmail.com>
2021-08-31 17:27:18 +02:00
MatthieuFin
c4e53b9365 add changelog
Signed-off-by: MatthieuFin <matthieu2717@gmail.com>
2021-08-31 17:25:20 +02:00
MatthieuFin
b0fb9f799b Add doc for new secCtx cm key and missing secCtxAllowPrivilegeEscalation.
Signed-off-by: MatthieuFin <matthieu2717@gmail.com>
2021-08-31 17:21:12 +02:00
MatthieuFin
effa09a42f Add full support for setting securityContext for restic restore container
Signed-off-by: MatthieuFin <matthieu2717@gmail.com>
2021-08-31 17:03:25 +02:00
1755 changed files with 192644 additions and 27532 deletions

View File

@@ -5,15 +5,18 @@ about: Tell us about a problem you are experiencing
---
**What steps did you take and what happened:**
[A clear and concise description of what the bug is, and what commands you ran.)
<!--A clear and concise description of what the bug is, and what commands you ran.-->
**What did you expect to happen:**
**The following information will help us better understand what's going on**:
**The output of the following commands will help us better understand what's going on**:
(Pasting long output into a [GitHub gist](https://gist.github.com) or other pastebin is fine.)
_If you are using velero v1.7.0+:_
Please use `velero debug --backup <backupname> --restore <restorename>` to generate the support bundle, and attach to this issue, more options please refer to `velero debug --help`
_If you are using earlier versions:_
Please provide the output of the following commands (Pasting long output into a [GitHub gist](https://gist.github.com) or other pastebin is fine.)
- `kubectl logs deployment/velero -n velero`
- `velero backup describe <backupname>` or `kubectl get backup/<backupname> -n velero -o yaml`
- `velero backup logs <backupname>`
@@ -22,7 +25,7 @@ about: Tell us about a problem you are experiencing
**Anything else you would like to add:**
[Miscellaneous information that will assist in solving the issue.]
<!--Miscellaneous information that will assist in solving the issue.-->
**Environment:**

View File

@@ -5,15 +5,15 @@ about: Suggest an idea for this project
---
**Describe the problem/challenge you have**
[A description of the current limitation/problem/challenge that you are experiencing.]
<!--A description of the current limitation/problem/challenge that you are experiencing.-->
**Describe the solution you'd like**
[A clear and concise description of what you want to happen.]
<!--A clear and concise description of what you want to happen.-->
**Anything else you would like to add:**
[Miscellaneous information that will assist in solving the issue.]
<!--Miscellaneous information that will assist in solving the issue.-->
**Environment:**

View File

@@ -9,15 +9,20 @@ reviewers:
groups:
maintainers:
- zubron
- dsu-igeek
- jenting
- sseago
- reasonerjt
- ywk253100
- blackpiglet
- qiuming-best
- shubham-pampattiwar
- Lyndon-Li
- anshulahuja98
tech-writer:
- a-mccarthy
- sseago
- reasonerjt
- ywk253100
- Lyndon-Li
files:
'site/**':

21
.github/dependabot.yml vendored Normal file
View File

@@ -0,0 +1,21 @@
version: 2
updates:
# Dependencies listed in .github/workflows
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
labels:
- "Dependencies"
- "github_actions"
- "kind/changelog-not-required"
# Dependencies listed in go.mod
- package-ecosystem: "gomod"
directory: "/" # Location of package manifests
schedule:
interval: "weekly"
labels:
- "kind/changelog-not-required"
ignore:
- dependency-name: "*"
update-types: ["version-update:semver-major", "version-update:semver-minor", "version-update:semver-patch"]

33
.github/labeler.yml vendored Normal file
View File

@@ -0,0 +1,33 @@
# This file is used by Auto Label PRs action.
# Works with https://github.com/actions/labeler/
# Below this line, the keys are labels to be applied, and the values are the file globs to match against.
# Anything in the `design` directory gets the `Design` label.
Area/Design:
- changed-files:
- any-glob-to-any-file: design/*
# Anything that has plugin infra will be labeled.
# Individual plugins don't necessarily live here, though
Area/Plugins:
- changed-files:
- any-glob-to-any-file: pkg/plugins/**/*
Dependencies:
- changed-files:
- any-glob-to-any-file: go.mod
Documentation:
- changed-files:
- any-glob-to-any-file: site/content/docs/**/*
# Anything in the site directory gets the website label *EXCEPT* docs
Website:
- all:
- changed-files:
- any-glob-to-any-file: site/**/*
- all-globs-to-all-files: '!site/content/docs/**/*'
has-changelog:
- changed-files:
- any-glob-to-any-file: changelogs/**
has-e2e-2tests:
- changed-files:
- any-glob-to-any-file: test/e2e/**/*
has-unit-tests:
- changed-files:
- any-glob-to-any-file: pkg/**/*_test.go

43
.github/labels.yaml vendored Normal file
View File

@@ -0,0 +1,43 @@
# This file is used by [prow github action](https://github.com/jpmcb/prow-github-actions/) in .github/workflows/prow-action.yml.
# This file only has values for kind and area commands.
area:
- CLI
- CSI
- Cloud/AWS
- Cloud/Azure
- Cloud/DigitalOcean
- Cloud/GCP
- Cloud/vSphere
- Design
- Documentation
- Filters
- Plugins
- Process
- Storage/Minio
- Storage/Cinder
- WindowsSupport
- datamover
- fs-backup
- fs-backup/deletion
- fs-backup/file-selectable
- fs-uploader
- kopia-integration
- migration
- multi-tenancy
- progress-monitoring
- resilience
- schedule
- storage/IBM-ObjectStorage
- upgrade
- volume-snapshot-dm
kind:
- changelog-not-required
- question
- refactor
- requirement
- release-note
- release-blocker
- spike
- tech-debt
- usage-error
- voting

41
.github/labels.yml vendored
View File

@@ -1,41 +0,0 @@
area:
- "Cloud/AWS"
- "Cloud/GCP"
- "Cloud/Azure"
- "Design"
- "Plugins"
# Labels that can be applied to PRs with the /kind command
kind:
- "changelog-not-required"
- "tech-debt"
# Works with https://github.com/actions/labeler/
# Below this line, the keys are labels to be applied, and the values are the file globs to match against.
# Anything in the `design` directory gets the `Design` label.
Area/Design:
- design/*
# Anything in the site directory gets the website label *EXCEPT* docs
Website:
- any: ["site/**/*", "!site/content/docs/**/*"]
Documentation:
- site/content/docs/**/*
Dependencies:
- go.mod
# Anything that has plugin infra will be labeled.
# Individual plugins don't necessarily live here, though
Area/Plugins:
- "pkg/plugins/**/*"
has-unit-tests:
- "pkg/**/*_test.go"
has-e2e-2tests:
- "test/e2e/**/*"
has-changelog:
- "changelogs/**"

View File

@@ -9,5 +9,5 @@ Fixes #(issue)
# Please indicate you've done the following:
- [ ] [Accepted the DCO](https://velero.io/docs/v1.5/code-standards/#dco-sign-off). Commits without the DCO will delay acceptance.
- [ ] [Created a changelog file](https://velero.io/docs/v1.5/code-standards/#adding-a-changelog) or added `/kind changelog-not-required`.
- [ ] [Created a changelog file](https://velero.io/docs/v1.5/code-standards/#adding-a-changelog) or added `/kind changelog-not-required` as a comment on this pull request.
- [ ] Updated the corresponding documentation in `site/content/docs/main`.

38
.github/stale.yml vendored
View File

@@ -1,38 +0,0 @@
# Number of days of inactivity before an issue becomes stale
daysUntilStale: 60
# Number of days of inactivity before a stale issue is closed
daysUntilClose: 14
# Issues with these labels will never be considered stale
exemptLabels:
- Epic
- Area/CLI
- Area/Cloud/AWS
- Area/Cloud/Azure
- Area/Cloud/GCP
- Area/Cloud/vSphere
- Area/CSI
- Area/Design
- Area/Documentation
- Area/Plugins
- Enhancement/User
- kind/tech-debt
- Needs investigation
- P0 - Hair on fire
- P1 - Important
- P2 - Long-term important
- P3 - Wouldn't it be nice if...
- Product Requirements
- Restic - GA
- Restic
- release-blocker
- Security
# Label to use when marking an issue as stale
staleLabel: staled
# Comment to post when marking an issue as stale. Set to `false` to disable
markComment: >
This issue has been automatically marked as stale because it has not had
recent activity. It will be closed if no further activity occurs. Thank you
for your contributions.
# Comment to post when closing a stale issue. Set to `false` to disable
closeComment: >
Closing the stale issue.

View File

@@ -13,7 +13,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Set the author of a PR as the assignee
uses: kentaro-m/auto-assign-action@v1.1.1
uses: kentaro-m/auto-assign-action@v2.0.0
with:
configuration-path: ".github/auto-assignees.yml"
repo-token: "${{ secrets.GITHUB_TOKEN }}"

View File

@@ -13,7 +13,7 @@ jobs:
triage:
runs-on: ubuntu-latest
steps:
- uses: actions/labeler@v3
- uses: actions/labeler@v5
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"
configuration-path: .github/labels.yml
configuration-path: .github/labeler.yml

View File

@@ -11,7 +11,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Request a PR review based on files types/paths, and/or groups the author belongs to
uses: necojackarc/auto-request-review@v0.7.0
uses: necojackarc/auto-request-review@v0.13.0
with:
token: ${{ secrets.GITHUB_TOKEN }}
config: .github/auto-assignees.yml

View File

@@ -12,14 +12,14 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Set up Go
uses: actions/setup-go@v2
uses: actions/setup-go@v5
with:
go-version: 1.16
go-version: '1.22.6'
id: go
# Look for a CLI that's made for this PR
- name: Fetch built CLI
id: cache
uses: actions/cache@v2
uses: actions/cache@v4
env:
cache-name: cache-velero-cli
with:
@@ -31,7 +31,7 @@ jobs:
velero-${{ github.event.pull_request.number }}-
- name: Fetch cached go modules
uses: actions/cache@v2
uses: actions/cache@v4
if: steps.cache.outputs.cache-hit != 'true'
with:
path: ~/go/pkg/mod
@@ -40,7 +40,7 @@ jobs:
${{ runner.os }}-go-
- name: Check out the code
uses: actions/checkout@v2
uses: actions/checkout@v4
if: steps.cache.outputs.cache-hit != 'true'
# If no binaries were built for this PR, build it now.
@@ -49,7 +49,7 @@ jobs:
run: |
make local
# Check the common CLI against all kubernetes versions
# Check the common CLI against all Kubernetes versions
crd-check:
needs: build-cli
runs-on: ubuntu-latest
@@ -57,20 +57,19 @@ jobs:
matrix:
# Latest k8s versions. There's no series-based tag, nor is there a latest tag.
k8s:
- 1.15.12
- 1.16.15
- 1.17.17
- 1.18.15
- 1.19.7
- 1.20.2
- 1.21.1
- 1.22.0
- 1.23.17
- 1.24.17
- 1.25.16
- 1.26.13
- 1.27.10
- 1.28.6
- 1.29.1
# All steps run in parallel unless otherwise specified.
# See https://docs.github.com/en/actions/learn-github-actions/managing-complex-workflows#creating-dependent-jobs
steps:
- name: Fetch built CLI
id: cache
uses: actions/cache@v2
uses: actions/cache@v4
env:
cache-name: cache-velero-cli
with:
@@ -82,7 +81,7 @@ jobs:
velero-${{ github.event.pull_request.number }}-
- uses: engineerd/setup-kind@v0.5.0
with:
version: "v0.11.1"
version: "v0.21.0"
image: "kindest/node:v${{ matrix.k8s }}"
- name: Install CRDs
run: |

View File

@@ -12,27 +12,27 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Set up Go
uses: actions/setup-go@v2
uses: actions/setup-go@v5
with:
go-version: 1.16
go-version: '1.22.6'
id: go
# Look for a CLI that's made for this PR
- name: Fetch built CLI
id: cli-cache
uses: actions/cache@v2
uses: actions/cache@v4
with:
path: ./_output/bin/linux/amd64/velero
# The cache key a combination of the current PR number and the commit SHA
key: velero-cli-${{ github.event.pull_request.number }}-${{ github.sha }}
- name: Fetch built image
id: image-cache
uses: actions/cache@v2
uses: actions/cache@v4
with:
path: ./velero.tar
# The cache key a combination of the current PR number and the commit SHA
key: velero-image-${{ github.event.pull_request.number }}-${{ github.sha }}
- name: Fetch cached go modules
uses: actions/cache@v2
uses: actions/cache@v4
if: steps.cli-cache.outputs.cache-hit != 'true'
with:
path: ~/go/pkg/mod
@@ -40,7 +40,7 @@ jobs:
restore-keys: |
${{ runner.os }}-go-
- name: Check out the code
uses: actions/checkout@v2
uses: actions/checkout@v4
if: steps.cli-cache.outputs.cache-hit != 'true' || steps.image-cache.outputs.cache-hit != 'true'
# If no binaries were built for this PR, build it now.
- name: Build Velero CLI
@@ -53,47 +53,55 @@ jobs:
run: |
IMAGE=velero VERSION=pr-test make container
docker save velero:pr-test -o ./velero.tar
# Run E2E test against all kubernetes versions on kind
# Run E2E test against all Kubernetes versions on kind
run-e2e-test:
needs: build
runs-on: ubuntu-latest
strategy:
matrix:
k8s:
# doesn't cover 1.15 as 1.15 doesn't support "apiextensions.k8s.io/v1" that is needed for the case
#- 1.15.12
- 1.16.15
- 1.17.17
- 1.18.15
- 1.19.7
- 1.20.2
- 1.21.1
- 1.22.0
- 1.23.17
- 1.24.17
- 1.25.16
- 1.26.13
- 1.27.10
- 1.28.6
- 1.29.1
focus:
# tests to focus on, use `|` to concatenate multiple regexes to run on the same job
# ordered according to e2e_suite_test.go order
- Basic\]\[ClusterResource
- ResourceFiltering
- ResourceModifier|Backups|PrivilegesMgmt\]\[SSR
- Schedule\]\[OrderedResources
- NamespaceMapping\]\[Single\]\[Restic|NamespaceMapping\]\[Multiple\]\[Restic
- Basic\]\[Nodeport
- Basic\]\[StorageClass
fail-fast: false
steps:
- name: Set up Go
uses: actions/setup-go@v2
uses: actions/setup-go@v5
with:
go-version: 1.16
go-version: '1.22.6'
id: go
- name: Check out the code
uses: actions/checkout@v2
uses: actions/checkout@v4
- name: Install MinIO
run:
docker run -d --rm -p 9000:9000 -e "MINIO_ACCESS_KEY=minio" -e "MINIO_SECRET_KEY=minio123" -e "MINIO_DEFAULT_BUCKETS=bucket,additional-bucket" bitnami/minio:2021.6.17-debian-10-r7
- uses: engineerd/setup-kind@v0.5.0
with:
version: "v0.11.1"
version: "v0.21.0"
image: "kindest/node:v${{ matrix.k8s }}"
- name: Fetch built CLI
id: cli-cache
uses: actions/cache@v2
uses: actions/cache@v4
with:
path: ./_output/bin/linux/amd64/velero
key: velero-cli-${{ github.event.pull_request.number }}-${{ github.sha }}
- name: Fetch built Image
id: image-cache
uses: actions/cache@v2
uses: actions/cache@v4
with:
path: ./velero.tar
key: velero-image-${{ github.event.pull_request.number }}-${{ github.sha }}
@@ -102,7 +110,7 @@ jobs:
kind load image-archive velero.tar
# always try to fetch the cached go modules as the e2e test needs it either
- name: Fetch cached go modules
uses: actions/cache@v2
uses: actions/cache@v4
with:
path: ~/go/pkg/mod
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
@@ -115,10 +123,23 @@ jobs:
aws_access_key_id=minio
aws_secret_access_key=minio123
EOF
# Match kubectl version to k8s server version
curl -LO https://dl.k8s.io/release/v${{ matrix.k8s }}/bin/linux/amd64/kubectl
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
GOPATH=~/go CLOUD_PROVIDER=kind \
OBJECT_STORE_PROVIDER=aws BSL_CONFIG=region=minio,s3ForcePathStyle="true",s3Url=http://$(hostname -i):9000 \
CREDS_FILE=/tmp/credential BSL_BUCKET=bucket \
ADDITIONAL_OBJECT_STORE_PROVIDER=aws ADDITIONAL_BSL_CONFIG=region=minio,s3ForcePathStyle="true",s3Url=http://$(hostname -i):9000 \
ADDITIONAL_CREDS_FILE=/tmp/credential ADDITIONAL_BSL_BUCKET=additional-bucket \
GINKGO_FOCUS=Basic VELERO_IMAGE=velero:pr-test \
make -C test/e2e run
GINKGO_FOCUS='${{ matrix.focus }}' VELERO_IMAGE=velero:pr-test \
GINKGO_SKIP='SKIP_KIND|pv-backup|Restic|Snapshot|LongTime' \
make -C test/ run-e2e
timeout-minutes: 30
- name: Upload debug bundle
if: ${{ failure() }}
uses: actions/upload-artifact@v4
with:
name: DebugBundle
path: /home/runner/work/velero/velero/test/e2e/debug-bundle*

View File

@@ -1,18 +0,0 @@
name: Add issues with a milestone to the milestone's board
on:
issues:
types: [milestoned]
jobs:
automate-project-columns:
runs-on: ubuntu-latest
steps:
- uses: alex-page/github-project-automation-plus@v0.3.0
with:
# Do NOT add PRs to the board, as that's duplication. Their corresponding issue should be on the board.
if: ${{ !github.event.issue.pull_request }}
project: "${{ github.event.issue.milestone.title }}"
column: "To Do"
repo-token: ${{ secrets.GH_TOKEN }}

View File

@@ -0,0 +1,36 @@
name: Trivy Nightly Scan
on:
schedule:
- cron: '0 2 * * *' # run at 2 AM UTC
jobs:
nightly-scan:
name: Trivy nightly scan
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
# maintain the versions of Velero those need security scan
versions: [main]
# list of images that need scan
images: [velero, velero-restore-helper]
permissions:
security-events: write # for github/codeql-action/upload-sarif to upload SARIF results
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Run Trivy vulnerability scanner
uses: aquasecurity/trivy-action@master
with:
image-ref: 'docker.io/velero/${{ matrix.images }}:${{ matrix.versions }}'
severity: 'CRITICAL,HIGH,MEDIUM'
format: 'template'
template: '@/contrib/sarif.tpl'
output: 'trivy-results.sarif'
- name: Upload Trivy scan results to GitHub Security tab
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: 'trivy-results.sarif'

View File

@@ -1,15 +0,0 @@
name: Move new issues into Triage
on:
issues:
types: [opened]
jobs:
automate-project-columns:
runs-on: ubuntu-latest
steps:
- uses: alex-page/github-project-automation-plus@v0.3.0
with:
project: "Velero Support Board"
column: "New"
repo-token: ${{ secrets.GH_TOKEN }}

View File

@@ -1,5 +1,9 @@
name: Pull Request Changelog Check
on: [pull_request]
# by setting `on: [pull_request]`, that means action will be trigger when PR is opened, synchronize, reopened.
# Add labeled and unlabeled events too.
on:
pull_request:
types: [opened, synchronize, reopened, labeled, unlabeled]
jobs:
build:
@@ -8,7 +12,7 @@ jobs:
steps:
- name: Check out the code
uses: actions/checkout@v2
uses: actions/checkout@v4
- name: Changelog check
if: ${{ !(contains(github.event.pull_request.labels.*.name, 'kind/changelog-not-required') || contains(github.event.pull_request.labels.*.name, 'Design') || contains(github.event.pull_request.labels.*.name, 'Website') || contains(github.event.pull_request.labels.*.name, 'Documentation'))}}

View File

@@ -4,16 +4,18 @@ jobs:
build:
name: Run CI
runs-on: ubuntu-latest
strategy:
fail-fast: false
steps:
- name: Set up Go
uses: actions/setup-go@v2
uses: actions/setup-go@v5
with:
go-version: 1.16
go-version: '1.22.6'
id: go
- name: Check out the code
uses: actions/checkout@v2
uses: actions/checkout@v4
- name: Fetch cached go modules
uses: actions/cache@v2
uses: actions/cache@v4
with:
path: ~/go/pkg/mod
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
@@ -21,3 +23,10 @@ jobs:
${{ runner.os }}-go-
- name: Make ci
run: make ci
- name: Upload test coverage
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: coverage.out
verbose: true
fail_ci_if_error: true

View File

@@ -8,13 +8,50 @@ jobs:
steps:
- name: Check out the code
uses: actions/checkout@v2
uses: actions/checkout@v4
- name: Codespell
uses: codespell-project/actions-codespell@master
with:
# ignore the config/.../crd.go file as it's generated binary data that is edited elswhere.
skip: .git,*.png,*.jpg,*.woff,*.ttf,*.gif,*.ico,./config/crd/v1beta1/crds/crds.go,./config/crd/v1/crds/crds.go
ignore_words_list: iam,aks,ist,bridget,ue
skip: .git,*.png,*.jpg,*.woff,*.ttf,*.gif,*.ico,./config/crd/v1beta1/crds/crds.go,./config/crd/v1/crds/crds.go,./config/crd/v2alpha1/crds/crds.go,./go.sum,./LICENSE
ignore_words_list: iam,aks,ist,bridget,ue,shouldnot,atleast,notin,sme
check_filenames: true
check_hidden: true
- name: Velero.io word list check
shell: bash {0}
run: |
IGNORE_COMMENT="Velero.io word list : ignore"
FILES_TO_CHECK=$(find . -type f \
! -path "./.git/*" \
! -path "./site/content/docs/v*" \
! -path "./changelogs/CHANGELOG-*" \
! -path "./.github/workflows/pr-codespell.yml" \
! -path "./site/static/fonts/Metropolis/Open Font License.md" \
! -regex '.*\.\(png\|jpg\|woff\|ttf\|gif\|ico\|svg\)'
)
function check_word_in_files() {
local word=$1
xargs grep -Iinr "$word" <<< "$FILES_TO_CHECK" | \
grep -v "$IGNORE_COMMENT" | \
grep -i --color=always "$word" && \
EXIT_STATUS=1
}
function check_word_case_sensitive_in_files() {
local word=$1
xargs grep -Inr "$word" <<< "$FILES_TO_CHECK" | \
grep -v "$IGNORE_COMMENT" | \
grep --color=always "$word" && \
EXIT_STATUS=1
}
EXIT_STATUS=0
check_word_case_sensitive_in_files ' kubernetes '
check_word_in_files 'on-premise\b'
check_word_in_files 'back-up'
check_word_in_files 'plug-in'
check_word_in_files 'whitelist'
check_word_in_files 'blacklist'
exit $EXIT_STATUS

37
.github/workflows/pr-containers.yml vendored Normal file
View File

@@ -0,0 +1,37 @@
name: build Velero containers on Dockerfile change
on:
pull_request:
branches:
- 'main'
- 'release-**'
paths:
- 'Dockerfile'
jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
name: Checkout
- name: Set up QEMU
id: qemu
uses: docker/setup-qemu-action@v3
with:
platforms: all
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3
with:
version: latest
# Although this action also calls docker-push.sh, it is not triggered
# by push, so BRANCH and TAG are empty by default. docker-push.sh will
# only build Velero image without pushing.
- name: Make Velero container without pushing to registry.
if: github.repository == 'vmware-tanzu/velero'
run: |
./hack/docker-push.sh

29
.github/workflows/pr-goreleaser.yml vendored Normal file
View File

@@ -0,0 +1,29 @@
name: Verify goreleaser change
on:
pull_request:
branches:
- 'main'
- 'release-**'
paths:
- '.goreleaser.yml'
- 'hack/release-tools/goreleaser.sh'
jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
name: Checkout
- name: Verify .goreleaser.yml and try a dryrun release.
if: github.repository == 'vmware-tanzu/velero'
run: |
CHANGELOG=$(ls changelogs | sort -V -r | head -n 1)
GITHUB_TOKEN=${{ secrets.GITHUB_TOKEN }} \
REGISTRY=velero \
RELEASE_NOTES_FILE=changelogs/$CHANGELOG \
PUBLISH=false \
make release

View File

@@ -6,9 +6,15 @@ jobs:
name: Run Linter Check
runs-on: ubuntu-latest
steps:
- name: Check out the code
uses: actions/checkout@v2
- name: Linter check
run: make lint
- name: Check out the code
uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: 'go.mod'
id: go
- name: Linter check
uses: golangci/golangci-lint-action@v6
with:
version: v1.57.2
args: --verbose

View File

@@ -9,12 +9,21 @@ jobs:
execute:
runs-on: ubuntu-latest
steps:
- uses: jpmcb/prow-github-actions@v1.1.2
- uses: jpmcb/prow-github-actions@v1.1.3
with:
# Only support /kind command for now.
# TODO: before allowing the /lgtm command, see if we can block merging if changelog labels are missing.
prow-commands: "/area
/kind
prow-commands: |
/approve
/area
/assign
/cc
/uncc"
/close
/hold
/kind
/milestone
/retitle
/remove
/reopen
/uncc
/unassign
github-token: "${{ secrets.GITHUB_TOKEN }}"

View File

@@ -12,7 +12,16 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- uses: actions/checkout@v4
with:
# The default value is "1" which fetches only a single commit. If we merge PR without squash or rebase,
# there are at least two commits: the first one is the merge commit and the second one is the real commit
# contains the changes.
# As we use the Dockerfile's commit ID as the tag of the build-image, fetching only 1 commit causes the merge
# commit ID to be the tag.
# While when running make commands locally, as the local git repository usually contains all commits, the Dockerfile's
# commit ID is the second one. This is mismatch with the images in Dockerhub
fetch-depth: 2
- name: Build
run: make build-image

View File

@@ -2,7 +2,9 @@ name: Main CI
on:
push:
branches: [ main ]
branches:
- 'main'
- 'release-**'
tags:
- '*'
@@ -14,35 +16,93 @@ jobs:
steps:
- name: Set up Go
uses: actions/setup-go@v2
uses: actions/setup-go@v5
with:
go-version: 1.16
go-version: '1.22.6'
id: go
- name: Check out code into the Go module directory
uses: actions/checkout@v2
- uses: actions/checkout@v4
# Fix issue of setup-gcloud
- run: |
sudo apt-get install python2.7
export CLOUDSDK_PYTHON="/usr/bin/python2"
- id: 'auth'
uses: google-github-actions/auth@v2
with:
credentials_json: '${{ secrets.GCS_SA_KEY }}'
- name: 'set up GCloud SDK'
uses: google-github-actions/setup-gcloud@v2
- name: 'use gcloud CLI'
run: |
gcloud info
- name: Set up QEMU
id: qemu
uses: docker/setup-qemu-action@v1
uses: docker/setup-qemu-action@v3
with:
platforms: all
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v1
uses: docker/setup-buildx-action@v3
with:
version: latest
- name: Build
run: make local
run: |
make local
# Clean go cache to ease the build environment storage pressure.
go clean -modcache -cache
- name: Test
run: make test
- name: Upload test coverage
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: coverage.out
verbose: true
# Use the JSON key in secret to login gcr.io
- uses: 'docker/login-action@v3'
with:
registry: 'gcr.io' # or REGION.docker.pkg.dev
username: '_json_key'
password: '${{ secrets.GCR_SA_KEY }}'
# Only try to publish the container image from the root repo; forks don't have permission to do so and will always get failures.
- name: Publish container image
if: github.repository == 'vmware-tanzu/velero'
run: |
sudo swapoff -a
sudo rm -f /mnt/swapfile
docker system prune -a --force
# Build and push Velero image to docker registry
docker login -u ${{ secrets.DOCKER_USER }} -p ${{ secrets.DOCKER_PASSWORD }}
./hack/docker-push.sh
VERSION=$(./hack/docker-push.sh | grep 'VERSION:' | awk -F: '{print $2}' | xargs)
# Upload Velero image package to GCS
source hack/ci/build_util.sh
BIN=velero
RESTORE_HELPER_BIN=velero-restore-helper
GCS_BUCKET=velero-builds
VELERO_IMAGE=${BIN}-${VERSION}
VELERO_RESTORE_HELPER_IMAGE=${RESTORE_HELPER_BIN}-${VERSION}
VELERO_IMAGE_FILE=${VELERO_IMAGE}.tar.gz
VELERO_RESTORE_HELPER_IMAGE_FILE=${VELERO_RESTORE_HELPER_IMAGE}.tar.gz
VELERO_IMAGE_BACKUP_FILE=${VELERO_IMAGE}-'build.'${GITHUB_RUN_NUMBER}.tar.gz
VELERO_RESTORE_HELPER_IMAGE_BACKUP_FILE=${VELERO_RESTORE_HELPER_IMAGE}-'build.'${GITHUB_RUN_NUMBER}.tar.gz
cp ${VELERO_IMAGE_FILE} ${VELERO_IMAGE_BACKUP_FILE}
cp ${VELERO_RESTORE_HELPER_IMAGE_FILE} ${VELERO_RESTORE_HELPER_IMAGE_BACKUP_FILE}
uploader ${VELERO_IMAGE_FILE} ${GCS_BUCKET}
uploader ${VELERO_RESTORE_HELPER_IMAGE_FILE} ${GCS_BUCKET}
uploader ${VELERO_IMAGE_BACKUP_FILE} ${GCS_BUCKET}
uploader ${VELERO_RESTORE_HELPER_IMAGE_BACKUP_FILE} ${GCS_BUCKET}

View File

@@ -9,10 +9,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout the latest code
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Automatic Rebase
uses: cirrus-actions/rebase@1.3.1
uses: cirrus-actions/rebase@1.8
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -1,24 +1,23 @@
name: "Close stale issues and PRs"
on:
schedule:
# First of every month
- cron: "30 1 * * *"
- cron: "30 1 * * *" # Every day at 1:30 UTC
jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v3
- uses: actions/stale@v9.0.0
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
stale-issue-message: "This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 5 days. If a Velero team member has requested log or more information, please provide the output of the shared commands."
close-issue-message: "This issue was closed because it has been stalled for 5 days with no activity."
days-before-issue-stale: 30
days-before-issue-close: 5
stale-issue-message: "This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 14 days. If a Velero team member has requested log or more information, please provide the output of the shared commands."
close-issue-message: "This issue was closed because it has been stalled for 14 days with no activity."
days-before-issue-stale: 60
days-before-issue-close: 14
stale-issue-label: staled
# Disable stale PRs for now; they can remain open.
days-before-pr-stale: -1
days-before-pr-close: -1
# Only issues made after Feb 09 2021.
start-date: "2021-09-02T00:00:00"
# Only make issues stale if they have these labels. Comma separated.
only-labels: "Needs info,Duplicate"
exempt-issue-labels: "Epic,Area/CLI,Area/Cloud/AWS,Area/Cloud/Azure,Area/Cloud/GCP,Area/Cloud/vSphere,Area/CSI,Area/Design,Area/Documentation,Area/Plugins,Bug,Enhancement/User,kind/requirement,kind/refactor,kind/tech-debt,limitation,Needs investigation,Needs triage,Needs Product,P0 - Hair on fire,P1 - Important,P2 - Long-term important,P3 - Wouldn't it be nice if...,Product Requirements,Restic - GA,Restic,release-blocker,Security"

8
.gitignore vendored
View File

@@ -38,6 +38,7 @@ _testmain.go
# Hugo compiled data
site/public
site/resources
site/.hugo_build.lock
.vs
@@ -46,5 +47,10 @@ _tiltbuild
tilt-resources/tilt-settings.json
tilt-resources/velero_v1_backupstoragelocation.yaml
tilt-resources/deployment.yaml
tilt-resources/restic.yaml
tilt-resources/node-agent.yaml
tilt-resources/cloud
# test generated files
test/e2e/report.xml
coverage.out
__debug_bin*

View File

@@ -7,42 +7,16 @@ run:
concurrency: 4
# timeout for analysis, e.g. 30s, 5m, default is 1m
timeout: 5m
timeout: 20m
# exit code when at least one issue was found, default is 1
issues-exit-code: 1
# include test files or not, default is true
tests: true
# list of build tags, all linters use it. Default is empty list.
#build-tags:
# - mytag
# which dirs to skip: issues from them won't be reported;
# can use regexp here: generated.*, regexp is applied on full path;
# default value is empty list, but default dirs are skipped independently
# from this option's value (see skip-dirs-use-default).
# "/" will be replaced by current OS file path separator to properly work
# on Windows.
#skip-dirs:
# - src/external_libs
# - autogenerated_by_my_lib
# default is true. Enables skipping of directories:
# vendor$, third_party$, testdata$, examples$, Godeps$, builtin$
skip-dirs-use-default: true
# which files to skip: they will be analyzed, but issues from them
# won't be reported. Default value is empty list, but there is
# no need to include all autogenerated files, we confidently recognize
# autogenerated files. If it's not please let us know.
# "/" will be replaced by current OS file path separator to properly work
# on Windows.
# skip-files:
# - ".*\\.my\\.go$"
# - lib/bad.go
# by default isn't set. If set we pass it to "go list -mod={option}". From "go help modules":
# If invoked with -mod=readonly, the go command is disallowed from the implicit
# automatic updating of go.mod described above. Instead, it fails when any changes
@@ -62,7 +36,9 @@ run:
# output configuration options
output:
# colored-line-number|line-number|json|tab|checkstyle|code-climate, default is "colored-line-number"
format: colored-line-number
formats:
- format: colored-line-number
path: stdout
# print lines of code with issue, default is true
print-issued-lines: true
@@ -117,7 +93,7 @@ linters-settings:
# minimal length of string constant, 3 by default
min-len: 3
# minimal occurrences count to trigger, 3 by default
min-occurrences: 3
min-occurrences: 5
gocritic:
# Which checks should be enabled; can't be combined with 'disabled-checks';
# See https://go-critic.github.io/overview#checks-overview
@@ -166,10 +142,8 @@ linters-settings:
# minimal confidence for issues, default is 0.8
min-confidence: 0.8
gomnd:
settings:
mnd:
# the list of enabled checks, see https://github.com/tommy-muehle/go-mnd/#checks for description.
checks: argument,case,condition,operation,return,assign
# the list of enabled checks, see https://github.com/tommy-muehle/go-mnd/#checks for description.
checks: argument,case,condition,operation,return,assign
gomodguard:
allowed:
modules: # List of allowed modules
@@ -188,7 +162,7 @@ linters-settings:
# reason: "testing if blocked version constraint works." # Reason why the version constraint exists. (Optional)
govet:
# report about shadowed variables
check-shadowing: true
# check-shadowing: true
# settings per analyzer
settings:
@@ -207,12 +181,12 @@ linters-settings:
- shadow
disable-all: false
depguard:
list-type: blacklist
list-type: blacklist # Velero.io word list : ignore
include-go-root: false
packages:
- github.com/sirupsen/logrus
packages-with-error-message:
# specify an error message to output when a blacklisted package is used
# specify an error message to output when a denylisted package is used
- github.com/sirupsen/logrus: "logging is allowed only by logutils.Log"
lll:
# max line length, lines longer will be reported. Default is 120.
@@ -253,9 +227,32 @@ linters-settings:
require-explanation: true
# Enable to require nolint directives to mention the specific linter being suppressed. Default is false.
require-specific: true
revive:
rules:
- name: unexported-return
disabled: true
rowserrcheck:
packages:
- github.com/jmoiron/sqlx
testifylint:
# TODO: enable them all
disable:
- bool-compare
- compares
- error-is-as
- error-nil
- expected-actual
- go-require
- float-compare
- require-error
- suite-dont-use-pkg
- suite-extra-assert-call
- suite-thelper
enable:
- empty
- len
- nil-compare
testpackage:
# regexp pattern to skip files
skip-regexp: (export|internal)_test\.go
@@ -294,76 +291,82 @@ linters-settings:
# Allow leading comments to be separated with empty liens
allow-separated-leading-comment: false
# The custom section can be used to define linter plugins to be loaded at runtime. See README doc
# for more info.
# custom:
# Each custom linter should have a unique name.
# example:
# The path to the plugin *.so. Can be absolute or local. Required for each custom linter
# path: /path/to/example.so
# The description of the linter. Optional, just for documentation purposes.
# description: This is an example usage of a plugin linter.
# Intended to point to the repo location of the linter. Optional, just for documentation purposes.
# original-url: github.com/golangci/example-linter
linters:
# enable:
# - megacheck
# - govet
# disable:
# - maligned
# - prealloc
disable-all: true
presets:
# - bugs
# - unused
enable:
- asasalint
- asciicheck
- bidichk
- bodyclose
- dogsled
- durationcheck
- dupword
- errcheck
- exportloopref
- errchkjson
- goconst
- gofmt
- goheader
- goimports
- goprintffuncname
- gosec
- gosimple
- govet
- ginkgolinter
- importas
- ineffassign
- misspell
- nakedret
- nosprintfhostport
- nilerr
- noctx
- nolintlint
- revive
- staticcheck
- stylecheck
- testifylint
- typecheck
- unconvert
- unparam
- unused
- usestdlibvars
- whitespace
fast: false
#issues:
# # List of regexps of issue texts to exclude, empty list by default.
# # But independently from this option we use default exclude patterns,
# # it can be disabled by `exclude-use-default: false`. To list all
# # excluded by default patterns execute `golangci-lint run --help`
# exclude:
# - abcdef
#
# # Excluding configuration per-path, per-linter, per-text and per-source
# exclude-rules:
# # Exclude some linters from running on tests files.
# - path: _test\.go
# linters:
# - gocyclo
# - errcheck
# - dupl
# - gosec
#
# # Exclude known linters from partially hard-vendored code,
# # which is impossible to exclude via "nolint" comments.
# - path: internal/hmac/
# text: "weak cryptographic primitive"
# linters:
# - gosec
#
# # Exclude some staticcheck messages
# - linters:
# - staticcheck
# text: "SA9003:"
#
# # Exclude lll issues for long lines with go:generate
# - linters:
# - lll
# source: "^//go:generate "
# Independently from option `exclude` we use default exclude patterns,
# it can be disabled by this option. To list all
# excluded by default patterns execute `golangci-lint run --help`.
# Default value for this option is true.
exclude-use-default: false
# The default value is false. If set to true exclude and exclude-rules
# regular expressions become case sensitive.
exclude-case-sensitive: false
issues:
exclude-rules:
- linters:
- staticcheck
text: "github.com/golang/protobuf/proto" # grpc-go still uses github.com/golang/protobuf/proto.
- linters:
- staticcheck
text: "DefaultVolumesToRestic" # No need to report deprecate for DefaultVolumesToRestic.
- path: ".*_test.go$"
linters:
- dupword
- errcheck
- goconst
- gosec
- govet
- staticcheck
- stylecheck
- unconvert
- unparam
- unused
- path: test/
linters:
- dupword
- errcheck
- goconst
- gosec
- gosimple
- nilerr
- staticcheck
- stylecheck
- unconvert
- unparam
- unused
# The list of ids of default excludes to include or disable. By default it's empty.
include:
@@ -375,19 +378,17 @@ linters:
# Maximum count of issues with the same text. Set to 0 to disable. Default is 3.
max-same-issues: 0
# Show only new issues: if there are unstaged changes or untracked files,
# only those changes are analyzed, else only changes in HEAD~ are analyzed.
# It's a super-useful option for integration of golangci-lint into existing
# large codebase. It's not practical to fix all existing issues at the moment
# of integration: much better don't allow issues in new code.
# Default is false.
new: false
# Show only new issues created after git revision `REV`
new-from-rev: REV
# new-from-rev: origin/main
# Show only new issues created in git patch with set file path.
new-from-patch: path/to/patch/file
# which dirs to skip: issues from them won't be reported;
# can use regexp here: generated.*, regexp is applied on full path;
# default value is empty list, but default dirs are skipped independently
# from this option's value (see skip-dirs-use-default).
# "/" will be replaced by current OS file path separator to properly work
# on Windows.
exclude-dirs:
- pkg/plugin/generated/*
severity:
# Default value is empty string.

View File

@@ -14,7 +14,7 @@
dist: _output
builds:
- main: ./cmd/velero/main.go
- main: ./cmd/velero/velero.go
env:
- CGO_ENABLED=0
goos:
@@ -27,11 +27,9 @@ builds:
- arm64
- ppc64le
ignore:
# don't build arm/arm64 for darwin or windows
# don't build arm for darwin and arm/arm64 for windows
- goos: darwin
goarch: arm
- goos: darwin
goarch: arm64
- goos: darwin
goarch: ppc64le
- goos: windows
@@ -48,6 +46,9 @@ archives:
files:
- LICENSE
- examples/**/*
# Add the setting to resolve the DEPRECATED warning. Actually, Velero's case is not affected by the rlcp behavior change.
# https://github.com/orgs/goreleaser/discussions/3659#discussioncomment-4587257
rlcp: true
checksum:
name_template: 'CHECKSUM'
release:
@@ -56,3 +57,10 @@ release:
name: velero
draft: true
prerelease: auto
git:
# What should be used to sort tags when gathering the current and previous
# tags if there are more than one tag in the same commit.
#
# Default: `-version:refname`
tag_sort: -version:creatordate

View File

@@ -3,6 +3,7 @@
If you're using Velero and want to add your organization to this list,
[follow these directions][1]!
<a href="https://www.pitsdatarecovery.net/" border="0" target="_blank"><img alt="pitsdatarecovery.net" src="site/static/img/adopters/PITSGlobalDataRecoveryServices.svg" height="50"></a>
<a href="https://www.bitgo.com" border="0" target="_blank"><img alt="bitgo.com" src="site/static/img/adopters/BitGo.svg" height="50"></a>&nbsp; &nbsp; &nbsp;
<a href="https://www.nirmata.com" border="0" target="_blank"><img alt="nirmata.com" src="site/static/img/adopters/nirmata.svg" height="50"></a>&nbsp; &nbsp; &nbsp;
<a href="https://kyma-project.io/" border="0" target="_blank"><img alt="kyma-project.io" src="site/static/img/adopters/kyma.svg" height="50"></a>&nbsp; &nbsp; &nbsp;
@@ -14,17 +15,18 @@ If you're using Velero and want to add your organization to this list,
<a href="https://sighup.io/" border="0" target="_blank"><img alt="sighup.io" src="site/static/img/adopters/sighup.svg" height="50"></a>&nbsp; &nbsp; &nbsp;
<a href="https://mayadata.io/" border="0" target="_blank"><img alt="mayadata.io" src="site/static/img/adopters/mayadata.svg" height="50"></a>&nbsp; &nbsp; &nbsp;
<a href="https://www.replicated.com/" border="0" target="_blank"><img alt="replicated.com" src="site/static/img/adopters/replicated-logo-red.svg" height="50"></a>
<a href="https://cloudcasa.io/" border="0" target="_blank"><img alt="cloudcasa.io" src="site/static/img/adopters/cloudcasa.svg" height="50"></a>
<a href="https://azure.microsoft.com/" border="0" target="_blank"><img alt="azure.com" src="site/static/img/adopters/azure.svg" height="50"></a>
## Success Stories
Below is a list of adopters of Velero in **production environments** that have
publicly shared the details of how they use it.
**[BitGo][20]**
BitGo uses Velero backup and restore capabilities to seamlessly provision and scale fullnode statefulsets on the fly as well as having it serve an integral piece for our kubernetes disaster-recovery story.
BitGo uses Velero backup and restore capabilities to seamlessly provision and scale fullnode statefulsets on the fly as well as having it serve an integral piece for our Kubernetes disaster-recovery story.
**[Bugsnag][30]**
We use Velero for managing backups of an internal instance of our on-premise clustered solution. We also recommend our users of [on-premise Bugsnag installations][31] use Velero for [managing their own backups][32].
We use Velero for managing backups of an internal instance of our on-premise clustered solution. We also recommend our users of [on-premise Bugsnag installations](https://www.bugsnag.com/on-premise) use Velero for [managing their own backups](https://docs.bugsnag.com/on-premise/clustered/backup-restore/). <!-- Velero.io word list : ignore -->
**[Banzai Cloud][60]**
[Banzai Cloud Pipeline][61] is a Kubernetes-based microservices platform that integrates services needed for Day-1 and Day-2 operations along with first-class support both for on-prem and hybrid multi-cloud deployments. We use Velero to periodically [backup and restore these clusters in case of disasters][62].
@@ -40,7 +42,9 @@ We have integrated our [solution with Velero][11] to provide our customers with
Kyma [integrates with Velero][41] to effortlessly back up and restore Kyma clusters with all its resources. Velero capabilities allow Kyma users to define and run manual and scheduled backups in order to successfully handle a disaster-recovery scenario.
**[Red Hat][50]**
Red Hat has developed the [Cluster Application Migration Tool][51] which uses [Velero and Restic][52] to drive the migration of applications between OpenShift clusters.
Red Hat has developed 2 operators for the OpenShift platform:
- [Migration Toolkit for Containers][51] (Crane): This operator uses [Velero and Restic][52] to drive the migration of applications between OpenShift clusters.
- [OADP (OpenShift API for Data Protection) Operator][53]: This operator sets up and installs Velero on the OpenShift platform, allowing users to backup and restore applications.
**[Dell EMC][70]**
For Kubernetes environments, [PowerProtect Data Manager][71] leverages the Container Storage Interface (CSI) framework to take snapshots to back up the persistent data or the data that the application creates e.g. databases. [Dell EMC leverages Velero][72] to backup the namespace configuration files (also known as Namespace meta data) for enterprise grade data protection.
@@ -56,8 +60,14 @@ MayaData is a large user of Velero as well as a contributor. MayaData offers a D
Okteto integrates Velero in [Okteto Cloud][94] and [Okteto Enterprise][95] to periodically backup and restore our clusters for disaster recovery. Velero is also a core software building block to provide namespace cloning capabilities, a feature that allows our users cloning staging environments into their personal development namespace for providing production-like development environments.
**[Replicated][100]**<br>
Replicated uses the Velero open source project to enable snapshots in [KOTS][101] to backup Kubernetes manifests & persistent volumes. In addition to the default functionality that Velero provides, [KOTS][101] provides a detailed interface in the [Admin Console][102] that can be used to manage the storage destination and schedule, and to perform and monitor the backup and restore process.
Replicated uses the Velero open source project to enable snapshots in [KOTS][101] to backup Kubernetes manifests & persistent volumes. In addition to the default functionality that Velero provides, [KOTS][101] provides a detailed interface in the [Admin Console][102] that can be used to manage the storage destination and schedule, and to perform and monitor the backup and restore process.<br>
**[CloudCasa][103]**<br>
[Catalogic Software][104] integrates Velero with [CloudCasa][103] - A Smart Home in the Cloud for Backups. CloudCasa is a full-featured, scalable, cloud-native solution providing Kubernetes data protection, disaster recovery, and migration as a service. An option to manage existing Velero instances and an enterprise self-hosted option are also available.<br>
**[Microsoft Azure][105]**<br>
[Azure Backup for AKS][106] is an Azure native, Kubernetes aware, Enterprise ready backup for containerized applications deployed on Azure Kubernetes Service (AKS). AKS Backup utilizes Velero to perform backup and restore operations to protect stateful applications in AKS clusters.<br>
## Adding your organization to the list of Velero Adopters
If you are using Velero and would like to be included in the list of `Velero Adopters`, add an SVG version of your logo to the `site/static/img/adopters` directory in this repo and submit a [pull request][3] with your change. Name the image file something that reflects your company (e.g., if your company is called Acme, name the image acme.png). See this for an example [PR][4].
@@ -77,8 +87,6 @@ If you would like to add your logo to a future `Adopters of Velero` section on [
[20]: https://bitgo.com
[30]: https://bugsnag.com
[31]: https://www.bugsnag.com/on-premise
[32]: https://docs.bugsnag.com/on-premise/clustered/backup-restore/
[40]: https://kyma-project.io
[41]: https://kyma-project.io/docs/components/backup/#overview-overview
@@ -86,6 +94,7 @@ If you would like to add your logo to a future `Adopters of Velero` section on [
[50]: https://redhat.com
[51]: https://github.com/fusor/mig-operator
[52]: https://github.com/fusor/mig-operator/blob/master/docs/usage/2.md
[53]: https://github.com/openshift/oadp-operator
[60]: https://banzaicloud.com
[61]: https://banzaicloud.com/products/pipeline/
@@ -110,3 +119,9 @@ If you would like to add your logo to a future `Adopters of Velero` section on [
[100]: https://www.replicated.com
[101]: https://kots.io
[102]: https://kots.io/kotsadm/snapshots/overview/
[103]: https://cloudcasa.io/
[104]: https://www.catalogicsoftware.com/
[105]: https://azure.microsoft.com/
[106]: https://learn.microsoft.com/azure/backup/backup-overview

View File

@@ -1,7 +1,14 @@
## Current release:
* [CHANGELOG-1.7.md][17]
* [CHANGELOG-1.14.md][24]
## Older releases:
* [CHANGELOG-1.13.md][23]
* [CHANGELOG-1.12.md][22]
* [CHANGELOG-1.11.md][21]
* [CHANGELOG-1.10.md][20]
* [CHANGELOG-1.9.md][19]
* [CHANGELOG-1.8.md][18]
* [CHANGELOG-1.7.md][17]
* [CHANGELOG-1.6.md][16]
* [CHANGELOG-1.5.md][15]
* [CHANGELOG-1.4.md][14]
@@ -20,6 +27,13 @@
* [CHANGELOG-0.3.md][1]
[24]: https://github.com/vmware-tanzu/velero/blob/main/changelogs/CHANGELOG-1.14.md
[23]: https://github.com/vmware-tanzu/velero/blob/main/changelogs/CHANGELOG-1.13.md
[22]: https://github.com/vmware-tanzu/velero/blob/main/changelogs/CHANGELOG-1.12.md
[21]: https://github.com/vmware-tanzu/velero/blob/main/changelogs/CHANGELOG-1.11.md
[20]: https://github.com/vmware-tanzu/velero/blob/main/changelogs/CHANGELOG-1.10.md
[19]: https://github.com/vmware-tanzu/velero/blob/main/changelogs/CHANGELOG-1.9.md
[18]: https://github.com/vmware-tanzu/velero/blob/main/changelogs/CHANGELOG-1.8.md
[17]: https://github.com/vmware-tanzu/velero/blob/main/changelogs/CHANGELOG-1.7.md
[16]: https://github.com/vmware-tanzu/velero/blob/main/changelogs/CHANGELOG-1.6.md
[15]: https://github.com/vmware-tanzu/velero/blob/main/changelogs/CHANGELOG-1.5.md

View File

@@ -5,7 +5,7 @@
We as members, contributors, and leaders pledge to make participation in the Velero project and our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
identity and expression, level of experience, education, socioeconomic status,
nationality, personal appearance, race, religion, or sexual identity
and orientation.

View File

@@ -11,50 +11,72 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
FROM --platform=$BUILDPLATFORM golang:1.16 as builder-env
# Velero binary build section
FROM --platform=$BUILDPLATFORM golang:1.22.6-bookworm as velero-builder
ARG GOPROXY
ARG BIN
ARG PKG
ARG VERSION
ARG REGISTRY
ARG GIT_SHA
ARG GIT_TREE_STATE
ARG REGISTRY
ARG TARGETOS
ARG TARGETARCH
ARG TARGETVARIANT
ENV CGO_ENABLED=0 \
GO111MODULE=on \
GOPROXY=${GOPROXY} \
GOOS=${TARGETOS} \
GOARCH=${TARGETARCH} \
GOARM=${TARGETVARIANT} \
LDFLAGS="-X ${PKG}/pkg/buildinfo.Version=${VERSION} -X ${PKG}/pkg/buildinfo.GitSHA=${GIT_SHA} -X ${PKG}/pkg/buildinfo.GitTreeState=${GIT_TREE_STATE} -X ${PKG}/pkg/buildinfo.ImageRegistry=${REGISTRY}"
WORKDIR /go/src/github.com/vmware-tanzu/velero
COPY . /go/src/github.com/vmware-tanzu/velero
RUN apt-get update && apt-get install -y bzip2
RUN mkdir -p /output/usr/bin && \
export GOARM=$( echo "${GOARM}" | cut -c2-) && \
go build -o /output/${BIN} \
-ldflags "${LDFLAGS}" ${PKG}/cmd/${BIN} && \
go build -o /output/velero-helper \
-ldflags "${LDFLAGS}" ${PKG}/cmd/velero-helper && \
go clean -modcache -cache
FROM --platform=$BUILDPLATFORM builder-env as builder
# Restic binary build section
FROM --platform=$BUILDPLATFORM golang:1.22.6-bookworm as restic-builder
ARG BIN
ARG TARGETOS
ARG TARGETARCH
ARG TARGETVARIANT
ARG PKG
ARG BIN
ARG RESTIC_VERSION
ENV GOOS=${TARGETOS} \
ENV CGO_ENABLED=0 \
GO111MODULE=on \
GOPROXY=${GOPROXY} \
GOOS=${TARGETOS} \
GOARCH=${TARGETARCH} \
GOARM=${TARGETVARIANT}
COPY . /go/src/github.com/vmware-tanzu/velero
RUN mkdir -p /output/usr/bin && \
bash ./hack/download-restic.sh && \
export GOARM=$( echo "${GOARM}" | cut -c2-) && \
go build -o /output/${BIN} \
-ldflags "${LDFLAGS}" ${PKG}/cmd/${BIN}
export GOARM=$(echo "${GOARM}" | cut -c2-) && \
/go/src/github.com/vmware-tanzu/velero/hack/build-restic.sh && \
go clean -modcache -cache
FROM gcr.io/distroless/base-debian10:nonroot
# Velero image packing section
FROM paketobuildpacks/run-jammy-tiny:0.2.46
LABEL maintainer="Nolan Brubaker <brubakern@vmware.com>"
LABEL maintainer="Xun Jiang <jxun@vmware.com>"
COPY --from=builder /output /
COPY --from=velero-builder /output /
USER nonroot:nonroot
COPY --from=restic-builder /output /
USER cnb:cnb

View File

@@ -4,14 +4,16 @@
## Maintainers
| Maintainer | GitHub ID | Affiliation |
| --------------- | --------- | ----------- |
| Bridget McErlean | [zubron](https://github.com/zubron) | [VMware](https://www.github.com/vmware/) |
| Dave Smith-Uchida | [dsu-igeek](https://github.com/dsu-igeek) | [VMware](https://www.github.com/vmware/) |
| JenTing Hsiao | [jenting](https://github.com/jenting) | [SUSE](https://github.com/SUSE/)
| Scott Seago | [sseago](https://github.com/sseago) | [OpenShift](https://github.com/openshift)
| Daniel Jiang | [reasonerjt](https://github.com/reasonerjt) | [VMware](https://www.github.com/vmware/)
| Wenkai Yin | [ywk253100](https://github.com/ywk253100) | [VMware](https://www.github.com/vmware/) |
| Maintainer | GitHub ID | Affiliation |
|---------------------|---------------------------------------------------------------|--------------------------------------------------|
| Scott Seago | [sseago](https://github.com/sseago) | [OpenShift](https://github.com/openshift) |
| Daniel Jiang | [reasonerjt](https://github.com/reasonerjt) | [VMware](https://www.github.com/vmware/) |
| Wenkai Yin | [ywk253100](https://github.com/ywk253100) | [VMware](https://www.github.com/vmware/) |
| Xun Jiang | [blackpiglet](https://github.com/blackpiglet) | [VMware](https://www.github.com/vmware/) |
| Ming Qiu | [qiuming-best](https://github.com/qiuming-best) | [VMware](https://www.github.com/vmware/) |
| Shubham Pampattiwar | [shubham-pampattiwar](https://github.com/shubham-pampattiwar) | [OpenShift](https://github.com/openshift) |
| Yonghui Li | [Lyndon-Li](https://github.com/Lyndon-Li) | [VMware](https://www.github.com/vmware/) |
| Anshul Ahuja | [anshulahuja98](https://github.com/anshulahuja98) | [Microsoft Azure](https://www.github.com/azure/) |
## Emeritus Maintainers
* Adnan Abdulhussein ([prydonius](https://github.com/prydonius))
@@ -21,14 +23,17 @@
* Nolan Brubaker ([nrb](https://github.com/nrb))
* Ashish Amarnath ([ashish-amarnath](https://github.com/ashish-amarnath))
* Carlisia Thompson ([carlisia](https://github.com/carlisia))
* Bridget McErlean ([zubron](https://github.com/zubron))
* JenTing Hsiao ([jenting](https://github.com/jenting))
* Dave Smith-Uchida ([dsu-igeek](https://github.com/dsu-igeek))
## Velero Contributors & Stakeholders
| Feature Area | Lead |
| ----------------------------- | :---------------------: |
| Architect | Dave Smith-Uchida (dsu-igeek) |
| Technical Lead | Daniel Jiang (reasonerjt) |
| Kubernetes CSI Liaison | |
| Deployment | JenTing Hsiao (jenting) |
| Community Management | Jonas Rosland (jonasrosland) |
| Product Management | Eleanor Millman (eleanor-millman) |
| Feature Area | Lead |
|------------------------|:------------------------------------------------------------------------------------:|
| Technical Lead | Daniel Jiang [reasonerjt](https://github.com/reasonerjt) |
| Kubernetes CSI Liaison | |
| Deployment | |
| Community Management | Orlin Vasilev [OrlinVasilev](https://github.com/OrlinVasilev) |
| Product Management | Pradeep Kumar Chaturvedi [pradeepkchaturvedi](https://github.com/pradeepkchaturvedi) |

View File

@@ -22,9 +22,11 @@ PKG := github.com/vmware-tanzu/velero
# Where to push the docker image.
REGISTRY ?= velero
GCR_REGISTRY ?= gcr.io/velero-gcp
# Image name
IMAGE ?= $(REGISTRY)/$(BIN)
GCR_IMAGE ?= $(GCR_REGISTRY)/$(BIN)
# We allow the Dockerfile to be configurable to enable the use of custom Dockerfiles
# that pull base images from different registries.
@@ -66,12 +68,24 @@ TAG_LATEST ?= false
ifeq ($(TAG_LATEST), true)
IMAGE_TAGS ?= $(IMAGE):$(VERSION) $(IMAGE):latest
GCR_IMAGE_TAGS ?= $(GCR_IMAGE):$(VERSION) $(GCR_IMAGE):latest
else
IMAGE_TAGS ?= $(IMAGE):$(VERSION)
GCR_IMAGE_TAGS ?= $(GCR_IMAGE):$(VERSION)
endif
# check buildx is enabled
# macOS/Windows docker cli without Docker Desktop license: https://github.com/abiosoft/colima
# To add buildx to docker cli: https://github.com/abiosoft/colima/discussions/273#discussioncomment-2684502
ifeq ($(shell docker buildx inspect 2>/dev/null | awk '/Status/ { print $$2 }'), running)
BUILDX_ENABLED ?= true
# if emulated docker cli from podman, assume enabled
# emulated docker cli from podman: https://podman-desktop.io/docs/migrating-from-docker/emulating-docker-cli-with-podman
# podman known issues:
# - on remote podman, such as on macOS,
# --output issue: https://github.com/containers/podman/issues/15922
else ifeq ($(shell cat $(shell which docker) | grep -c "exec podman"), 1)
BUILDX_ENABLED ?= true
else
BUILDX_ENABLED ?= false
endif
@@ -82,9 +96,9 @@ see: https://velero.io/docs/main/build-from-source/#making-images-and-updating-v
endef
# The version of restic binary to be downloaded
RESTIC_VERSION ?= 0.12.1
RESTIC_VERSION ?= 0.15.0
CLI_PLATFORMS ?= linux-amd64 linux-arm linux-arm64 darwin-amd64 windows-amd64 linux-ppc64le
CLI_PLATFORMS ?= linux-amd64 linux-arm linux-arm64 darwin-amd64 darwin-arm64 windows-amd64 linux-ppc64le
BUILDX_PLATFORMS ?= $(subst -,/,$(ARCH))
BUILDX_OUTPUT_TYPE ?= docker
@@ -96,9 +110,6 @@ else
GIT_TREE_STATE ?= clean
endif
# The default linters used by lint and local-lint
LINTERS ?= "gosec,goconst,gofmt,goimports,unparam"
###
### These variables should not need tweaking.
###
@@ -107,26 +118,29 @@ platform_temp = $(subst -, ,$(ARCH))
GOOS = $(word 1, $(platform_temp))
GOARCH = $(word 2, $(platform_temp))
GOPROXY ?= https://proxy.golang.org
GOBIN=$$(pwd)/.go/bin
# If you want to build all binaries, see the 'all-build' rule.
# If you want to build all containers, see the 'all-containers' rule.
all:
@$(MAKE) build
@$(MAKE) build BIN=velero-restic-restore-helper
@$(MAKE) build BIN=velero-restore-helper
build-%:
@$(MAKE) --no-print-directory ARCH=$* build
@$(MAKE) --no-print-directory ARCH=$* build BIN=velero-restic-restore-helper
@$(MAKE) --no-print-directory ARCH=$* build BIN=velero-restore-helper
all-build: $(addprefix build-, $(CLI_PLATFORMS))
all-containers: container-builder-env
all-containers:
@$(MAKE) --no-print-directory container
@$(MAKE) --no-print-directory container BIN=velero-restic-restore-helper
@$(MAKE) --no-print-directory container BIN=velero-restore-helper
local: build-dirs
# Add DEBUG=1 to enable debug locally
GOOS=$(GOOS) \
GOARCH=$(GOARCH) \
GOBIN=$(GOBIN) \
VERSION=$(VERSION) \
REGISTRY=$(REGISTRY) \
PKG=$(PKG) \
@@ -143,6 +157,7 @@ _output/bin/$(GOOS)/$(GOARCH)/$(BIN): build-dirs
$(MAKE) shell CMD="-c '\
GOOS=$(GOOS) \
GOARCH=$(GOARCH) \
GOBIN=$(GOBIN) \
VERSION=$(VERSION) \
REGISTRY=$(REGISTRY) \
PKG=$(PKG) \
@@ -162,6 +177,7 @@ shell: build-dirs build-env
@# under $GOPATH).
@docker run \
-e GOFLAGS \
-e GOPROXY \
-i $(TTY) \
--rm \
-u $$(id -u):$$(id -g) \
@@ -176,20 +192,6 @@ shell: build-dirs build-env
$(BUILDER_IMAGE) \
/bin/sh $(CMD)
container-builder-env:
ifneq ($(BUILDX_ENABLED), true)
$(error $(BUILDX_ERROR))
endif
@docker buildx build \
--target=builder-env \
--build-arg=GOPROXY=$(GOPROXY) \
--build-arg=PKG=$(PKG) \
--build-arg=VERSION=$(VERSION) \
--build-arg=GIT_SHA=$(GIT_SHA) \
--build-arg=GIT_TREE_STATE=$(GIT_TREE_STATE) \
--build-arg=REGISTRY=$(REGISTRY) \
-f $(VELERO_DOCKERFILE) .
container:
ifneq ($(BUILDX_ENABLED), true)
$(error $(BUILDX_ERROR))
@@ -198,6 +200,8 @@ endif
--output=type=$(BUILDX_OUTPUT_TYPE) \
--platform $(BUILDX_PLATFORMS) \
$(addprefix -t , $(IMAGE_TAGS)) \
$(addprefix -t , $(GCR_IMAGE_TAGS)) \
--build-arg=GOPROXY=$(GOPROXY) \
--build-arg=PKG=$(PKG) \
--build-arg=BIN=$(BIN) \
--build-arg=VERSION=$(VERSION) \
@@ -207,6 +211,12 @@ endif
--build-arg=RESTIC_VERSION=$(RESTIC_VERSION) \
-f $(VELERO_DOCKERFILE) .
@echo "container: $(IMAGE):$(VERSION)"
ifeq ($(BUILDX_OUTPUT_TYPE)_$(REGISTRY), registry_velero)
docker pull $(IMAGE):$(VERSION)
rm -f $(BIN)-$(VERSION).tar
docker save $(IMAGE):$(VERSION) -o $(BIN)-$(VERSION).tar
gzip -f $(BIN)-$(VERSION).tar
endif
SKIP_TESTS ?=
test: build-dirs
@@ -226,27 +236,21 @@ endif
lint:
ifneq ($(SKIP_TESTS), 1)
@$(MAKE) shell CMD="-c 'hack/lint.sh $(LINTERS)'"
@$(MAKE) shell CMD="-c 'hack/lint.sh'"
endif
local-lint:
ifneq ($(SKIP_TESTS), 1)
@hack/lint.sh $(LINTERS)
endif
lint-all:
ifneq ($(SKIP_TESTS), 1)
@$(MAKE) shell CMD="-c 'hack/lint.sh $(LINTERS) true'"
endif
local-lint-all:
ifneq ($(SKIP_TESTS), 1)
@hack/lint.sh $(LINTERS) true
@hack/lint.sh
endif
update:
@$(MAKE) shell CMD="-c 'hack/update-all.sh'"
# update-crd is for development purpose only, it is faster than update, so is a shortcut when you want to generate CRD changes only
update-crd:
@$(MAKE) shell CMD="-c 'hack/update-3generated-crd-code.sh'"
build-dirs:
@mkdir -p _output/bin/$(GOOS)/$(GOARCH)
@mkdir -p .go/src/$(PKG) .go/pkg .go/bin .go/std/$(GOOS)/$(GOARCH) .go/go-build .go/golangci-lint
@@ -338,9 +342,9 @@ changelog:
# PUBLISH=false \
# make release
#
# To run the release, which will publish a *DRAFT* GitHub release in github.com/vmware-tanzu/velero
# To run the release, which will publish a *DRAFT* GitHub release in github.com/vmware-tanzu/velero
# (you still need to review/publish the GitHub release manually):
# GITHUB_TOKEN=your-github-token \
# GITHUB_TOKEN=your-github-token \
# RELEASE_NOTES_FILE=changelogs/CHANGELOG-1.2.md \
# PUBLISH=true \
# make release
@@ -358,12 +362,19 @@ serve-docs: build-image-hugo
-v "$$(pwd)/site:/srv/hugo" \
-it -p 1313:1313 \
$(HUGO_IMAGE) \
hugo server --bind=0.0.0.0 --enableGitInfo=false
# gen-docs generates a new versioned docs directory under site/content/docs.
server --bind=0.0.0.0 --enableGitInfo=false
# gen-docs generates a new versioned docs directory under site/content/docs.
# Please read the documentation in the script for instructions on how to use it.
gen-docs:
@hack/release-tools/gen-docs.sh
.PHONY: test-e2e
test-e2e: local
$(MAKE) -e VERSION=$(VERSION) -C test/e2e run
$(MAKE) -e VERSION=$(VERSION) -C test/ run-e2e
.PHONY: test-perf
test-perf: local
$(MAKE) -e VERSION=$(VERSION) -C test/ run-perf
go-generate:
go generate ./pkg/...

24
OWNERS Normal file
View File

@@ -0,0 +1,24 @@
# This file is used by the [PROW action](https://github.com/jpmcb/prow-github-actions) to approve and merge PRs.
# The file's format follows the [OWNERS SPEC](https://www.kubernetes.dev/docs/guide/owners/#owners-spec).
# List of usernames who may use /lgtm
reviewers:
- @Lyndon-Li
- @anshulahuja98
- @blackpiglet
- @qiuming-best
- @reasonerjt
- @shubham-pampattiwar
- @sseago
- @ywk253100
# List of usernames who may use /approve
approvers:
- @Lyndon-Li
- @anshulahuja98
- @blackpiglet
- @qiuming-best
- @reasonerjt
- @shubham-pampattiwar
- @sseago
- @ywk253100

View File

@@ -1,7 +0,0 @@
domain: io
repo: github.com/vmware-tanzu/velero
resources:
- group: velero
kind: BackupStorageLocation
version: v1
version: "2"

View File

@@ -1,11 +1,13 @@
![100]
[![Build Status][1]][2] [![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/3811/badge)](https://bestpractices.coreinfrastructure.org/projects/3811)
![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/vmware-tanzu/velero)
## Overview
Velero (formerly Heptio Ark) gives you tools to back up and restore your Kubernetes cluster resources and persistent volumes. You can run Velero with a public cloud platform or on-premises. Velero lets you:
Velero (formerly Heptio Ark) gives you tools to back up and restore your Kubernetes cluster resources and persistent volumes. You can run Velero with a public cloud platform or on-premises.
Velero lets you:
* Take backups of your cluster and restore in case of loss.
* Migrate cluster resources to other clusters.
@@ -18,7 +20,7 @@ Velero consists of:
## Documentation
[The documentation][29] provides a getting started guide and information about building from source, architecture, extending Velero, and more.
[The documentation][29] provides a getting started guide and information about building from source, architecture, extending Velero and more.
Please use the version selector at the top of the site to ensure you are using the appropriate documentation for your version of Velero.
@@ -34,6 +36,26 @@ If you are ready to jump in and test, add code, or help with documentation, foll
See [the list of releases][6] to find out about feature changes.
### Velero compatibility matrix
The following is a list of the supported Kubernetes versions for each Velero version.
| Velero version | Expected Kubernetes version compatibility | Tested on Kubernetes version |
|----------------|-------------------------------------------|-------------------------------------|
| 1.14 | 1.18-latest | 1.27.9, 1.28.9, and 1.29.4 |
| 1.13 | 1.18-latest | 1.26.5, 1.27.3, 1.27.8, and 1.28.3 |
| 1.12 | 1.18-latest | 1.25.7, 1.26.5, 1.26.7, and 1.27.3 |
| 1.11 | 1.18-latest | 1.23.10, 1.24.9, 1.25.5, and 1.26.1 |
| 1.10 | 1.18-latest | 1.22.5, 1.23.8, 1.24.6 and 1.25.1 |
Velero supports IPv4, IPv6, and dual stack environments. Support for this was tested against Velero v1.8.
The Velero maintainers are continuously working to expand testing coverage, but are not able to test every combination of Velero and supported Kubernetes versions for each Velero release. The table above is meant to track the current testing coverage and the expected supported Kubernetes versions for each Velero version.
If you are interested in using a different version of Kubernetes with a given Velero version, we'd recommend that you perform testing before installing or upgrading your environment. For full information around capabilities within a release, also see the Velero [release notes](https://github.com/vmware-tanzu/velero/releases) or Kubernetes [release notes](https://github.com/kubernetes/kubernetes/tree/master/CHANGELOG). See the Velero [support page](https://velero.io/docs/latest/support-process/) for information about supported versions of Velero.
For each release, Velero maintainers run the test to ensure the upgrade path from n-2 minor release. For example, before the release of v1.10.x, the test will verify that the backup created by v1.9.x and v1.8.x can be restored using the build to be tagged as v1.10.x.
[1]: https://github.com/vmware-tanzu/velero/workflows/Main%20CI/badge.svg
[2]: https://github.com/vmware-tanzu/velero/actions?query=workflow%3A"Main+CI"
[4]: https://github.com/vmware-tanzu/velero/issues

View File

@@ -1,42 +1 @@
## Velero Roadmap
### About this document
This document provides a link to the [Velero Project boards](https://github.com/vmware-tanzu/velero/projects) that serves as the up to date description of items that are in the release pipeline. The release boards have separate swim lanes based on prioritization. Most items are gathered from the community or include a feedback loop with the community. This should serve as a reference point for Velero users and contributors to understand where the project is heading, and help determine if a contribution could be conflicting with a longer term plan.
### How to help?
Discussion on the roadmap can take place in threads under [Issues](https://github.com/vmware-tanzu/velero/issues) or in [community meetings](https://velero.io/community/). Please open and comment on an issue if you want to provide suggestions, use cases, and feedback to an item in the roadmap. Please review the roadmap to avoid potential duplicated effort.
### How to add an item to the roadmap?
One of the most important aspects in any open source community is the concept of proposals. Large changes to the codebase and / or new features should be preceded by a [proposal](https://github.com/vmware-tanzu/velero/blob/main/GOVERNANCE.md#proposal-process) in our repo.
For smaller enhancements, you can open an issue to track that initiative or feature request.
We work with and rely on community feedback to focus our efforts to improve Velero and maintain a healthy roadmap.
### Current Roadmap
The following table includes the current roadmap for Velero. If you have any questions or would like to contribute to Velero, please attend a [community meeting](https://velero.io/community/) to discuss with our team. If you don't know where to start, we are always looking for contributors that will help us reduce technical, automation, and documentation debt.
Please take the timelines & dates as proposals and goals. Priorities and requirements change based on community feedback, roadblocks encountered, community contributions, etc. If you depend on a specific item, we encourage you to attend community meetings to get updated status information, or help us deliver that feature by contributing to Velero.
`Last Updated: October 2021`
#### 1.8.0 Roadmap (to be delivered January/February 2021)
|Issue|Description|Timeline|Notes|
|---|---|---|---|
|[4108](https://github.com/vmware-tanzu/velero/issues/4108), [4109](https://github.com/vmware-tanzu/velero/issues/4109)|Solution for CSI - Azure and AWS|2022 H1|Currently, Velero plugins for AWS and Azure cannot back up persistent volumes that were provisioned using the CSI driver. This will fix that.|
|[3229](https://github.com/vmware-tanzu/velero/issues/3229),[4112](https://github.com/vmware-tanzu/velero/issues/4112)|Moving data mover functionality from the Velero Plugin for vSphere into Velero proper|2022 H1|This work is a precursor to decoupling the Astrolabe snapshotting infrastructure.|
|[3533](https://github.com/vmware-tanzu/velero/issues/3533)|Upload Progress Monitoring|2022 H1|Finishing up the work done in the 1.7 timeframe. The data mover work depends on this.|
|[1975](https://github.com/vmware-tanzu/velero/issues/1975)|Test dual stack mode|2022 H1|We already tested IPv6, but we want to confirm that dual stack mode works as well.|
|[2082](https://github.com/vmware-tanzu/velero/issues/2082)|Delete Backup CRs on removing target location. |2022 H1||
|[3516](https://github.com/vmware-tanzu/velero/issues/3516)|Restore issue with MutatingWebhookConfiguration v1beta1 API version|2022 H1||
|[2308](https://github.com/vmware-tanzu/velero/issues/2308)|Restoring nodePort service that has nodePort preservation always fails if service already exists in the namespace|2022 H1||
|[4115](https://github.com/vmware-tanzu/velero/issues/4115)|Support for multiple set of credentials for VolumeSnapshotLocations|2022 H1||
|[1980](https://github.com/vmware-tanzu/velero/issues/1980)|Velero triggers backup immediately for scheduled backups|2022 H1||
|[4067](https://github.com/vmware-tanzu/velero/issues/4067)|Pre and post backup and restore hooks|2022 H1||
|[3742](https://github.com/vmware-tanzu/velero/issues/3742)|Carvel packaging for Velero for vSphere|2022 H1|AWS and Azure have been completed already.|
|[3285](https://github.com/vmware-tanzu/velero/issues/3285)|Design doc for Velero plugin versioning|2022 H1||
|[4231](https://github.com/vmware-tanzu/velero/issues/4231)|Technical health (prioritizing giving developers confidence and saving developers time)|2022 H1|More automated tests (especially the pre-release manual tests) and more automation of the running of tests.|
|[4110](https://github.com/vmware-tanzu/velero/issues/4110)|Solution for CSI - GCP|2022 H1|Currently, the Velero plugin for GCP cannot back up persistent volumes that were provisioned using the CSI driver. This will fix that.|
|[3742](https://github.com/vmware-tanzu/velero/issues/3742)|Carvel packaging for Velero for restic|2022 H1|AWS and Azure have been completed already.|
|[3454](https://github.com/vmware-tanzu/velero/issues/3454),[4134](https://github.com/vmware-tanzu/velero/issues/4134),[4135](https://github.com/vmware-tanzu/velero/issues/4135)|Kubebuilder tech debt|2022 H1||
|[4111](https://github.com/vmware-tanzu/velero/issues/4111)|Ignore items returned by ItemSnapshotter.AlsoHandles during backup|2022 H1|This will enable backup of complex objects, because we can then tell Velero to ignore things that were already backed up when Velero was previously called recursively.|
Other work may make it into the 1.8 release, but this is the work that will be prioritized first.
# Please go to the [Velero Wiki](https://github.com/vmware-tanzu/velero/wiki/) to see our latest roadmap, archived roadmaps and roadmap guidance.

View File

@@ -7,17 +7,19 @@ k8s_yaml([
'config/crd/v1/bases/velero.io_downloadrequests.yaml',
'config/crd/v1/bases/velero.io_podvolumebackups.yaml',
'config/crd/v1/bases/velero.io_podvolumerestores.yaml',
'config/crd/v1/bases/velero.io_resticrepositories.yaml',
'config/crd/v1/bases/velero.io_backuprepositories.yaml',
'config/crd/v1/bases/velero.io_restores.yaml',
'config/crd/v1/bases/velero.io_schedules.yaml',
'config/crd/v1/bases/velero.io_serverstatusrequests.yaml',
'config/crd/v1/bases/velero.io_volumesnapshotlocations.yaml',
'config/crd/v2alpha1/bases/velero.io_datauploads.yaml',
'config/crd/v2alpha1/bases/velero.io_datadownloads.yaml',
])
# default values
settings = {
"default_registry": "docker.io/velero",
"enable_restic": False,
"use_node_agent": False,
"enable_debug": False,
"debug_continue_on_start": True, # Continue the velero process by default when in debug mode
"create_backup_locations": False,
@@ -34,9 +36,9 @@ k8s_yaml(kustomize('tilt-resources'))
k8s_yaml('tilt-resources/deployment.yaml')
if settings.get("enable_debug"):
k8s_resource('velero', port_forwards = '2345')
# TODO: Need to figure out how to apply port forwards for all restic pods
if settings.get("enable_restic"):
k8s_yaml('tilt-resources/restic.yaml')
# TODO: Need to figure out how to apply port forwards for all node-agent pods
if settings.get("use_node_agent"):
k8s_yaml('tilt-resources/node-agent.yaml')
if settings.get("create_backup_locations"):
k8s_yaml('tilt-resources/velero_v1_backupstoragelocation.yaml')
if settings.get("setup-minio"):
@@ -50,7 +52,7 @@ git_sha = str(local("git rev-parse HEAD", quiet = True, echo_off = True)).strip(
tilt_helper_dockerfile_header = """
# Tilt image
FROM golang:1.16.6 as tilt-helper
FROM golang:1.22.6 as tilt-helper
# Support live reloading with Tilt
RUN wget --output-document /restart.sh --quiet https://raw.githubusercontent.com/windmilleng/rerun-process-wrapper/master/restart.sh && \
@@ -60,9 +62,9 @@ RUN wget --output-document /restart.sh --quiet https://raw.githubusercontent.com
additional_docker_helper_commands = """
# Install delve to allow debugging
RUN go get github.com/go-delve/delve/cmd/dlv
RUN go install github.com/go-delve/delve/cmd/dlv@latest
RUN wget -qO- https://dl.k8s.io/v1.19.2/kubernetes-client-linux-amd64.tar.gz | tar xvz
RUN wget -qO- https://dl.k8s.io/v1.25.2/kubernetes-client-linux-amd64.tar.gz | tar xvz
RUN wget -qO- https://get.docker.com | sh
"""
@@ -103,12 +105,12 @@ local_resource(
local_resource(
"restic_binary",
cmd = 'cd ' + '.' + ';mkdir -p _tiltbuild/restic; BIN=velero GOOS=' + local_goos + ' GOARCH=amd64 RESTIC_VERSION=0.12.0 OUTPUT_DIR=_tiltbuild/restic ./hack/download-restic.sh',
cmd = 'cd ' + '.' + ';mkdir -p _tiltbuild/restic; BIN=velero GOOS=linux GOARCH=amd64 GOARM="" RESTIC_VERSION=0.13.1 OUTPUT_DIR=_tiltbuild/restic ./hack/build-restic.sh',
)
# Note: we need a distro with a bash shell to exec into the Velero container
tilt_dockerfile_header = """
FROM ubuntu:focal as tilt
FROM ubuntu:22.04 as tilt
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y ca-certificates tzdata && rm -rf /var/lib/apt/lists/*
@@ -216,7 +218,7 @@ def enable_provider(provider):
# Note: we need a distro with a shell to do a copy of the plugin binary
tilt_dockerfile_header = """
FROM ubuntu:focal as tilt
FROM ubuntu:22.04 as tilt
WORKDIR /
COPY --from=tilt-helper /start.sh .
COPY --from=tilt-helper /restart.sh .

View File

@@ -1,6 +1,6 @@
# Velero Assets
This folder contains logo images for Velero in gray (for light backgrounds) and white (for dark backgrounds like black tshirts or dark mode!) horizontal and stacked… in .eps and .svg.
This folder contains logo images for Velero in gray (for light backgrounds) and white (for dark backgrounds like black t-shirts or dark mode!) horizontal and stacked… in .eps and .svg.
## Some general guidelines for usage

View File

@@ -154,7 +154,7 @@
* Skip completed jobs and pods when restoring (#463, @nrb)
* Set namespace correctly when syncing backups from object storage (#472, @skriss)
* When building on macOS, bind-mount volumes with delegated config (#478, @skriss)
* Add replica sets and daemonsets to cohabitating resources so they're not backed up twice (#482 #485, @skriss)
* Add replica sets and daemonsets to cohabiting resources so they're not backed up twice (#482 #485, @skriss)
* Shut down the Ark server gracefully on SIGINT/SIGTERM (#483, @skriss)
* Only back up resources that support GET and DELETE in addition to LIST and CREATE (#486, @nrb)
* Show a better error message when trying to get an incomplete restore's logs (#496, @nrb)

View File

@@ -0,0 +1,190 @@
## v1.10.0
### 2022-11-23
### Download
https://github.com/vmware-tanzu/velero/releases/tag/v1.10.0
### Container Image
`velero/velero:v1.10.0`
### Documentation
https://velero.io/docs/v1.10/
### Upgrading
https://velero.io/docs/v1.10/upgrade-to-1.10/
### Highlights
#### Unified Repository and Kopia integration
In this release, we introduced the Unified Repository architecture to build a data path where data movers and the backup repository are decoupled and a unified backup repository could serve various data movement activities.
In this release, we also deeply integrate Velero with Kopia, specifically, Kopia's uploader modules are isolated as a generic file system uploader; Kopia's repository modules are encapsulated as the unified backup repository.
For more information, refer to the [design document](https://github.com/vmware-tanzu/velero/blob/v1.10.0/design/unified-repo-and-kopia-integration/unified-repo-and-kopia-integration.md).
#### File system backup refactor
Velero's file system backup (a.k.s. pod volume backup or formerly restic backup) is refactored as the first user of the Unified Repository architecture. Specifically, we added a new path, the Kopia path, besides the existing Restic path. While Restic path is still available and set as default, you can opt in Kopia path by specifying the `uploader-type` parameter at installation time. Meanwhile, you are free to restore from existing backups under either path, Velero dynamically switches to the correct path to process the restore.
Because of the new path, we renamed some modules and parameters, refer to the Break Changes section for more details.
For more information, visit the [file system backup document](https://velero.io/docs/v1.10/file-system-backup/) and [v1.10 upgrade guide document](https://velero.io/docs/v1.10/upgrade-to-1.10/).
Meanwhile, we've created a performance guide for both Restic path and Kopia path, which helps you to choose between the two paths and provides you the best practice to configure them under different scenarios. Please note that the results in the guide are based on our testing environments, you may get different results when testing in your own ones. For more information, visit the [performance guide document](https://velero.io/docs/v1.10/performance-guidance/).
#### Plugin versioning V1 refactor
In this release, Velero moves plugins BackupItemAction, RestoreItemAction and VolumeSnapshotterAction to version v1, this allows future plugin changes that do not support backward compatibility, so is a preparation for various complex tasks, for example, data movement tasks.
For more information, refer to the [plugin versioning design document](https://github.com/vmware-tanzu/velero/blob/v1.10.0/design/plugin-versioning.md).
#### Refactor the controllers using Kubebuilder v3
In this release we continued our code modernization work, rewriting some controllers using Kubebuilder v3. This work is ongoing and we will continue to make progress in future releases.
#### Add credentials to volume snapshot locations
In this release, we enabled dedicate credentials options to volume snapshot locations so that you can specify credentials per volume snapshot location as same as backup storage location.
For more information, please visit the [locations document](https://velero.io/docs/v1.10/locations/).
#### CSI snapshot enhancements
In this release we added several changes to enhance the robustness of CSI snapshot procedures, for example, some protection code for error handling, and a mechanism to skip exclusion checks so that CSI snapshot works with various backup resource filters.
#### Backup schedule pause/unpause
In this release, Velero supports to pause/unpause a backup schedule during or after its creation. Specifically:
At creation time, you can specify `paused` flag to `velero schedule create` command, if so, you will create a paused schedule that will not run until it is unpaused
After creation, you can run `velero schedule pause` or `velero schedule unpause` command to pause/unpause a schedule
#### Runtime and dependencies
In order to fix CVEs, we changed Velero's runtime and dependencies as follows:
Bump go runtime to v1.18.8
Bump some core dependent libraries to newer versions
Compile Restic (v0.13.1) with go 1.18.8 instead of packaging the official binary
#### Breaking changes
Due to file system backup refactor, below modules and parameters name have been changed in this release:
`restic` daemonset is renamed to `node-agent`
`resticRepository` CR is renamed to `backupRepository`
`velero restic repo` command is renamed to `velero repo`
`velero-restic-credentials` secret is renamed to `velero-repo-credentials`
`default-volumes-to-restic` parameter is renamed to `default-volumes-to-fs-backup`
`restic-timeout` parameter is renamed to `fs-backup-timeout`
`default-restic-prune-frequency` parameter is renamed to `default-repo-maintain-frequency`
#### Upgrade
Due to the major changes of file system backup, the old upgrade steps are not suitable any more. For the new upgrade steps, visit [v1.10 upgrade guide document](https://velero.io/docs/v1.10/upgrade-to-1.10/).
#### Limitations/Known issues
In this release, Kopia backup repository (so the Kopia path of file system backup) doesn't support self signed certificate for S3 compatible storage. To track this problem, refer to this [Velero issue](https://github.com/vmware-tanzu/velero/issues/5123) or [Kopia issue](https://github.com/kopia/kopia/issues/1443).
Due to the code change in Velero, there will be some code change required in vSphere plugin, without which the functionality may be impacted. Therefore, if you are using vSphere plugin in your workflow, please hold the upgrade until the issue [#485](https://github.com/vmware-tanzu/velero-plugin-for-vsphere/issues/485) is fixed in vSphere plugin.
### All changes
* Restore ClusterBootstrap before Cluster otherwise a new default ClusterBootstrap object is create for the cluster (#5616, @ywk253100)
* Add compile restic binary for CVE fix (#5574, @qiuming-best)
* Fix controller problematic log output (#5572, @qiuming-best)
* Enhance the restore priorities list to support specifying the low prioritized resources that need to be restored in the last (#5535, @ywk253100)
* fix restic backup progress error (#5534, @qiuming-best)
* fix restic backup failure with self-signed certification backend storage (#5526, @qiuming-best)
* Add credential store in backup deletion controller to support VSL credential. (#5521, @blackpiglet)
* Fix issue 5505: the pod volume backups/restores except the first one fail under the kopia path if "AZURE_CLOUD_NAME" is specified (#5512, @Lyndon-Li)
* After Pod Volume Backup/Restore refactor, remove all the unreasonable appearance of "restic" word from documents (#5499, @Lyndon-Li)
* Refactor Pod Volume Backup/Restore doc to match the new behavior (#5484, @Lyndon-Li)
* Remove redundancy code block left by #5388. (#5483, @blackpiglet)
* Issue fix 5477: create the common way to support S3 compatible object storages that work for both Restic and Kopia; Keep the resticRepoPrefix parameter for compatibility (#5478, @Lyndon-Li)
* Update the k8s.io dependencies to 0.24.0.
This also required an update to github.com/bombsimon/logrusr/v3.
Removed the `WithClusterName` method
as it is a "legacy field that was
always cleared by the system and never used" as per upstream k8s
https://github.com/kubernetes/apimachinery/blob/release-1.24/pkg/apis/meta/v1/types.go#L257-L259 (#5471, @kcboyle)
* Add v1.10 velero upgrade doc (#5468, @qiuming-best)
* Upgrade velero docker image to use go 1.18 and upgrade golangci-lint to 1.45.0 (#5459, @Lyndon-Li)
* Add VolumeSnapshot client back. (#5449, @blackpiglet)
* Change subcommand `velero restic repo` to `velero repo` (#5446, @allenxu404)
* Remove irrational "Restic" names in Velero code after the PVBR refactor (#5444, @Lyndon-Li)
* moved RIA execute input/output structs back to velero package (#5441, @sseago)
* Rename Velero pod volume restore init helper from "velero-restic-restore-helper" to "velero-restore-helper" (#5432, @Lyndon-Li)
* Skip the exclusion check for additional resources returned by BIA (#5429, @reasonerjt)
* Change B/R describe CLI to support Kopia (#5412, @allenxu404)
* Add nil check before execution of csi snapshot delete (#5401, @shubham-pampattiwar)
* update velero using klog to version v2.9.0 (#5396, @blackpiglet)
* Fix Test_prepareBackupRequest_BackupStorageLocation UT failure. (#5394, @blackpiglet)
* Rename Velero daemonset from "restic" to "node-agent" (#5390, @Lyndon-Li)
* Add some corner cases checking for CSI snapshot in backup controller. (#5388, @blackpiglet)
* Fix issue 5386: Velero providers a full URL as the S3Url while the underlying minio client only accept the host part of the URL as the endpoint and the schema should be specified separately. (#5387, @Lyndon-Li)
* Fix restore error with flag namespace-mappings (#5377, @qiuming-best)
* Pod Volume Backup/Restore Refactor: Rename parameters in CRDs and commands to remove "Restic" word (#5370, @Lyndon-Li)
* Added backupController's UT to test the prepareBackupRequest() method BackupStorageLocation processing logic (#5362, @niulechuan)
* Fix a repoEnsurer problem introduced by the refactor - The repoEnsurer didn't check "" state of BackupRepository, as a result, the function GetBackupRepository always returns without an error even though the ensreReady is specified. (#5359, @Lyndon-Li)
* Add E2E test for schedule backup (#5355, @danfengliu)
* Add useOwnerReferencesInBackup field doc for schedule. (#5353, @cleverhu)
* Clarify the help message for the default value of parameter --snapshot-volumes, when it's not set. (#5350, @blackpiglet)
* Fix restore cmd extraflag overwrite bug (#5347, @qiuming-best)
* Resolve gopkg.in/yaml.v3 vulnerabilities by upgrading gopkg.in/yaml.v3 to v3.0.1 (#5344, @kaovilai)
* Increase ensure restic repository timeout to 5m (#5335, @shubham-pampattiwar)
* Add opt-in and opt-out PersistentVolume backup to E2E tests (#5331, @danfengliu)
* Cancel downloadRequest when timeout without downloadURL (#5329, @kaovilai)
* Fix PVB finds wrong parent snapshot (#5322, @qiuming-best)
* Fix issue 4874 and 4752: check the daemonset pod is running in the node where the workload pod resides before running the PVB for the pod (#5319, @Lyndon-Li)
* plugin versioning v1 refactor for VolumeSnapshotter (#5318, @sseago)
* Change the status of restore to completed from partially failed when restore empty backup (#5314, @allenxu404)
* RestoreItemAction v1 refactoring for plugin api versioning (#5312, @sseago)
* Refactor the repoEnsurer code to use controller runtime client and wrap some common BackupRepository operations to share with other modules (#5308, @Lyndon-Li)
* Remove snapshot related lister, informer and client from backup controller. (#5299, @jxun)
* Remove github.com/apex/log logger. (#5297, @blackpiglet)
* change CSISnapshotTimeout from pointer to normal variables. (#5294, @cleverhu)
* Optimize code for restore exists resources. (#5293, @cleverhu)
* Add more detailed comments for labels columns. (#5291, @cleverhu)
* Add backup status checking in schedule controller. (#5283, @blackpiglet)
* Add changes for problems/enhancements found during smoking test for Kopia pod volume backup/restore (#5282, @Lyndon-Li)
* Support pause/unpause schedules (#5279, @ywk253100)
* plugin/clientmgmt refactoring for BackupItemAction v1 (#5271, @sseago)
* Don't move velero v1 plugins to new proto dir (#5263, @sseago)
* Fill gaps for Kopia path of PVBR: integrate Repo Manager with Unified Repo; pass UploaderType to PVBR backupper and restorer; pass RepositoryType to BackupRepository controller and Repo Ensurer (#5259, @Lyndon-Li)
* Add csiSnapshotTimeout for describe backup (#5252, @cleverhu)
* equip gc controller with configurable frequency (#5248, @allenxu404)
* Fix nil pointer panic when restoring StatefulSets (#5247, @divolgin)
* Controller refactor code modifications. (#5241, @jxun)
* Fix edge cases for already exists resources (#5239, @shubham-pampattiwar)
* Check for empty ns list before checking nslist[0] (#5236, @sseago)
* Remove reference to non-existent doc (#5234, @reasonerjt)
* Add changes for Kopia Integration: Kopia Lib - method implementation. Add changes to write Kopia Repository logs to Velero log (#5233, @Lyndon-Li)
* Add changes for Kopia Integration: Kopia Lib - initialize Kopia repo (#5231, @Lyndon-Li)
* Uploader Implementation: Kopia backup and restore (#5221, @qiuming-best)
* Migrate backup sync controller from code-generator to kubebuilder. (#5218, @jxun)
* check vsc null pointer (#5217, @lilongfeng0902)
* Refactor GCController with kubebuilder (#5215, @allenxu404)
* Uploader Implementation: Restic backup and restore (#5214, @qiuming-best)
* Add parameter "uploader-type" to velero server (#5212, @reasonerjt)
* Add annotation "pv.kubernetes.io/migrated-to" for CSI checking. (#5181, @jxun)
* Add changes for Kopia Integration: Unified Repository Provider - method implementation (#5179, @Lyndon-Li)
* Treat namespaces with exclude label as excludedNamespaces
Related issue: #2413 (#5178, @allenxu404)
* Reduce CRD size. (#5174, @jxun)
* Fix restic backups to multiple backup storage locations bug (#5172, @qiuming-best)
* Add changes for Kopia Integration: Unified Repository Provider - Repo Password (#5167, @Lyndon-Li)
* Skip registering "crd-remap-version" plugin when feature flag "EnableAPIGroupVersions" is set (#5165, @reasonerjt)
* Kopia uploader integration on shim progress uploader module (#5163, @qiuming-best)
* Add labeled and unlabeled events for PR changelog check action. (#5157, @jxun)
* VolumeSnapshotLocation refactor with kubebuilder. (#5148, @jxun)
* Delay CA file deletion in PVB controller. (#5145, @jxun)
* This commit splits the pkg/restic package into several packages to support Kopia integration works (#5143, @ywk253100)
* Kopia Integration: Add the Unified Repository Interface definition. Kopia Integration: Add the changes for Unified Repository storage config. Related Issues; #5076, #5080 (#5142, @Lyndon-Li)
* Update the CRD for kopia integration (#5135, @reasonerjt)
* Let "make shell xxx" respect GOPROXY (#5128, @reasonerjt)
* Modify BackupStoreGetter to avoid BSL spec changes (#5122, @sseago)
* Dump stack trace when the plugin server handles panic (#5110, @reasonerjt)
* Make CSI snapshot creation timeout configurable. (#5104, @jxun)
* Fix bsl validation bug: the BSL is validated continually and doesn't respect the validation period configured (#5101, @ywk253100)
* Exclude "csinodes.storage.k8s.io" and "volumeattachments.storage.k8s.io" from restore by default. (#5064, @jxun)
* Move 'velero.io/exclude-from-backup' label string to const (#5053, @niulechuan)
* Modify Github actions. (#5052, @jxun)
* Fix typo in doc, in https://velero.io/docs/main/restore-reference/ "Restore order" section, "Mamespace" should be "Namespace". (#5051, @niulechuan)
* Delete opened issues triage action. (#5041, @jxun)
* When spec.RestoreStatus is empty, don't restore status (#5008, @sseago)
* Added DownloadTargetKindCSIBackupVolumeSnapshots for retrieving the signed URL to download only the `<backup name>`-csi-volumesnapshots.json.gz and DownloadTargetKindCSIBackupVolumeSnapshotContents to download only `<backup name>`-csi-volumesnapshotcontents.json.gz in the DownloadRequest CR structure. These files are already present in the backup layout. (#4980, @anshulahuja98)
* Refactor BackupItemAction proto and related code to backupitemaction/v1 package. This is part of implementation of the plugin version design https://github.com/vmware-tanzu/velero/blob/main/design/plugin-versioning.md (#4943, @phuongatemc)
* Unified Repository Design (#4926, @Lyndon-Li)
* Add credentials to volume snapshot locations (#4864, @sseago)

View File

@@ -0,0 +1,126 @@
## v1.11
### 2023-04-07
### Download
https://github.com/vmware-tanzu/velero/releases/tag/v1.11.0
### Container Image
`velero/velero:v1.11.0`
### Documentation
https://velero.io/docs/v1.11/
### Upgrading
https://velero.io/docs/v1.11/upgrade-to-1.11/
### Highlights
#### BackupItemAction v2
This feature implements the BackupItemAction v2. BIA v2 has two new methods: Progress() and Cancel() and modifies the Execute() return value.
The API change is needed to facilitate long-running BackupItemAction plugin actions that may not be complete when the Execute() method returns. This will allow long-running BackupItemAction plugin actions to continue in the background while the Velero moves to the following plugin or the next item.
#### RestoreItemAction v2
This feature implemented the RestoreItemAction v2. RIA v2 has three new methods: Progress(), Cancel(), and AreAdditionalItemsReady(), and it modifies RestoreItemActionExecuteOutput() structure in the RIA return value.
The Progress() and Cancel() methods are needed to facilitate long-running RestoreItemAction plugin actions that may not be complete when the Execute() method returns. This will allow long-running RestoreItemAction plugin actions to continue in the background while the Velero moves to the following plugin or the next item. The AreAdditionalItemsReady() method is needed to allow plugins to tell Velero to wait until the returned additional items have been restored and are ready for use in the cluster before restoring the current item.
#### Plugin Progress Monitoring
This is intended as a replacement for the previously-approved Upload Progress Monitoring design ([Upload Progress Monitoring](https://github.com/vmware-tanzu/velero/blob/main/design/upload-progress.md)) to expand the supported use cases beyond snapshot upload to include what was previously called Async Backup/Restore Item Actions.
#### Flexible resource policy that can filter volumes to skip in the backup
This feature provides a flexible policy to filter volumes in the backup without requiring patching any labels or annotations to the pods or volumes. This policy is configured as k8s ConfigMap and maintained by the users themselves, and it can be extended to more scenarios in the future. By now, the policy rules out volumes from backup depending on the CSI driver, NFS setting, volume size, and StorageClass setting. Please refer to [policy API design](https://github.com/vmware-tanzu/velero/blob/main/design/Implemented/handle-backup-of-volumes-by-resources-filters.md#api-design) for the policy's ConifgMap format. It is not guaranteed to work on unofficial third-party plugins as it may not follow the existing backup workflow code logic of Velero.
#### Resource Filters that can distinguish cluster scope and namespace scope resources
This feature adds four new resource filters for backup. The new filters are separated into cluster scope and namespace scope. Before this feature, Velero could not filter cluster scope resources precisely. This feature provides the ability and refactors existing resource filter parameters.
#### Add a parameter for setting the Velero server connection with the k8s API server's timeout
In Velero, some code pieces need to communicate with the k8s API server. Before v1.11, these code pieces used hard-code timeout settings. This feature adds a resource-timeout parameter in the velero server binary to make it configurable.
#### Add resource list in the output of the restore describe command
Before this feature, Velero restore didn't have a restored resources list as the Velero backup. It's not convenient for users to learn what is restored. This feature adds the resources list and the handling result of the resources (including created, updated, failed, and skipped).
#### Refactor controllers with controller-runtime
In v1.11, Backup Controller and Restore controller are refactored with controller-runtime. Till v1.11, all Velero controllers use the controller-runtime framework.
#### Runtime and dependencies
To fix CVEs and keep pace with Golang, Velero made changes as follows:
* Bump Golang runtime to v1.19.8.
* Bump several dependent libraries to new versions.
* Compile Restic (v0.15.0) with Golang v1.19.8 instead of packaging the official binary.
### Breaking changes
* The Velero CSI plugin now determines whether to restore Volume's data from snapshots on the restore's restorePVs setting. Before v1.11, the CSI plugin doesn't check the restorePVs parameter setting.
### Limitations/Known issues
* The Flexible resource policy that can filter volumes to skip in the backup is not guaranteed to work on unofficial third-party plugins because the plugins may not follow the existing backup workflow code logic of Velero. The ConfigMap used as the policy is supposed to be maintained by users.
### All Changes
* Modify new scope resource filters name. (#6089, @blackpiglet)
* Make Velero not exits when EnableCSI is on and CSI snapshot not installed (#6062, @blackpiglet)
* Restore Services before Clusters (#6057, @ywk253100)
* Fixed backup deletion bug related to async operations (#6041, @sseago)
* Update Golang version to v1.19 for branch main. (#6039, @blackpiglet)
* Fix issue #5972, don't assume errorField as error type when dealing with logger.WithError (#6028, @Lyndon-Li)
* distinguish between New and InProgress operations (#6012, @sseago)
* Modify golangci.yaml file. Resolve found lint issues. (#6008, @blackpiglet)
* Remove Reference of itemsnapshotter (#5997, @reasonerjt)
* minor fixes for backup_operations_controller (#5996, @sseago)
* RIAv2 async operations controller work (#5993, @sseago)
* Follow-on fixes for BIAv2 controller work (#5971, @sseago)
* Refactor backup controller based on the controller-runtime framework. (#5969, @qiuming-best)
* Fix client wait problem after async operation change, velero backup/restore --wait should check a full list of the terminal status (#5964, @Lyndon-Li)
* Fix issue #5935, refactor the logics for backup/restore persistent log, so as to remove the contest to gzip writer (#5956, @Lyndon-Li)
* Switch the base image to distroless/base-nossl-debian11 to reduce the CVE triage efforts (#5939, @ywk253100)
* Wait for additional items to be ready before restoring current item (#5933, @sseago)
* Add configurable server setting for default timeouts (#5926, @eemcmullan)
* Add warning/error result to cmd `velero backup describe` (#5916, @allenxu404)
* Fix Dependabot alerts. Use 1.18 and 1.19 golang instead of patch image in dockerfile. Add release-1.10 and release-1.9 in Trivy daily scan. (#5911, @blackpiglet)
* Update client-go to v0.25.6 (#5907, @kaovilai)
* Limit the concurrent number for backup's VolumeSnapshot operation. (#5900, @blackpiglet)
* Fix goreleaser issue for resolving tags and updated it's version. (#5899, @anshulahuja98)
* This is to fix issue 5881, enhance the PVB tracker in two modes, Track and Taken (#5894, @Lyndon-Li)
* Add labels for velero installed namespace to support PSA. (#5873, @blackpiglet)
* Add restored resource list in the restore describe command (#5867, @ywk253100)
* Add a json output to cmd velero backup describe (#5865, @allenxu404)
* Make restore controller adopting the controller-runtime framework. (#5864, @blackpiglet)
* Replace k8s.io/apimachinery/pkg/util/clock with k8s.io/utils/clock (#5859, @hezhizhen)
* Restore finalizer and managedFields of metadata during the restoration (#5853, @ywk253100)
* BIAv2 async operations controller work (#5849, @sseago)
* Add secret restore item action to handle service account token secret (#5843, @ywk253100)
* Add new resource filters can separate cluster and namespace scope resources. (#5838, @blackpiglet)
* Correct PVB/PVR Failed Phase patching during startup (#5828, @kaovilai)
* bump up golang net to fix CVE-2022-41721 (#5812, @Lyndon-Li)
* Update CRD descriptions for SnapshotVolumes and restorePVs (#5807, @shubham-pampattiwar)
* Add mapped selected-node existence check (#5806, @blackpiglet)
* Add option "--service-account-name" to install cmd (#5802, @reasonerjt)
* Enable staticcheck linter. (#5788, @blackpiglet)
* Set Kopia IgnoreUnknownTypes in ErrorHandlingPolicy to True for ignoring backup unknown file type (#5786, @qiuming-best)
* Bump up Restic version to 0.15.0 (#5784, @qiuming-best)
* Add File system backup related metrics to Grafana dashboard
- Add metrics backup_warning_total for record of total warnings
- Add metrics backup_last_status for record of last status of the backup (#5779, @allenxu404)
* Design for Handling backup of volumes by resources filters (#5773, @qiuming-best)
* Add PR container build action, which will not push image. Add GOARM parameter. (#5771, @blackpiglet)
* Fix issue 5458, track pod volume backup until the CR is submitted in case it is skipped half way (#5769, @Lyndon-Li)
* Fix issue 5226, invalidate the related backup repositories whenever the backup storage info change in BSL (#5768, @Lyndon-Li)
* Add Restic builder in Dockerfile, and keep the used built Golang image version in accordance with upstream Restic. (#5764, @blackpiglet)
* Fix issue 5043, after the restore pod is scheduled, check if the node-agent pod is running in the same node. (#5760, @Lyndon-Li)
* Remove restore controller's redundant client. (#5759, @blackpiglet)
* Define itemoperations.json format and update DownloadRequest API (#5752, @sseago)
* Add Trivy nightly scan. (#5740, @jxun)
* Fix issue 5696, check if the repo is still openable before running the prune and forget operation, if not, try to reconnect the repo (#5715, @Lyndon-Li)
* Fix error with Restic backup empty volumes (#5713, @qiuming-best)
* new backup and restore phases to support async plugin operations:
- WaitingForPluginOperations
- WaitingForPluginOperationsPartiallyFailed (#5710, @sseago)
* Prevent nil panic on exec restore hooks (#5675, @dymurray)
* Fix CVEs scanned by trivy (#5653, @qiuming-best)
* Publish backupresults json to enhance error info during backups. (#5576, @anshulahuja98)
* RestoreItemAction v2 API implementation (#5569, @sseago)
* add new RestoreItemAction of "velero.io/change-image-name" to handle the issue mentioned at #5519 (#5540, @wenterjoy)
* BackupItemAction v2 API implementation (#5442, @sseago)
* Proposal to separate resource filter into cluster scope and namespace scope (#5333, @blackpiglet)

View File

@@ -0,0 +1,134 @@
## v1.12
### 2023-08-18
### Download
https://github.com/vmware-tanzu/velero/releases/tag/v1.12.0
### Container Image
`velero/velero:v1.12.0`
### Documentation
https://velero.io/docs/v1.12/
### Upgrading
https://velero.io/docs/v1.12/upgrade-to-1.12/
### Highlights
#### CSI Snapshot Data Movement
CSI Snapshot Data Movement refers to back up CSI snapshot data from the volatile and limited production environment into durable, heterogeneous, and scalable backup storage in a consistent manner; and restore the data to volumes in the original or alternative environment.
CSI Snapshot Data Movement is useful in below scenarios:
* For on-premises users, the storage usually doesn't support durable snapshots, so it is impossible/less efficient/cost ineffective to keep volume snapshots by the storage This feature helps to move the snapshot data to a storage with lower cost and larger scale for long time preservation.
* For public cloud users, this feature helps users to fulfill the multiple cloud strategy. It allows users to back up volume snapshots from one cloud provider and preserve or restore the data to another cloud provider. Then users will be free to flow their business data across cloud providers based on Velero backup and restore
CSI Snapshot Data Movement is built according to the Volume Snapshot Data Movement design ([Volume Snapshot Data Movement](https://github.com/vmware-tanzu/velero/blob/main/design/Implemented/unified-repo-and-kopia-integration/unified-repo-and-kopia-integration.md)). More details can be found in the design.
#### Resource Modifiers
In many use cases, customers often need to substitute specific values in Kubernetes resources during the restoration process like changing the namespace, changing the storage class, etc.
To address this need, Resource Modifiers (also known as JSON Substitutions) offer a generic solution in the restore workflow. It allows the user to define filters for specific resources and then specify a JSON patch (operator, path, value) to apply to the resource. This feature simplifies the process of making substitutions without requiring the implementation of a new RestoreItemAction plugin. More details can be found in Volume Snapshot Resource Modifiers design ([Resource Modifiers](https://github.com/vmware-tanzu/velero/blob/main/design/Implemented/json-substitution-action-design.md)).
#### Multiple VolumeSnapshotClasses
Prior to version 1.12, the Velero CSI plugin would choose the VolumeSnapshotClass in the cluster based on matching driver names and the presence of the "velero.io/csi-volumesnapshot-class" label. However, this approach proved inadequate for many user scenarios.
With the introduction of version 1.12, Velero now offers support for multiple VolumeSnapshotClasses in the CSI Plugin, enabling users to select a specific class for a particular backup. More details can be found in Multiple VolumeSnapshotClasses design ([Multiple VolumeSnapshotClasses](https://github.com/vmware-tanzu/velero/blob/main/design/Implemented/multiple-csi-volumesnapshotclass-support.md)).
#### Restore Finalizer
Before v1.12, the restore controller would only delete restore resources but wouldnt delete restore data from the backup storage location when the command `velero restore delete` was executed. The only chance Velero deletes restores data from the backup storage location is when the associated backup is deleted.
In this version, Velero introduces a finalizer that ensures the cleanup of all associated data for restores when running the command `velero restore delete`.
#### Runtime and dependencies
To fix CVEs and keep pace with Golang, Velero made changes as follows:
* Bump Golang runtime to v1.20.7.
* Bump several dependent libraries to new versions.
* Bump Kopia to v0.13.
### Breaking changes
* Prior to v1.12, the parameter `uploader-type` for Velero installation had a default value of "restic". However, starting from this version, the default value has been changed to "kopia". This means that Velero will now use Kopia as the default path for file system backup.
* The ways of setting CSI snapshot time have changed in v1.12. First, the sync waiting time for creating a snapshot handle in the CSI plugin is changed from the fixed 10 minutes into backup.Spec.CSISnapshotTimeout. The second, the async waiting time for VolumeSnapshot and VolumeSnapshotContent's status turning into `ReadyToUse` in operation uses the operation's timeout. The default value is 4 hours.
* As from [Velero helm chart v4.0.0](https://github.com/vmware-tanzu/helm-charts/releases/tag/velero-4.0.0), it supports multiple BSL and VSL, and the BSL and VSL have changed from the map into a slice, and[ this breaking change](https://github.com/vmware-tanzu/helm-charts/pull/413) is not backward compatible. So it would be best to change the BSL and VSL configuration into slices before the Upgrade.
### Limitations/Known issues
* The Azure plugin supports Azure AD Workload identity way, but it only works for Velero native snapshots. It cannot support filesystem backup and snapshot data mover scenarios.
### All Changes
* Fixes #6498. Get resource client again after restore actions in case resource's gv is changed. This is an improvement of pr #6499, to support group changes. A group change usually happens in a restore plugin which is used for resource conversion: convert a resource from a not supported gv to a supported gv (#6634, @27149chen)
* Add API support for volMode block, only error for now. (#6608, @shawn-hurley)
* Fix how the AWS credentials are obtained from configuration (#6598, @aws_creds)
* Add performance E2E test (#6569, @qiuming-best)
* Non default s3 credential profiles work on Unified Repository Provider (kopia) (#6558, @kaovilai)
* Fix issue #6571, fix the problem for restore item operation to set the errors correctly so that they can be recorded by Velero restore and then reflect the correct status for Velero restore. (#6594, @Lyndon-Li)
* Fix issue 6575, flush the repo after delete the snapshot, otherwise, the changes(deleting repo snapshot) cannot be committed to the repo. (#6587, @Lyndon-Li)
* Delete moved snapshots when the backup is deleted (#6547, @reasonerjt)
* check if restore crd exist before operating restores (#6544, @allenxu404)
* Remove PVC's selector in backup's PVC action. (#6481, @blackpiglet)
* Delete the expired deletebackuprequests that are stuck in "InProgress" (#6476, @reasonerjt)
* Fix issue #6534, reset PVB CR's StorageLocation to the latest one during backup sync as same as the backup CR. Also fix similar problem with DataUploadResult for data mover restore. (#6533, @Lyndon-Li)
* Fix issue #6519. Restrict the client manager of node-agent server to include only Velero resources from the server's namespace, otherwise, the controllers will try to reconcile CRs from all the installed Velero namespaces. (#6523, @Lyndon-Li)
* Track the skipped PVC and print the summary in backup log (#6496, @reasonerjt)
* Add restore finalizer to clean up external resources (#6479, @allenxu404)
* fix: Typos and add more spell checking rules to CI (#6415, @mateusoliveira43)
* Add missing CompletionTimestamp and metrics when restore moved into terminal phase in restoreOperationsReconciler (#6397, @Nutrymaco)
* Add support for resource Modifications in the restore flow. Also known as JSON Substitutions. (#6452, @anshulahuja98)
* Remove dependency of the legacy client code from pkg/cmd directory part 2 (#6497, @blackpiglet)
* Add data upload and download metrics (#6493, @allenxu404)
* Fix issue 6490, If a backup/restore has multiple async operations and one operation fails while others are still in-progress, when all the operations finish, the backup/restore will be set as Completed falsely (#6491, @Lyndon-Li)
* Velero Plugins no longer need kopia indirect dependency in their go.mod (#6484, @kaovilai)
* Remove dependency of the legacy client code from pkg/cmd directory (#6469, @blackpiglet)
* Add support for OpenStack CSI drivers topology keys (#6464, @openstack-csi-topology-keys)
* Add exit code log and possible memory shortage warning log for Restic command failure. (#6459, @blackpiglet)
* Modify DownloadRequest controller logic (#6433, @blackpiglet)
* Add data download controller for data mover (#6436, @qiuming-best)
* Fix hook filter display issue for backup describer (#6434, @allenxu404)
* Retrieve DataUpload into backup result ConfigMap during volume snapshot restore. (#6410, @blackpiglet)
* Design to add support for Multiple VolumeSnapshotClasses in CSI Plugin. (#5774, @anshulahuja98)
* Clarify the deletion frequency for gc controller (#6414, @allenxu404)
* Add unit tests for pkg/archive (#6396, @allenxu404)
* Add UT for pkg/discovery (#6394, @qiuming-best)
* Add UT for pkg/util (#6368, @Lyndon-Li)
* Add the code for data mover restore expose (#6357, @Lyndon-Li)
* Restore Endpoints before Services (#6315, @ywk253100)
* Add warning message for volume snapshotter in data mover case. (#6377, @blackpiglet)
* Add unit test for pkg/uploader (#6374, @qiuming-best)
* Change kopia as the default path of PVB (#6370, @Lyndon-Li)
* Do not persist VolumeSnapshot and VolumeSnapshotContent for snapshot DataMover case. (#6366, @blackpiglet)
* Add data mover related options in CLI (#6365, @ywk253100)
* Add dataupload controller (#6337, @qiuming-best)
* Add UT cases for pkg/podvolume (#6336, @Lyndon-Li)
* Remove Wait VolumeSnapshot to ReadyToUse logic. (#6327, @blackpiglet)
* Enhance the code because of #6297, the return value of GetBucketRegion is not recorded, as a result, when it fails, we have no way to get the cause (#6326, @Lyndon-Li)
* Skip updating status when CRDs are restored (#6325, @reasonerjt)
* Include namespaces needed by namespaced-scope resources in backup. (#6320, @blackpiglet)
* Update metrics when backup failed with validation error (#6318, @ywk253100)
* Add the code for data mover backup expose (#6308, @Lyndon-Li)
* Fix a PVR issue for generic data path -- the namespace remap was not honored, and enhance the code for better error handling (#6303, @Lyndon-Li)
* Add default values for defaultItemOperationTimeout and itemOperationSyncFrequency in velero CLI (#6298, @shubham-pampattiwar)
* Add UT cases for pkg/repository (#6296, @Lyndon-Li)
* Fix issue #5875. Since Kopia has supported IAM, Velero should not require static credentials all the time (#6283, @Lyndon-Li)
* Fixed a bug where status.progress is not getting updated for backups. (#6276, @kkothule)
* Add code change for async generic data path that is used by both PVB/PVR and data mover (#6226, @Lyndon-Li)
* Add data mover CRD under v2alpha1, include DataUpload CRD and DataDownload CRD (#6176, @Lyndon-Li)
* Remove any dataSource or dataSourceRef fields from PVCs in PVC BIA for cases of
prior PVC restores with CSI (#6111, @eemcmullan)
* Add the design for Volume Snapshot Data Movement (#5968, @Lyndon-Li)
* Fix issue #5123, Kopia repository supports self-cert CA for S3 compatible storage. (#6268, @Lyndon-Li)
* Bump up Kopia to v0.13 (#6248, @Lyndon-Li)
* log volumes to backup to help debug why `IsPodRunning` is called. (#6232, @kaovilai)
* Enable errcheck linter and resolve found issues (#6208, @blackpiglet)
* Enable more linters, and remove mal-functioned milestoned issue action. (#6194, @blackpiglet)
* Enable stylecheck linter and resolve found issues. (#6185, @blackpiglet)
* Fix issue #6182. If pod is not running, don't treat it as an error, let it go and leave a warning. (#6184, @Lyndon-Li)
* Enable staticcheck and resolve found issues (#6183, @blackpiglet)
* Enable linter revive and resolve found errors: part 2 (#6177, @blackpiglet)
* Enable linter revive and resolve found errors: part 1 (#6173, @blackpiglet)
* Fix usestdlibvars and whitespace linters issues. (#6162, @blackpiglet)
* Update Golang to v1.20 for main. (#6158, @blackpiglet)
* Make GetPluginConfig accessible from other packages. (#6151, @tkaovila)
* Ignore not found error during patching managedFields (#6136, @ywk253100)
* Fix the goreleaser issues and add a new goreleaser action (#6109, @blackpiglet)

View File

@@ -0,0 +1,166 @@
## v1.13
### 2024-01-10
### Download
https://github.com/vmware-tanzu/velero/releases/tag/v1.13.0
### Container Image
`velero/velero:v1.13.0`
### Documentation
https://velero.io/docs/v1.13/
### Upgrading
https://velero.io/docs/v1.13/upgrade-to-1.13/
### Highlights
#### Resource Modifier Enhancement
Velero introduced the Resource Modifiers in v1.12.0. This feature allows users to specify a ConfigMap with a set of rules to modify the resources during restoration. However, only the JSON Patch is supported when creating the rules, and JSON Patch has some limitations, which cannot cover all use cases. In v1.13.0, Velero adds new support for JSON Merge Patch and Strategic Merge Patch, which provide more power and flexibility and allow users to use the same ConfigMap to apply patches on the resources. More design details can be found in [Support JSON Merge Patch and Strategic Merge Patch in Resource Modifiers](https://github.com/vmware-tanzu/velero/blob/main/design/Implemented/merge-patch-and-strategic-in-resource-modifier.md) design. For instructions on how to use the feature, please refer to the [Resource Modifiers](https://velero.io/docs/v1.13/restore-resource-modifiers/) doc.
#### Node-Agent Concurrency
Velero data movement activities from fs-backups and CSI snapshot data movements run in Velero node-agent, so may be hosted by every node in the cluster and consume resources (i.e. CPU, memory, network bandwidth) from there. With v1.13, users are allowed to configure how many data movement activities (a.k.a, loads) run in each node globally or by node, so that users can better leverage the performance of Velero data movement activities and the resource consumption in the cluster. For more information, check the [Node-Agent Concurrency](https://velero.io/docs/v1.13/node-agent-concurrency/) document.
#### Parallel Files Upload Options
Velero now supports configurable options for parallel files upload when using Kopia uploader to do fs-backups or CSI snapshot data movements which makes speed up backup possible.
For more information, please check [Here](https://velero.io/docs/v1.13/backup-reference/#parallel-files-upload).
#### Write Sparse Files Options
If using fs-restore or CSI snapshot data movements, its supported to write sparse files during restore. For more information, please check [Here](https://velero.io/docs/v1.13/restore-reference/#write-sparse-files).
#### Backup Describe
In v1.13, the Backup Volume section is added to the velero backup describe command output. The backup Volumes section describes information for all the volumes included in the backup of various backup types, i.e. native snapshot, fs-backup, CSI snapshot, and CSI snapshot data movement. Particularly, the velero backup description now supports showing the information of CSI snapshot data movements, which is not supported in v1.12.
Additionally, backup describe command will not check EnableCSI feature gate from client side, so if a backup has volumes with CSI snapshot or CSI snapshot data movement, backup describe command always shows the corresponding information in its output.
#### Backup's new VolumeInfo metadata
Create a new metadata file in the backup repository's backup name sub-directory to store the backup-including PVC and PV information. The information includes the backing-up method of the PVC and PV data, snapshot information, and status. The VolumeInfo metadata file determines how the PV resource should be restored. The Velero downstream software can also use this metadata file to get a summary of the backup's volume data information.
#### Enhancement for CSI Snapshot Data Movements when Velero Pod Restart
When performing backup and restore operations, enhancements have been implemented for Velero server pods or node agents to ensure that the current backup or restore process is not stuck or interrupted after restart due to certain exceptional circumstances.
#### New status fields added to show hook execution details
Hook execution status is now included in the backup/restore CR status and displayed in the backup/restore describe command output. Specifically, it will show the number of hooks which attempted to execute under the HooksAttempted field and the number of hooks which failed to execute under the HooksFailed field.
#### AWS SDK Bump Up
Bump up AWS SDK for Go to version 2, which offers significant performance improvements in CPU and memory utilization over version 1.
#### Azure AD/Workload Identity Support
Azure AD/Workload Identity is the recommended approach to do the authentication with Azure services/AKS, Velero has introduced support for Azure AD/Workload Identity on the Velero Azure plugin side in previous releases, and in v1.13.0 Velero adds new support for Kopia operations(file system backup/data mover/etc.) with Azure AD/Workload Identity.
#### Runtime and dependencies
To fix CVEs and keep pace with Golang, Velero made changes as follows:
* Bump Golang runtime to v1.21.6.
* Bump several dependent libraries to new versions.
* Bump Kopia to v0.15.0.
### Breaking changes
* Backup describe command: due to the backup describe output enhancement, some existing information (i.e. the output for native snapshot, CSI snapshot, and fs-backup) has been moved to the Backup Volumes section with some format changes.
* API type changes: changes the field [DataMoverConfig](https://github.com/vmware-tanzu/velero/blob/v1.13.0/pkg/apis/velero/v2alpha1/data_upload_types.go#L54) in DataUploadSpec from `*map[string][string]`` to `map[string]string`
* Velero install command: due to the issue [#7264](https://github.com/vmware-tanzu/velero/issues/7264), v1.13.0 introduces a break change that make the informer cache enabled by default to keep the actual behavior consistent with the helper message(the informer cache is disabled by default before the change).
### Limitations/Known issues
* The backup's VolumeInfo metadata doesn't have the information updated in the async operations. This function could be supported in v1.14 release.
### Note
* Velero introduces the informer cache which is enabled by default. The informer cache improves the restore performance but may cause higher memory consumption. Increase the memory limit of the Velero pod or disable the informer cache by specifying the `--disable-informer-cache` option when installing Velero if you get the OOM error.
### Deprecation announcement
* The generated k8s clients, informers, and listers are deprecated in the Velero v1.13 release. They are put in the Velero repository's pkg/generated directory. According to the n+2 supporting policy, the deprecated are kept for two more releases. The pkg/generated directory should be deleted in the v1.15 release.
* After the backup VolumeInfo metadata file is added to the backup, Velero decides how to restore the PV resource according to the VolumeInfo content. To support the backup generated by the older version of Velero, the old logic is also kept. The support for the backup without the VolumeInfo metadata file will be kept for two releases. The support logic will be deleted in the v1.15 release.
### All Changes
* Make "disable-informer-cache" option false(enabled) by default to keep it consistent with the help message (#7294, @ywk253100)
* Fix issue #6928, remove snapshot deletion timeout for PVB (#7282, @Lyndon-Li)
* Do not set "targetNamespace" to namespace items (#7274, @reasonerjt)
* Fix issue #7244. By the end of the upload, check the outstanding incomplete snapshots and delete them by calling ApplyRetentionPolicy (#7245, @Lyndon-Li)
* Adjust the newline output of resource list in restore describer (#7238, @allenxu404)
* Remove the redundant newline in backup describe output (#7229, @allenxu404)
* Fix issue #7189, data mover generic restore - don't assume the first volume as the restore volume (#7201, @Lyndon-Li)
* Update CSIVolumeSnapshotsCompleted in backup's status and the metric
during backup finalize stage according to async operations content. (#7184, @blackpiglet)
* Refactor DownloadRequest Stream function (#7175, @blackpiglet)
* Add `--skip-immediately` flag to schedule commands; `--schedule-skip-immediately` server and install (#7169, @kaovilai)
* Add node-agent concurrency doc and change the config name from dataPathConcurrency to loadCocurrency (#7161, @Lyndon-Li)
* Enhance hooks tracker by adding a returned error to record function (#7153, @allenxu404)
* Track the skipped PV when SnapshotVolumes set as false (#7152, @reasonerjt)
* Add more linters part 2. (#7151, @blackpiglet)
* Fix issue #7135, check pod status before checking node-agent pod status (#7150, @Lyndon-Li)
* Treat namespace as a regular restorable item (#7143, @reasonerjt)
* Allow sparse option for Kopia & Restic restore (#7141, @qiuming-best)
* Use VolumeInfo to help restore the PV. (#7138, @blackpiglet)
* Node agent restart enhancement (#7130, @qiuming-best)
* Fix issue #6695, add describe for data mover backups (#7125, @Lyndon-Li)
* Add hooks status to backup/restore CR (#7117, @allenxu404)
* Include plugin name in the error message by operations (#7115, @reasonerjt)
* Fix issue #7068, due to a behavior of CSI external snapshotter, manipulations of VS and VSC may not be handled in the same order inside external snapshotter as the API is called. So add a protection finalizer to ensure the order (#7102, @Lyndon-Li)
* Generate VolumeInfo for backup. (#7100, @blackpiglet)
* Fix issue #7094, fallback to full backup if previous snapshot is not found (#7096, @Lyndon-Li)
* Fix issue #7068, due to an behavior of CSI external snapshotter, manipulations of VS and VSC may not be handled in the same order inside external snapshotter as the API is called. So add a protection finalizer to ensure the order (#7095, @Lyndon-Li)
* Skip syncing the backup which doesn't contain backup metadata (#7081, @ywk253100)
* Fix issue #6693, partially fail restore if CSI snapshot is involved but CSI feature is not ready, i.e., CSI feature gate is not enabled or CSI plugin is not installed. (#7077, @Lyndon-Li)
* Truncate the credential file to avoid the change of secret content messing it up (#7072, @ywk253100)
* Add VolumeInfo metadata structures. (#7070, @blackpiglet)
* improve discoveryHelper.Refresh() in restore (#7069, @27149chen)
* Add DataUpload Result and CSI VolumeSnapshot check for restore PV. (#7061, @blackpiglet)
* Add the implementation for design #6950, configurable data path concurrency (#7059, @Lyndon-Li)
* Make data mover fail early (#7052, @qiuming-best)
* Remove dependency of generated client part 3. (#7051, @blackpiglet)
* Update Backup.Status.CSIVolumeSnapshotsCompleted during finalize (#7046, @kaovilai)
* Remove the Velero generated client. (#7041, @blackpiglet)
* Fix issue #7027, data mover backup exposer should not assume the first volume as the backup volume in backup pod (#7038, @Lyndon-Li)
* Read information from the credential specified by BSL (#7034, @ywk253100)
* Fix #6857. Added check for matching Owner References when synchronizing backups, removing references that are not found/have mismatched uid. (#7032, @deefdragon)
* Add description markers for dataupload and datadownload CRDs (#7028, @shubham-pampattiwar)
* Add HealthCheckNodePort deletion logic for Service restore. (#7026, @blackpiglet)
* Fix inconsistent behavior of Backup and Restore hook execution (#7022, @allenxu404)
* Fix #6964. Don't use csiSnapshotTimeout (10 min) for waiting snapshot to readyToUse for data mover, so as to make the behavior complied with CSI snapshot backup (#7011, @Lyndon-Li)
* restore: Use warning when Create IsAlreadyExist and Get error (#7004, @kaovilai)
* Bump kopia to 0.15.0 (#7001, @Lyndon-Li)
* Make Kopia file parallelism configurable (#7000, @qiuming-best)
* Fix unified repository (kopia) s3 credentials profile selection (#6995, @kaovilai)
* Fix #6988, always get region from BSL if it is not empty (#6990, @Lyndon-Li)
* Limit PVC block mode logic to non-Windows platform. (#6989, @blackpiglet)
* It is a valid case that the Status.RestoreSize field in VolumeSnapshot is not set, if so, get the volume size from the source PVC to create the backup PVC (#6976, @Lyndon-Li)
* Check whether the action is a CSI action and whether CSI feature is enabled, before executing the action. (#6968, @blackpiglet)
* Add the PV backup information design document. (#6962, @blackpiglet)
* Change controller-runtime List option from MatchingFields to ListOptions (#6958, @blackpiglet)
* Add the design for node-agent concurrency (#6950, @Lyndon-Li)
* Import auth provider plugins (#6947, @0x113)
* Fix #6668, add a limitation for file system restore parallelism with other types of restores (CSI snapshot restore, CSI snapshot movement restore) (#6946, @Lyndon-Li)
* Add MSI Support for Azure plugin. (#6938, @yanggangtony)
* Partially fix #6734, guide Kubernetes' scheduler to spread backup pods evenly across nodes as much as possible, so that data mover backup could achieve better parallelism (#6926, @Lyndon-Li)
* Bump up aws sdk to aws-sdk-go-v2 (#6923, @reasonerjt)
* Optional check if targeted container is ready before executing a hook (#6918, @Ripolin)
* Support JSON Merge Patch and Strategic Merge Patch in Resource Modifiers (#6917, @27149chen)
* Fix issue 6913: Velero Built-in Datamover: Backup stucks in phase WaitingForPluginOperations when Node Agent pod gets restarted (#6914, @shubham-pampattiwar)
* Set ParallelUploadAboveSize as MaxInt64 and flush repo after setting up policy so that policy is retrieved correctly by TreeForSource (#6885, @Lyndon-Li)
* Replace the base image with paketobuildpacks image (#6883, @ywk253100)
* Fix issue #6859, move plugin depending podvolume functions to util pkg, so as to remove the dependencies to unnecessary repository packages like kopia, azure, etc. (#6875, @Lyndon-Li)
* Fix #6861. Only Restic path requires repoIdentifier, so for non-restic path, set the repoIdentifier fields as empty in PVB and PVR and also remove the RepoIdentifier column in the get output of PVBs and PVRs (#6872, @Lyndon-Li)
* Add volume types filter in resource policies (#6863, @qiuming-best)
* change the metrics backup_attempt_total default value to 1. (#6838, @yanggangtony)
* Bump kopia to v0.14 (#6833, @Lyndon-Li)
* Retry failed create when using generateName (#6830, @sseago)
* Fix issue #6786, always delete VSC regardless of the deletion policy (#6827, @Lyndon-Li)
* Proposal to support JSON Merge Patch and Strategic Merge Patch in Resource Modifiers (#6797, @27149chen)
* Fix the node-agent missing metrics-address defines. (#6784, @yanggangtony)
* Fix default BSL setting not work (#6771, @qiuming-best)
* Update restore controller logic for restore deletion (#6770, @ywk253100)
* Fix #6752: add namespace exclude check. (#6760, @blackpiglet)
* Fix issue #6753, remove the check for read-only BSL in restore async operation controller since Velero cannot fully support read-only mode BSL in restore at present (#6757, @Lyndon-Li)
* Fix issue #6647, add the --default-snapshot-move-data parameter to Velero install, so that users don't need to specify --snapshot-move-data per backup when they want to move snapshot data for all backups (#6751, @Lyndon-Li)
* Use old(origin) namespace in resource modifier conditions in case namespace may change during restore (#6724, @27149chen)
* Perf improvements for existing resource restore (#6723, @sseago)
* Remove schedule-related metrics on schedule delete (#6715, @nilesh-akhade)
* Kubernetes 1.27 new job label batch.kubernetes.io/controller-uid are deleted during restore per https://github.com/kubernetes/kubernetes/pull/114930 (#6712, @kaovilai)
* This pr made some improvements in Resource Modifiers: 1. add label selector 2. change the field name from groupKind to groupResource (#6704, @27149chen)
* Make Kopia support Azure AD (#6686, @ywk253100)
* Add support for block volumes with Kopia (#6680, @dzaninovic)
* Delete PartiallyFailed orphaned backups as well as Completed ones (#6649, @sseago)
* Add CSI snapshot data movement doc (#6637, @Lyndon-Li)
* Fixes #6636, skip subresource in resource discovery (#6635, @27149chen)
* Add `orLabelSelectors` for backup, restore commands (#6475, @nilesh-akhade)
* fix run preHook and postHook on completed pods (#5211, @cleverhu)

View File

@@ -0,0 +1,131 @@
## v1.14.1
### Download
https://github.com/vmware-tanzu/velero/releases/tag/v1.14.1
### Container Image
`velero/velero:v1.14.1`
### Documentation
https://velero.io/docs/v1.14/
### Upgrading
https://velero.io/docs/v1.14/upgrade-to-1.14/
### All Changes
* Avoid wrapping failed PVB status with empty message. (#8037, @mrnold)
* Make PVPatchMaximumDuration timeout configurable (#8035, @shubham-pampattiwar)
* Reuse existing plugin manager for get/put volume info (#8016, @sseago)
* Skip PV patch step in Restoe workflow for WaitForFirstConsumer VolumeBindingMode Pending state PVCs (#8006, @shubham-pampattiwar)
* Check whether the namespaces specified in namespace filter exist. (#7998, @blackpiglet)
* Check whether the volume's source is PVC before fetching its PV. (#7976, @blackpiglet)
* Fix issue #7904, add the limitation clarification for change PVC selected-node feature (#7949, @Lyndon-Li)
* Expose the VolumeHelper to third-party plugins. (#7944, @blackpiglet)
* Don't consider unschedulable pods unrecoverable (#7926, @sseago)
## v1.14
### Download
https://github.com/vmware-tanzu/velero/releases/tag/v1.14.0
### Container Image
`velero/velero:v1.14.0`
### Documentation
https://velero.io/docs/v1.14/
### Upgrading
https://velero.io/docs/v1.14/upgrade-to-1.14/
### Highlights
#### The maintenance work for kopia/restic backup repositories is run in jobs
Since velero started using kopia as the approach for filesystem-level backup/restore, we've noticed an issue when velero connects to the kopia backup repositories and performs maintenance, it sometimes consumes excessive memory that can cause the velero pod to get OOM Killed. To mitigate this issue, the maintenance work will be moved out of velero pod to a separate kubernetes job, and the user will be able to specify the resource request in "velero install".
#### Volume Policies are extended to support more actions to handle volumes
In an earlier release, a flexible volume policy was introduced to skip certain volumes from a backup. In v1.14 we've made enhancement to this policy to allow the user to set how the volumes should be backed up. The user will be able to set "fs-backup" or "snapshot" as value of “action" in the policy and velero will backup the volumes accordingly. This enhancement allows the user to achieve a fine-grained control like "opt-in/out" without having to update the target workload. For more details please refer to https://velero.io/docs/v1.14/resource-filtering/#supported-volumepolicy-actions
#### Node Selection for Data Movement Backup
In velero the data movement flow relies on datamover pods, and these pods may take substantial resources and keep running for a long time. In v1.14, the user will be able to create a configmap to define the eligible nodes on which the datamover pods are launched. For more details refer to https://velero.io/docs/v1.14/data-movement-backup-node-selection/
#### VolumeInfo metadata for restored volumes
In v1.13, we introduced volumeinfo metadata for backup to help velero CLI and downstream adopter understand how velero handles each volume during backup. In v1.14, similar metadata will be persisted for each restore. velero CLI is also updated to bring more info in the output of "velero restore describe".
#### "Finalizing" phase is introduced to restores
The "Finalizing" phase is added to the state transition flow to restore, which helps us fix several issues: The labels added to PVs will be restored after the data in the PV is restored via volumesnapshotter. The post restore hook will be executed after datamovement is finished.
#### Certificate-based authentication support for Azure
Besides the service principal with secret(password)-based authentication, Velero introduces the new support for service principal with certificate-based authentication in v1.14.0. This approach enables you to adopt a phishing resistant authentication by using conditional access policies, which better protects Azure resources and is the recommended way by Azure.
### Runtime and dependencies
* Golang runtime: v1.22.2
* kopia: v0.17.0
### Limitations/Known issues
* For the external BackupItemAction plugins that take snapshots for PVs, such as vsphere plugin. If the plugin checks the value of the field "snapshotVolumes" in the backup spec as a criteria for snapshot, the settings in the volume policy will not take effect. For example, if the "snapshotVolumes" is set to False in the backup spec, but a volume meets the condition in the volume policy for "snapshot" action, because the plugin will not check the settings in the volume policy, the plugin will not take snapshot for the volume. For more details please refer to #7818
### Breaking changes
* CSI plugin has been merged into velero repo in v1.14 release. It will be installed by default as an internal plugin, and should not be installed via "plugins " parameter in "velero install" command.
* The default resource requests and limitations for node agent are removed in v1.14, to make the node agent pods have the QoS class of "BestEffort", more details please refer to #7391
* There's a change in namespace filtering behavior during backup: In v1.14, when the includedNamespaces/excludedNamespaces fields are not set and the labelSelector/OrLabelSelectors are set in the backup spec, the backup will only include the namespaces which contain the resources that match the label selectors, while in previous releases all namespaces will be included in the backup with such settings. More details refer to #7105
* Patching the PV in the "Finalizing" state may cause the restore to be in "PartiallyFailed" state when the PV is blocked in "Pending" state, while in the previous release the restore may end up being in "Complete" state. For more details refer to #7866
### All Changes
* Fix backup log to show error string, not index (#7805, @piny940)
* Modify the volume helper logic. (#7794, @blackpiglet)
* Add documentation for extension of volume policy feature (#7779, @shubham-pampattiwar)
* Surface errors when waiting for backupRepository and timeout occurs (#7762, @kaovilai)
* Add existingResourcePolicy restore CR validation to controller (#7757, @kaovilai)
* Fix condition matching in resource modifier when there are multiple rules (#7715, @27149chen)
* Bump up the version of KinD and k8s in github actions (#7702, @reasonerjt)
* Implementation for Extending VolumePolicies to support more actions (#7664, @shubham-pampattiwar)
* Migrate from `github.com/Azure/azure-storage-blob-go` to `github.com/Azure/azure-sdk-for-go/sdk/storage/azblob` (#7598, @mmorel-35)
* When Included/ExcludedNamespaces are omitted, and LabelSelector or OrLabelSelector is used, namespaces without selected items are excluded from backup. (#7697, @blackpiglet)
* Display CSI snapshot restores in restore describe (#7687, @reasonerjt)
* Use specific credential rather than the credential chain for Azure (#7680, @ywk253100)
* Modify hook docs for clarity on displaying hook execution results (#7679, @allenxu404)
* Wait for results of restore exec hook executions in Finalizing phase instead of InProgress phase (#7619, @allenxu404)
* migrating to `sdk/resourcemanager/**/arm**` from `services/**/mgmt/**` (#7596, @mmorel-35)
* Bump up to go1.22 (#7666, @reasonerjt)
* Fix issue #7648. Adjust the exposing logic to avoid exposing failure and snapshot leak when expose fails (#7662, @Lyndon-Li)
* Track and persist restore volume info (#7630, @reasonerjt)
* Check the existence of the namespaces provided in the "--include-namespaces" option (#7569, @ywk253100)
* Add the finalization phase to the restore workflow (#7377, @allenxu404)
* Upgrade the version of go plugin related libs/tools (#7373, @ywk253100)
* Check resource Group Version and Kind is available in cluster before attempting restore to prevent being stuck. (#7322, @kaovilai)
* Merge CSI plugin code into Velero. (#7609, @blackpiglet)
* Fix issue #7391, remove the default constraint for node-agent pods (#7488, @Lyndon-Li)
* Fix DataDownload fails during restore for empty PVC workload (#7521, @qiuming-best)
* Add repository maintenance job (#7451, @qiuming-best)
* Check whether the VolumeSnapshot's source PVC is nil before using it.
Skip populate VolumeInfo for data-moved PV when CSI is not enabled. (#7515, @blackpiglet)
* Fix issue #7308, change the data path requeue time to 5 second for data mover backup/restore, PVB and PVR. (#7458, @Lyndon-Li)
* Patch newly dynamically provisioned PV with volume info to restore custom setting of PV (#7504, @allenxu404)
* Adjust the logic for the backup_last_status metrics to stop incorrectly incrementing over time (#7445, @allenxu404)
* dependabot: support github-actions updates (#7594, @mmorel-35)
* Include the design for adding the finalization phase to the restore workflow (#7317, @allenxu404)
* Fix issue #7211. Enable advanced feature capability and add support to concatenate objects for unified repo. (#7452, @Lyndon-Li)
* Add design to introduce restore volume info (#7610, @reasonerjt)
* Increase the k8s client QPS/burst to avoid throttling request errors (#7311, @ywk253100)
* Support update the backup VolumeInfos by the Async ops result. (#7554, @blackpiglet)
* FS backup create PodVolumeBackup when the backup excluded PVC,
so I added logic to skip PVC volume type when PVC is not included in the backup resources to be backed up. (#7472, @sbahar619)
* Respect and use `credentialsFile` specified in BSL.spec.config when IRSA is configured over Velero Pod Environment credentials (#7374, @reasonerjt)
* Move the native snapshot definition code into internal directory (#7544, @blackpiglet)
* Fix issue #7036. Add the implementation of node selection for data mover backups (#7437, @Lyndon-Li)
* Fix issue #7535, add the MustHave resource check during item collection and item filter for restore (#7585, @Lyndon-Li)
* build(deps): bump json-patch to v5.8.0 (#7584, @mmorel-35)
* Add confirm flag to velero plugin add (#7566, @kaovilai)
* do not skip unknown gvr at the beginning and get new gr when kind is changed (#7523, @27149chen)
* Fix snapshot leak for backup (#7558, @qiuming-best)
* For issue #7036, add the document for data mover node selection (#7640, @Lyndon-Li)
* Add design for Extending VolumePolicies to support more actions (#6956, @shubham-pampattiwar)
* BackupRepositories associated with a BSL are invalidated when BSL is (re-)created. (#7380, @kaovilai)
* Improve the concurrency for PVBs in different pods (#7571, @ywk253100)
* Bump up Kopia to v0.16.0 and open kopia repo with no index change (#7559, @Lyndon-Li)
* Bump up the versions of several Kubernetes-related libs (#7489, @ywk253100)
* Make parallel restore configurable (#7512, @qiuming-best)
* Support certificate-based authentication for Azure (#7549, @ywk253100)
* Fix issue #7281, batch delete snapshots in the same repo (#7438, @Lyndon-Li)
* Add CRD name to error message when it is not ready to use (#7295, @josemarevalo)
* Add the design for node selection for data mover backup (#7383, @Lyndon-Li)
* Bump up aws-sdk to latest version to leverage Pod Identity credentials. (#7307, @guikcd)
* Fix issue #7246. Document the behavior for repo snapshot deletion (#7622, @Lyndon-Li)
* Fix issue #7583, set backupName optional for Restore CRD (#7617, @Lyndon-Li)

110
changelogs/CHANGELOG-1.8.md Normal file
View File

@@ -0,0 +1,110 @@
## v1.8.0
### 2022-01-14
### Download
https://github.com/vmware-tanzu/velero/releases/tag/v1.8.0
### Container Image
`velero/velero:v1.8.0`
### Documentation
https://velero.io/docs/v1.8
### Upgrading
https://velero.io/docs/v1.8/upgrade-to-1.8/
### Highlights
#### Velero plugins now support handling volumes created by the CSI drivers of cloud providers
Versions 1.4 of the Velero plugins for AWS, Azure and GCP now support snapshotting and restoring the persistent volumes provisioned by CSI driver via the APIs of the cloud providers. With this enhancement, users can backup and restore the persistent volumes on these cloud providers without using the Velero CSI plugin. The CSI plugin will remain beta and the feature flag `EnableCSI` will be disabled by default.
For the version of the plugins and the CSI drivers they support respectively please see the table:
| Plugin | Version | CSI Driver |
| --- | ----------- | ---------- |
| velero-plugin-for-aws | v1.4.0 | ebs.csi.aws.com |
| velero-plugin-for-microsoft-azure | v1.4.0 | disk.csi.azure.com |
| velero-plugin-for-gcp | v1.4.0 | pd.csi.storage.gke.io |
#### IPv6 dual stack support
We've verified the functionality of Velero on IPv6 dual stack by successfully running the E2E test on IPv6 dual stack environment.
#### Refactor the controllers using Kubebuilder v3
In this release we continued our code modernization work, rewriting some controllers using Kubebuilder v3. This work is ongoing and we will continue to make progress in future releases.
#### Enhancements to E2E test cases
More test cases have been added to the E2E test suite to improve the release health.
#### Respect the cron setting of scheduled backup
The creation time is now taken into account to calculate the next run for scheduled backup.
#### Deleting BSLs also cleans up related resources
When a Backup Storage Location (BSL) is deleted, backup and Restic repository resources will also be deleted.
#### Breaking changes
Starting in v1.8, Velero will only support Kubernetes v1 CRD meaning that Velero v1.8+ will only run on Kubernetes v1.16+. Before upgrading, make sure you are running a supported Kubernetes version. For more information, see our [compatibility matrix](https://github.com/vmware-tanzu/velero#velero-compatibility-matrix).
#### Upload Progress Monitoring and Item Snapshotter
Item Snapshotter plugin API was merged. This will support both Upload Progress
monitoring and the planned Data Mover. Upload Progress monitoring PRs are
in progress for 1.9.
### All changes
* E2E test on ssr object with controller namespace mix-ups (#4521, @mqiu)
* Check whether the volume is provisioned by CSI driver or not by the annotation as well (#4513, @ywk253100)
* Initialize the labels field of `velero backup-location create` option to avoid #4484 (#4491, @ywk253100)
* Fix e2e 2500 namespaces scale test timeout problem (#4480, @mqiu)
* Add backup deletion e2e test (#4401, @danfengliu)
* Return the error when getting backup store in backup deletion controller (#4465, @reasonerjt)
* Ignore the provided port is already allocated error when restoring the LoadBalancer service (#4462, @ywk253100)
* Revert #4423 migrate backup sync controller to kubebuilder. (#4457, @jxun)
* Add rbac and annotation test cases (#4455, @mqiu)
* remove --crds-version in velero install command. (#4446, @jxun)
* Upgrade e2e test vsphere plugin (#4440, @mqiu)
* Fix e2e test failures for the inappropriate optimize of velero install (#4438, @mqiu)
* Limit backup namespaces on test resource filtering cases (#4437, @mqiu)
* Bump up Go to 1.17 (#4431, @reasonerjt)
* Added `<backup name>`-itemsnapshots.json.gz to the backup format. This file exists
when item snapshots are taken and contains an array of volume.Itemsnapshots
containing the information about the snapshots. This will not be used unless
upload progress monitoring and item snapshots are enabled and an ItemSnapshot
plugin is used to take snapshots.
Also added DownloadTargetKindBackupItemSnapshots for retrieving the signed URL to download only the `<backup name>`-itemsnapshots.json.gz part of a backup for use by
`velero backup describe`. (#4429, @dsmithuchida)
* Migrate backup sync controller from code-generator to kubebuilder. (#4423, @jxun)
* Added UploadProgressFeature flag to enable Upload Progress Monitoring and Item
Snapshotters. (#4416, @dsmithuchida)
* Added BackupWithResolvers and RestoreWithResolvers calls. Will eventually replace Backup and Restore methods.
Adds ItemSnapshotters to Backup and Restore workflows. (#4410, @dsu)
* Build for darwin-arm64 (#4409, @epk)
* Add resource filtering test cases (#4404, @mqiu)
* Fix the issue that the backup cannot be deleted after the application uninstalled (#4398, @ywk253100)
* Add restoreactionitem plugin to handle admission webhook configurations (#4397, @reasonerjt)
* Keep the annotation "pv.kubernetes.io/provisioned-by" when restoring PVs (#4391, @ywk253100)
* Adjust structure of e2e test codes (#4386, @mqiu)
* feat: migrate velero controller from kubebuilder v2 to v3
From Velero v1.8, apiextesions.k8s.io/v1beta1 is no longer supported,
which means only CRD of apiextensions.k8s.io/v1 is supported,
and the supported Kubernetes version is updated to v1.16 and later. (#4382, @jxun)
* Delete backups and Restic repos associated with deleted BSL(s) (#4377, @codegold79)
* Add the key for GKE zone for AZ collection (#4376, @reasonerjt)
* Fix statefulsets volumeClaimTemplates storageClassName when use Changing PV/PVC Storage Classes (#4375, @Box-Cube)
* Fix snapshot e2e test issue of jsonpath (#4372, @danfengliu)
* Modify the timestamp in the name of a backup generated from schedule to use UTC. (#4353, @jxun)
* Read Availability zone from nodeAffinity requirements (#4350, @reasonerjt)
* Use factory.Namespace() to replace hardcoded velero namespace (#4346, @half-life666)
* Return the error if velero failed to detect S3 region for restic repo (#4343, @reasonerjt)
* Add init log option for velero controller-runtime manager. (#4341, @jxun)
* Ignore the `provided port is already allocated` error when restoring the `NodePort` service (#4336, @ywk253100)
* Fixed an issue with the `backup-location create` command where the BSL Credential field would be set to an invalid empty SecretKeySelector when no credential details were provided. (#4322, @zubron)
* fix buggy pager func (#4306, @alaypatel07)
* Don't create a backup immediately after creating a schedule (#4281, @ywk253100)
* Fix CVE-2020-29652 and CVE-2020-26160 (#4274, @ywk253100)
* Refine tag-release.sh to align with change in release process (#4185, @reasonerjt)
* Fix plugins incompatible issue in upgrade test (#4141, @danfengliu)
* Verify group before treating resource as cohabiting (#4126, @sseago)
* Added ItemSnapshotter plugin definition and plugin framework - addresses #3533.
Part of the Upload Progress enhancement (#3533) (#4077, @dsmithuchida)
* Add upgrade test in E2E test (#4058, @danfengliu)
* Handle namespace mapping for PVs without snapshots on restore (#3708, @sseago)

104
changelogs/CHANGELOG-1.9.md Normal file
View File

@@ -0,0 +1,104 @@
## v1.9.0
### 2022-06-13
### Download
https://github.com/vmware-tanzu/velero/releases/tag/v1.9.0
### Container Image
`velero/velero:v1.9.0`
### Documentation
https://velero.io/docs/v1.9/
### Upgrading
https://velero.io/docs/v1.9/upgrade-to-1.9/
### Highlights
#### Improvement to the CSI plugin
- Bump up to the CSI volume snapshot v1 API
- No VolumeSnapshot will be left in the source namespace of the workload
- Report metrics for CSI snapshots
More improvements please refer to [CSI plugin improvement](https://github.com/vmware-tanzu/velero/issues?q=is%3Aissue+label%3A%22CSI+plugin+-+GA+-+phase1%22+is%3Aclosed)
With these improvements we'll provide official support for CSI snapshots on AKS/EKS clusters. (with CSI plugin v0.3.0)
#### Refactor the controllers using Kubebuilder v3
In this release we continued our code modernization work, rewriting some controllers using Kubebuilder v3. This work is ongoing and we will continue to make progress in future releases.
#### Optionally restore status on selected resources
Options are added to the CLI and Restore spec to control the group of resources whose status will be restored.
#### ExistingResourcePolicy in the restore API
Users can choose to overwrite or patch the existing resources during restore by setting this policy.
#### Upgrade integrated Restic version and add skip TLS validation in Restic command
Upgrade integrated Restic version, which will resolve some of the CVEs, and support skip TLS validation in Restic backup/restore.
#### Breaking changes
With bumping up the API to v1 in CSI plugin, the v0.3.0 CSI plugin will only work for Kubernetes v1.20+
### All changes
* restic: add full support for setting SecurityContext for restore init container from configMap. (#4084, @MatthieuFin)
* Add metrics backup_items_total and backup_items_errors (#4296, @tobiasgiese)
* Convert PodVolumebackup controller to the Kubebuilder framework (#4436, @fgold)
* Skip not mounted volumes when backing up (#4497, @dkeven)
* Update doc for v1.8 (#4517, @reasonerjt)
* Fix bug to make the restic prune frequency configurable (#4518, @ywk253100)
* Add E2E test of backups sync from BSL (#4545, @mqiu)
* Fix: OrderedResources in Schedules (#4550, @dbrekau)
* Skip volumes of non-running pods when backing up (#4584, @bynare)
* E2E SSR test add retry mechanism and logs (#4591, @mqiu)
* Add pushing image to GCR in github workflow to facilitate some environments that have rate limitation to docker hub, e.g. vSphere. (#4623, @jxun)
* Add existingResourcePolicy to Restore API (#4628, @shubham-pampattiwar)
* Fix E2E backup namespaces test (#4634, @qiuming-best)
* Update image used by E2E test to gcr.io (#4639, @jxun)
* Add multiple label selector support to Velero Backup and Restore APIs (#4650, @shubham-pampattiwar)
* Convert Pod Volume Restore resource/controller to the Kubebuilder framework (#4655, @ywk253100)
* Update --use-owner-references-in-backup description in velero command line. (#4660, @jxun)
* Avoid overwritten hook's exec.container parameter when running pod command executor. (#4661, @jxun)
* Support regional pv for GKE (#4680, @jxun)
* Bypass the remap CRD version plugin when v1beta1 CRD is not supported (#4686, @reasonerjt)
* Add GINKGO_SKIP to support skip specific case in e2e test. (#4692, @jxun)
* Add --pod-labels flag to velero install (#4694, @j4m3s-s)
* Enable coverage in test.sh and upload to codecov (#4704, @reasonerjt)
* Mark the BSL as "Unavailable" when gets any error and add a new field "Message" to the status to record the error message (#4719, @ywk253100)
* Support multiple skip option for E2E test (#4725, @jxun)
* Add PriorityClass to the AdditionalItems of Backup's PodAction and Restore's PodAction plugin to backup and restore PriorityClass if it is used by a Pod. (#4740, @phuongatemc)
* Insert all restore errors and warnings into restore log. (#4743, @sseago)
* Refactor schedule controller with kubebuilder (#4748, @ywk253100)
* Garbage collector now adds labels to backups that failed to delete for BSLNotFound, BSLCannotGet, BSLReadOnly reasons. (#4757, @kaovilai)
* Skip podvolumerestore creation when restore excludes pv/pvc (#4769, @half-life666)
* Add parameter for e2e test to support modify kibishii install path. (#4778, @jxun)
* Ensure the restore hook applied to new namespace based on the mapping (#4779, @reasonerjt)
* Add ability to restore status on selected resources (#4785, @RafaeLeal)
* Do not take snapshot for PV to avoid duplicated snapshotting, when CSI feature is enabled. (#4797, @jxun)
* Bump up to v1 API for CSI snapshot (#4800, @reasonerjt)
* fix: delete empty backups (#4817, @yuvalman)
* Add CSI VolumeSnapshot related metrics. (#4818, @jxun)
* Fix default-backup-ttl not work (#4831, @qiuming-best)
* Make the vsc created by backup sync controller deletable (#4832, @reasonerjt)
* Make in-progress backup/restore as failed when doing the reconcile to avoid hanging in in-progress status (#4833, @ywk253100)
* Use controller-gen to generate the deep copy methods for objects (#4838, @ywk253100)
* Update integrated Restic version and add insecureSkipTLSVerify for Restic CLI. (#4839, @jxun)
* Modify CSI VolumeSnapshot metric related code. (#4854, @jxun)
* Refactor backup deletion controller based on kubebuilder (#4855, @reasonerjt)
* Remove VolumeSnapshots created during backup when CSI feature is enabled. (#4858, @jxun)
* Convert Restic Repository resource/controller to the Kubebuilder framework (#4859, @qiuming-best)
* Add ClusterClasses to the restore priority list (#4866, @reasonerjt)
* Cleanup the .velero folder after restic done (#4872, @big-appled)
* Delete orphan CSI snapshots in backup sync controller (#4887, @reasonerjt)
* Make waiting VolumeSnapshot to ready process parallel. (#4889, @jxun)
* continue rather than return for non-matching restore action label (#4890, @sseago)
* Make in-progress PVB/PVR as failed when restic controller restarts to avoid hanging backup/restore (#4893, @ywk253100)
* Refactor BSL controller with periodical enqueue source (#4894, @jxun)
* Make garbage collection for expired backups configurable (#4897, @ywk253100)
* Bump up the version of distroless to base-debian11 (#4898, @ywk253100)
* Add schedule ordered resources E2E test (#4913, @qiuming-best)
* Make velero completion zsh command output can be used by `source` command. (#4914, @jxun)
* Enhance the map flag to support parsing input value contains entry delimiters (#4920, @ywk253100)
* Fix E2E test [Backups][Deletion][Restic] on GCP. (#4968, @jxun)
* Disable status as sub resource in CRDs (#4972, @ywk253100)
* Add more information for failing to get path or snapshot in restic backup and restore. (#4988, @jxun)

View File

@@ -1 +0,0 @@
Add upgrade test in E2E test

View File

@@ -1 +0,0 @@
Verify group before treating resource as cohabitating

View File

@@ -1 +0,0 @@
Fix plugins incompatible issue in upgrade test

View File

@@ -1 +0,0 @@
Refine tag-release.sh to align with change in release process

View File

@@ -1 +0,0 @@
Fix CVE-2020-29652 and CVE-2020-26160

View File

@@ -1 +0,0 @@
Don't create a backup immediately after creating a schedule

View File

@@ -0,0 +1,43 @@
/*
Copyright The Velero Contributors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package main
import (
"fmt"
"os"
"time"
)
const (
// workingModePause indicates it is for general purpose to hold the pod under running state
workingModePause = "pause"
)
func main() {
if len(os.Args) < 2 {
fmt.Fprintln(os.Stderr, "ERROR: at least one argument must be provided, the working mode")
os.Exit(1)
}
switch os.Args[1] {
case workingModePause:
time.Sleep(time.Duration(1<<63 - 1))
default:
fmt.Fprintln(os.Stderr, "ERROR: wrong working mode provided")
os.Exit(1)
}
}

View File

@@ -18,7 +18,6 @@ package main
import (
"fmt"
"io/ioutil"
"os"
"path/filepath"
"time"
@@ -34,12 +33,16 @@ func main() {
defer ticker.Stop()
for {
select {
case <-ticker.C:
if done() {
fmt.Println("All restic restores are done")
return
<-ticker.C
if done() {
fmt.Println("All restic restores are done")
err := removeFolder()
if err != nil {
fmt.Println(err)
} else {
fmt.Println("Done cleanup .velero folder")
}
return
}
}
}
@@ -48,7 +51,7 @@ func main() {
// within the .velero/ subdirectory whose name is equal to os.Args[1], or
// false otherwise
func done() bool {
children, err := ioutil.ReadDir("/restores")
children, err := os.ReadDir("/restores")
if err != nil {
fmt.Fprintf(os.Stderr, "ERROR reading /restores directory: %s\n", err)
return false
@@ -63,15 +66,40 @@ func done() bool {
doneFile := filepath.Join("/restores", child.Name(), ".velero", os.Args[1])
if _, err := os.Stat(doneFile); os.IsNotExist(err) {
fmt.Printf("Not found: %s\n", doneFile)
fmt.Printf("The filesystem restore done file %s is not found yet. Retry later.\n", doneFile)
return false
} else if err != nil {
fmt.Fprintf(os.Stderr, "ERROR looking for %s: %s\n", doneFile, err)
fmt.Fprintf(os.Stderr, "ERROR looking filesystem restore done file %s: %s\n", doneFile, err)
return false
}
fmt.Printf("Found %s", doneFile)
fmt.Printf("Found the done file %s\n", doneFile)
}
return true
}
// remove .velero folder
func removeFolder() error {
children, err := os.ReadDir("/restores")
if err != nil {
return err
}
for _, child := range children {
if !child.IsDir() {
fmt.Printf("%s is not a directory, skipping.\n", child.Name())
continue
}
donePath := filepath.Join("/restores", child.Name(), ".velero")
err = os.RemoveAll(donePath)
if err != nil {
return err
}
fmt.Printf("Deleted %s", donePath)
}
return nil
}

View File

@@ -20,7 +20,7 @@ import (
"os"
"path/filepath"
"k8s.io/klog"
"k8s.io/klog/v2"
"github.com/vmware-tanzu/velero/pkg/cmd"
"github.com/vmware-tanzu/velero/pkg/cmd/velero"

View File

@@ -0,0 +1,104 @@
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.14.0
name: backuprepositories.velero.io
spec:
group: velero.io
names:
kind: BackupRepository
listKind: BackupRepositoryList
plural: backuprepositories
singular: backuprepository
scope: Namespaced
versions:
- additionalPrinterColumns:
- jsonPath: .metadata.creationTimestamp
name: Age
type: date
- jsonPath: .spec.repositoryType
name: Repository Type
type: string
name: v1
schema:
openAPIV3Schema:
properties:
apiVersion:
description: |-
APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
type: string
kind:
description: |-
Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
type: string
metadata:
type: object
spec:
description: BackupRepositorySpec is the specification for a BackupRepository.
properties:
backupStorageLocation:
description: |-
BackupStorageLocation is the name of the BackupStorageLocation
that should contain this repository.
type: string
maintenanceFrequency:
description: MaintenanceFrequency is how often maintenance should
be run.
type: string
repositoryType:
description: RepositoryType indicates the type of the backend repository
enum:
- kopia
- restic
- ""
type: string
resticIdentifier:
description: |-
ResticIdentifier is the full restic-compatible string for identifying
this repository.
type: string
volumeNamespace:
description: |-
VolumeNamespace is the namespace this backup repository contains
pod volume backups for.
type: string
required:
- backupStorageLocation
- maintenanceFrequency
- resticIdentifier
- volumeNamespace
type: object
status:
description: BackupRepositoryStatus is the current status of a BackupRepository.
properties:
lastMaintenanceTime:
description: LastMaintenanceTime is the last time maintenance was
run.
format: date-time
nullable: true
type: string
message:
description: Message is a message about the current status of the
BackupRepository.
type: string
phase:
description: Phase is the current state of the BackupRepository.
enum:
- New
- Ready
- NotReady
type: string
type: object
type: object
served: true
storage: true
subresources: {}

View File

@@ -1,11 +1,9 @@
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.3.0
creationTimestamp: null
controller-gen.kubebuilder.io/version: v0.14.0
name: backups.velero.io
spec:
group: velero.io
@@ -19,38 +17,88 @@ spec:
- name: v1
schema:
openAPIV3Schema:
description: Backup is a Velero resource that represents the capture of Kubernetes
description: |-
Backup is a Velero resource that represents the capture of Kubernetes
cluster state at a point in time (API objects and associated volume state).
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
description: |-
APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
description: |-
Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
type: string
metadata:
type: object
spec:
description: BackupSpec defines the specification for a Velero backup.
properties:
defaultVolumesToRestic:
description: DefaultVolumesToRestic specifies whether restic should
be used to take a backup of all pod volumes by default.
csiSnapshotTimeout:
description: |-
CSISnapshotTimeout specifies the time used to wait for CSI VolumeSnapshot status turns to
ReadyToUse during creation, before returning error as timeout.
The default value is 10 minute.
type: string
datamover:
description: |-
DataMover specifies the data mover to be used by the backup.
If DataMover is "" or "velero", the built-in data mover will be used.
type: string
defaultVolumesToFsBackup:
description: |-
DefaultVolumesToFsBackup specifies whether pod volume file system backup should be used
for all volumes by default.
nullable: true
type: boolean
defaultVolumesToRestic:
description: |-
DefaultVolumesToRestic specifies whether restic should be used to take a
backup of all pod volumes by default.
Deprecated: this field is no longer used and will be removed entirely in future. Use DefaultVolumesToFsBackup instead.
nullable: true
type: boolean
excludedClusterScopedResources:
description: |-
ExcludedClusterScopedResources is a slice of cluster-scoped
resource type names to exclude from the backup.
If set to "*", all cluster-scoped resource types are excluded.
The default value is empty.
items:
type: string
nullable: true
type: array
excludedNamespaceScopedResources:
description: |-
ExcludedNamespaceScopedResources is a slice of namespace-scoped
resource type names to exclude from the backup.
If set to "*", all namespace-scoped resource types are excluded.
The default value is empty.
items:
type: string
nullable: true
type: array
excludedNamespaces:
description: ExcludedNamespaces contains a list of namespaces that
are not included in the backup.
description: |-
ExcludedNamespaces contains a list of namespaces that are not
included in the backup.
items:
type: string
nullable: true
type: array
excludedResources:
description: ExcludedResources is a slice of resource names that are
not included in the backup.
description: |-
ExcludedResources is a slice of resource names that are not
included in the backup.
items:
type: string
nullable: true
@@ -63,9 +111,9 @@ spec:
description: Resources are hooks that should be executed when
backing up individual instances of a resource.
items:
description: BackupResourceHookSpec defines one or more BackupResourceHooks
that should be executed based on the rules defined for namespaces,
resources, and label selector.
description: |-
BackupResourceHookSpec defines one or more BackupResourceHooks that should be executed based on
the rules defined for namespaces, resources, and label selector.
properties:
excludedNamespaces:
description: ExcludedNamespaces specifies the namespaces
@@ -82,17 +130,17 @@ spec:
nullable: true
type: array
includedNamespaces:
description: IncludedNamespaces specifies the namespaces
to which this hook spec applies. If empty, it applies
description: |-
IncludedNamespaces specifies the namespaces to which this hook spec applies. If empty, it applies
to all namespaces.
items:
type: string
nullable: true
type: array
includedResources:
description: IncludedResources specifies the resources to
which this hook spec applies. If empty, it applies to
all resources.
description: |-
IncludedResources specifies the resources to which this hook spec applies. If empty, it applies
to all resources.
items:
type: string
nullable: true
@@ -106,8 +154,8 @@ spec:
description: matchExpressions is a list of label selector
requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector
that contains values, a key, and an operator that
description: |-
A label selector requirement is a selector that contains values, a key, and an operator that
relates the key and values.
properties:
key:
@@ -115,17 +163,16 @@ spec:
applies to.
type: string
operator:
description: operator represents a key's relationship
to a set of values. Valid operators are In,
NotIn, Exists and DoesNotExist.
description: |-
operator represents a key's relationship to a set of values.
Valid operators are In, NotIn, Exists and DoesNotExist.
type: string
values:
description: values is an array of string values.
If the operator is In or NotIn, the values array
must be non-empty. If the operator is Exists
or DoesNotExist, the values array must be empty.
This array is replaced during a strategic merge
patch.
description: |-
values is an array of string values. If the operator is In or NotIn,
the values array must be non-empty. If the operator is Exists or DoesNotExist,
the values array must be empty. This array is replaced during a strategic
merge patch.
items:
type: string
type: array
@@ -137,21 +184,20 @@ spec:
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
A single {key,value} in the matchLabels map is equivalent
to an element of matchExpressions, whose key field
is "key", the operator is "In", and the values array
contains only "value". The requirements are ANDed.
description: |-
matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
map is equivalent to an element of matchExpressions, whose key field is "key", the
operator is "In", and the values array contains only "value". The requirements are ANDed.
type: object
type: object
x-kubernetes-map-type: atomic
name:
description: Name is the name of this hook.
type: string
post:
description: PostHooks is a list of BackupResourceHooks
to execute after storing the item in the backup. These
are executed after all "additional items" from item actions
are processed.
description: |-
PostHooks is a list of BackupResourceHooks to execute after storing the item in the backup.
These are executed after all "additional items" from item actions are processed.
items:
description: BackupResourceHook defines a hook for a resource.
properties:
@@ -166,10 +212,9 @@ spec:
minItems: 1
type: array
container:
description: Container is the container in the
pod where the command should be executed. If
not specified, the pod's first container is
used.
description: |-
Container is the container in the pod where the command should be executed. If not specified,
the pod's first container is used.
type: string
onError:
description: OnError specifies how Velero should
@@ -180,9 +225,9 @@ spec:
- Fail
type: string
timeout:
description: Timeout defines the maximum amount
of time Velero should wait for the hook to complete
before considering the execution a failure.
description: |-
Timeout defines the maximum amount of time Velero should wait for the hook to complete before
considering the execution a failure.
type: string
required:
- command
@@ -192,10 +237,9 @@ spec:
type: object
type: array
pre:
description: PreHooks is a list of BackupResourceHooks to
execute prior to storing the item in the backup. These
are executed before any "additional items" from item actions
are processed.
description: |-
PreHooks is a list of BackupResourceHooks to execute prior to storing the item in the backup.
These are executed before any "additional items" from item actions are processed.
items:
description: BackupResourceHook defines a hook for a resource.
properties:
@@ -210,10 +254,9 @@ spec:
minItems: 1
type: array
container:
description: Container is the container in the
pod where the command should be executed. If
not specified, the pod's first container is
used.
description: |-
Container is the container in the pod where the command should be executed. If not specified,
the pod's first container is used.
type: string
onError:
description: OnError specifies how Velero should
@@ -224,9 +267,9 @@ spec:
- Fail
type: string
timeout:
description: Timeout defines the maximum amount
of time Velero should wait for the hook to complete
before considering the execution a failure.
description: |-
Timeout defines the maximum amount of time Velero should wait for the hook to complete before
considering the execution a failure.
type: string
required:
- command
@@ -242,52 +285,81 @@ spec:
type: array
type: object
includeClusterResources:
description: IncludeClusterResources specifies whether cluster-scoped
resources should be included for consideration in the backup.
description: |-
IncludeClusterResources specifies whether cluster-scoped resources
should be included for consideration in the backup.
nullable: true
type: boolean
includedClusterScopedResources:
description: |-
IncludedClusterScopedResources is a slice of cluster-scoped
resource type names to include in the backup.
If set to "*", all cluster-scoped resource types are included.
The default value is empty, which means only related
cluster-scoped resources are included.
items:
type: string
nullable: true
type: array
includedNamespaceScopedResources:
description: |-
IncludedNamespaceScopedResources is a slice of namespace-scoped
resource type names to include in the backup.
The default value is "*".
items:
type: string
nullable: true
type: array
includedNamespaces:
description: IncludedNamespaces is a slice of namespace names to include
objects from. If empty, all namespaces are included.
description: |-
IncludedNamespaces is a slice of namespace names to include objects
from. If empty, all namespaces are included.
items:
type: string
nullable: true
type: array
includedResources:
description: IncludedResources is a slice of resource names to include
description: |-
IncludedResources is a slice of resource names to include
in the backup. If empty, all resources are included.
items:
type: string
nullable: true
type: array
itemOperationTimeout:
description: |-
ItemOperationTimeout specifies the time used to wait for asynchronous BackupItemAction operations
The default value is 4 hour.
type: string
labelSelector:
description: LabelSelector is a metav1.LabelSelector to filter with
when adding individual objects to the backup. If empty or nil, all
objects are included. Optional.
description: |-
LabelSelector is a metav1.LabelSelector to filter with
when adding individual objects to the backup. If empty
or nil, all objects are included. Optional.
nullable: true
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements.
The requirements are ANDed.
items:
description: A label selector requirement is a selector that
contains values, a key, and an operator that relates the key
and values.
description: |-
A label selector requirement is a selector that contains values, a key, and an operator that
relates the key and values.
properties:
key:
description: key is the label key that the selector applies
to.
type: string
operator:
description: operator represents a key's relationship to
a set of values. Valid operators are In, NotIn, Exists
and DoesNotExist.
description: |-
operator represents a key's relationship to a set of values.
Valid operators are In, NotIn, Exists and DoesNotExist.
type: string
values:
description: values is an array of string values. If the
operator is In or NotIn, the values array must be non-empty.
If the operator is Exists or DoesNotExist, the values
array must be empty. This array is replaced during a strategic
description: |-
values is an array of string values. If the operator is In or NotIn,
the values array must be non-empty. If the operator is Exists or DoesNotExist,
the values array must be empty. This array is replaced during a strategic
merge patch.
items:
type: string
@@ -300,13 +372,13 @@ spec:
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs. A single
{key,value} in the matchLabels map is equivalent to an element
of matchExpressions, whose key field is "key", the operator
is "In", and the values array contains only "value". The requirements
are ANDed.
description: |-
matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
map is equivalent to an element of matchExpressions, whose key field is "key", the
operator is "In", and the values array contains only "value". The requirements are ANDed.
type: object
type: object
x-kubernetes-map-type: atomic
metadata:
properties:
labels:
@@ -314,18 +386,102 @@ spec:
type: string
type: object
type: object
orLabelSelectors:
description: |-
OrLabelSelectors is list of metav1.LabelSelector to filter with
when adding individual objects to the backup. If multiple provided
they will be joined by the OR operator. LabelSelector as well as
OrLabelSelectors cannot co-exist in backup request, only one of them
can be used.
items:
description: |-
A label selector is a label query over a set of resources. The result of matchLabels and
matchExpressions are ANDed. An empty label selector matches all objects. A null
label selector matches no objects.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements.
The requirements are ANDed.
items:
description: |-
A label selector requirement is a selector that contains values, a key, and an operator that
relates the key and values.
properties:
key:
description: key is the label key that the selector applies
to.
type: string
operator:
description: |-
operator represents a key's relationship to a set of values.
Valid operators are In, NotIn, Exists and DoesNotExist.
type: string
values:
description: |-
values is an array of string values. If the operator is In or NotIn,
the values array must be non-empty. If the operator is Exists or DoesNotExist,
the values array must be empty. This array is replaced during a strategic
merge patch.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: |-
matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
map is equivalent to an element of matchExpressions, whose key field is "key", the
operator is "In", and the values array contains only "value". The requirements are ANDed.
type: object
type: object
x-kubernetes-map-type: atomic
nullable: true
type: array
orderedResources:
additionalProperties:
type: string
description: OrderedResources specifies the backup order of resources
of specific Kind. The map key is the Kind name and value is a list
of resource names separated by commas. Each resource name has format
"namespace/resourcename". For cluster resources, simply use "resourcename".
description: |-
OrderedResources specifies the backup order of resources of specific Kind.
The map key is the resource name and value is a list of object names separated by commas.
Each resource name has format "namespace/objectname". For cluster resources, simply use "objectname".
nullable: true
type: object
resourcePolicy:
description: ResourcePolicy specifies the referenced resource policies
that backup should follow
properties:
apiGroup:
description: |-
APIGroup is the group for the resource being referenced.
If APIGroup is not specified, the specified Kind must be in the core API group.
For any other third-party types, APIGroup is required.
type: string
kind:
description: Kind is the type of resource being referenced
type: string
name:
description: Name is the name of resource being referenced
type: string
required:
- kind
- name
type: object
x-kubernetes-map-type: atomic
snapshotMoveData:
description: SnapshotMoveData specifies whether snapshot data should
be moved
nullable: true
type: boolean
snapshotVolumes:
description: SnapshotVolumes specifies whether to take cloud snapshots
of any PV's referenced in the set of objects included in the Backup.
description: |-
SnapshotVolumes specifies whether to take snapshots
of any PV's referenced in the set of objects included
in the Backup.
nullable: true
type: boolean
storageLocation:
@@ -333,9 +489,19 @@ spec:
BackupStorageLocation where the backup should be stored.
type: string
ttl:
description: TTL is a time.Duration-parseable string describing how
long the Backup should be retained for.
description: |-
TTL is a time.Duration-parseable string describing how long
the Backup should be retained for.
type: string
uploaderConfig:
description: UploaderConfig specifies the configuration for the uploader.
nullable: true
properties:
parallelFilesUpload:
description: ParallelFilesUpload is the number of files parallel
uploads to perform when using the uploader.
type: integer
type: object
volumeSnapshotLocations:
description: VolumeSnapshotLocations is a list containing names of
VolumeSnapshotLocations associated with this backup.
@@ -346,95 +512,149 @@ spec:
status:
description: BackupStatus captures the current status of a Velero backup.
properties:
backupItemOperationsAttempted:
description: |-
BackupItemOperationsAttempted is the total number of attempted
async BackupItemAction operations for this backup.
type: integer
backupItemOperationsCompleted:
description: |-
BackupItemOperationsCompleted is the total number of successfully completed
async BackupItemAction operations for this backup.
type: integer
backupItemOperationsFailed:
description: |-
BackupItemOperationsFailed is the total number of async
BackupItemAction operations for this backup which ended with an error.
type: integer
completionTimestamp:
description: CompletionTimestamp records the time a backup was completed.
Completion time is recorded even on failed backups. Completion time
is recorded before uploading the backup object. The server's time
is used for CompletionTimestamps
description: |-
CompletionTimestamp records the time a backup was completed.
Completion time is recorded even on failed backups.
Completion time is recorded before uploading the backup object.
The server's time is used for CompletionTimestamps
format: date-time
nullable: true
type: string
csiVolumeSnapshotsAttempted:
description: |-
CSIVolumeSnapshotsAttempted is the total number of attempted
CSI VolumeSnapshots for this backup.
type: integer
csiVolumeSnapshotsCompleted:
description: |-
CSIVolumeSnapshotsCompleted is the total number of successfully
completed CSI VolumeSnapshots for this backup.
type: integer
errors:
description: Errors is a count of all error messages that were generated
during execution of the backup. The actual errors are in the backup's
log file in object storage.
description: |-
Errors is a count of all error messages that were generated during
execution of the backup. The actual errors are in the backup's log
file in object storage.
type: integer
expiration:
description: Expiration is when this Backup is eligible for garbage-collection.
format: date-time
nullable: true
type: string
failureReason:
description: FailureReason is an error that caused the entire backup
to fail.
type: string
formatVersion:
description: FormatVersion is the backup format version, including
major, minor, and patch version.
type: string
hookStatus:
description: HookStatus contains information about the status of the
hooks.
nullable: true
properties:
hooksAttempted:
description: |-
HooksAttempted is the total number of attempted hooks
Specifically, HooksAttempted represents the number of hooks that failed to execute
and the number of hooks that executed successfully.
type: integer
hooksFailed:
description: HooksFailed is the total number of hooks which ended
with an error
type: integer
type: object
phase:
description: Phase is the current state of the Backup.
enum:
- New
- FailedValidation
- InProgress
- WaitingForPluginOperations
- WaitingForPluginOperationsPartiallyFailed
- Finalizing
- FinalizingPartiallyFailed
- Completed
- PartiallyFailed
- Failed
- Deleting
type: string
progress:
description: Progress contains information about the backup's execution
progress. Note that this information is best-effort only -- if Velero
fails to update it during a backup for any reason, it may be inaccurate/stale.
description: |-
Progress contains information about the backup's execution progress. Note
that this information is best-effort only -- if Velero fails to update it
during a backup for any reason, it may be inaccurate/stale.
nullable: true
properties:
itemsBackedUp:
description: ItemsBackedUp is the number of items that have actually
been written to the backup tarball so far.
description: |-
ItemsBackedUp is the number of items that have actually been written to the
backup tarball so far.
type: integer
totalItems:
description: TotalItems is the total number of items to be backed
up. This number may change throughout the execution of the backup
due to plugins that return additional related items to back
up, the velero.io/exclude-from-backup label, and various other
description: |-
TotalItems is the total number of items to be backed up. This number may change
throughout the execution of the backup due to plugins that return additional related
items to back up, the velero.io/exclude-from-backup label, and various other
filters that happen as items are processed.
type: integer
type: object
startTimestamp:
description: StartTimestamp records the time a backup was started.
Separate from CreationTimestamp, since that value changes on restores.
description: |-
StartTimestamp records the time a backup was started.
Separate from CreationTimestamp, since that value changes
on restores.
The server's time is used for StartTimestamps
format: date-time
nullable: true
type: string
validationErrors:
description: ValidationErrors is a slice of all validation errors
(if applicable).
description: |-
ValidationErrors is a slice of all validation errors (if
applicable).
items:
type: string
nullable: true
type: array
version:
description: 'Version is the backup format major version. Deprecated:
Please see FormatVersion'
description: |-
Version is the backup format major version.
Deprecated: Please see FormatVersion
type: integer
volumeSnapshotsAttempted:
description: VolumeSnapshotsAttempted is the total number of attempted
description: |-
VolumeSnapshotsAttempted is the total number of attempted
volume snapshots for this backup.
type: integer
volumeSnapshotsCompleted:
description: VolumeSnapshotsCompleted is the total number of successfully
description: |-
VolumeSnapshotsCompleted is the total number of successfully
completed volume snapshots for this backup.
type: integer
warnings:
description: Warnings is a count of all warning messages that were
generated during execution of the backup. The actual warnings are
in the backup's log file in object storage.
description: |-
Warnings is a count of all warning messages that were generated during
execution of the backup. The actual warnings are in the backup's log
file in object storage.
type: integer
type: object
type: object
served: true
storage: true
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []

View File

@@ -1,11 +1,9 @@
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.3.0
creationTimestamp: null
controller-gen.kubebuilder.io/version: v0.14.0
name: backupstoragelocations.velero.io
spec:
group: velero.io
@@ -42,14 +40,19 @@ spec:
objects
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
description: |-
APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
description: |-
Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
type: string
metadata:
type: object
@@ -83,8 +86,10 @@ spec:
valid secret key.
type: string
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion, kind, uid?'
description: |-
Name of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion, kind, uid?
type: string
optional:
description: Specify whether the Secret or its key must be defined
@@ -92,6 +97,7 @@ spec:
required:
- key
type: object
x-kubernetes-map-type: atomic
default:
description: Default indicates this location is the default backup
storage location.
@@ -132,32 +138,43 @@ spec:
BackupStorageLocation
properties:
accessMode:
description: "AccessMode is an unused field. \n Deprecated: there
is now an AccessMode field on the Spec and this field will be removed
entirely as of v2.0."
description: |-
AccessMode is an unused field.
Deprecated: there is now an AccessMode field on the Spec and this field
will be removed entirely as of v2.0.
enum:
- ReadOnly
- ReadWrite
type: string
lastSyncedRevision:
description: "LastSyncedRevision is the value of the `metadata/revision`
file in the backup storage location the last time the BSL's contents
were synced into the cluster. \n Deprecated: this field is no longer
updated or used for detecting changes to the location's contents
and will be removed entirely in v2.0."
description: |-
LastSyncedRevision is the value of the `metadata/revision` file in the backup
storage location the last time the BSL's contents were synced into the cluster.
Deprecated: this field is no longer updated or used for detecting changes to
the location's contents and will be removed entirely in v2.0.
type: string
lastSyncedTime:
description: LastSyncedTime is the last time the contents of the location
were synced into the cluster.
description: |-
LastSyncedTime is the last time the contents of the location were synced into
the cluster.
format: date-time
nullable: true
type: string
lastValidationTime:
description: LastValidationTime is the last time the backup store
location was validated the cluster.
description: |-
LastValidationTime is the last time the backup store location was validated
the cluster.
format: date-time
nullable: true
type: string
message:
description: Message is a message about the backup storage location's
status.
type: string
phase:
description: Phase is the current state of the BackupStorageLocation.
enum:
@@ -168,11 +185,4 @@ spec:
type: object
served: true
storage: true
subresources:
status: {}
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []
subresources: {}

View File

@@ -1,11 +1,9 @@
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.3.0
creationTimestamp: null
controller-gen.kubebuilder.io/version: v0.14.0
name: deletebackuprequests.velero.io
spec:
group: velero.io
@@ -16,20 +14,34 @@ spec:
singular: deletebackuprequest
scope: Namespaced
versions:
- name: v1
- additionalPrinterColumns:
- description: The name of the backup to be deleted
jsonPath: .spec.backupName
name: BackupName
type: string
- description: The status of the deletion request
jsonPath: .status.phase
name: Status
type: string
name: v1
schema:
openAPIV3Schema:
description: DeleteBackupRequest is a request to delete one or more backups.
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
description: |-
APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
description: |-
Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
type: string
metadata:
type: object
@@ -63,9 +75,4 @@ spec:
type: object
served: true
storage: true
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []
subresources: {}

View File

@@ -1,11 +1,9 @@
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.3.0
creationTimestamp: null
controller-gen.kubebuilder.io/version: v0.14.0
name: downloadrequests.velero.io
spec:
group: velero.io
@@ -19,18 +17,24 @@ spec:
- name: v1
schema:
openAPIV3Schema:
description: DownloadRequest is a request to download an artifact from backup
object storage, such as a backup log file.
description: |-
DownloadRequest is a request to download an artifact from backup object storage, such as a backup
log file.
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
description: |-
APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
description: |-
Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
type: string
metadata:
type: object
@@ -46,12 +50,20 @@ spec:
- BackupLog
- BackupContents
- BackupVolumeSnapshots
- BackupItemOperations
- BackupResourceList
- BackupResults
- RestoreLog
- RestoreResults
- RestoreResourceList
- RestoreItemOperations
- CSIBackupVolumeSnapshots
- CSIBackupVolumeSnapshotContents
- BackupVolumeInfos
- RestoreVolumeInfo
type: string
name:
description: Name is the name of the kubernetes resource with
description: Name is the name of the Kubernetes resource with
which the file is associated.
type: string
required:
@@ -84,11 +96,3 @@ spec:
type: object
served: true
storage: true
subresources:
status: {}
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []

View File

@@ -1,11 +1,9 @@
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.3.0
creationTimestamp: null
controller-gen.kubebuilder.io/version: v0.14.0
name: podvolumebackups.velero.io
spec:
group: velero.io
@@ -16,19 +14,57 @@ spec:
singular: podvolumebackup
scope: Namespaced
versions:
- name: v1
- additionalPrinterColumns:
- description: Pod Volume Backup status such as New/InProgress
jsonPath: .status.phase
name: Status
type: string
- description: Time when this backup was started
jsonPath: .status.startTimestamp
name: Created
type: date
- description: Namespace of the pod containing the volume to be backed up
jsonPath: .spec.pod.namespace
name: Namespace
type: string
- description: Name of the pod containing the volume to be backed up
jsonPath: .spec.pod.name
name: Pod
type: string
- description: Name of the volume to be backed up
jsonPath: .spec.volume
name: Volume
type: string
- description: The type of the uploader to handle data transfer
jsonPath: .spec.uploaderType
name: Uploader Type
type: string
- description: Name of the Backup Storage Location where this backup should be
stored
jsonPath: .spec.backupStorageLocation
name: Storage Location
type: string
- jsonPath: .metadata.creationTimestamp
name: Age
type: date
name: v1
schema:
openAPIV3Schema:
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
description: |-
APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
description: |-
Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
type: string
metadata:
type: object
@@ -36,8 +72,9 @@ spec:
description: PodVolumeBackupSpec is the specification for a PodVolumeBackup.
properties:
backupStorageLocation:
description: BackupStorageLocation is the name of the backup storage
location where the restic repository is stored.
description: |-
BackupStorageLocation is the name of the backup storage location
where the backup repository is stored.
type: string
node:
description: Node is the name of the node that the Pod is running
@@ -51,47 +88,73 @@ spec:
description: API version of the referent.
type: string
fieldPath:
description: 'If referring to a piece of an object instead of
an entire object, this string should contain a valid JSON/Go
field access statement, such as desiredState.manifest.containers[2].
For example, if the object reference is to a container within
a pod, this would take on a value like: "spec.containers{name}"
(where "name" refers to the name of the container that triggered
the event) or if no container name is specified "spec.containers[2]"
(container with index 2 in this pod). This syntax is chosen
only to have some well-defined way of referencing a part of
an object. TODO: this design is not final and this field is
subject to change in the future.'
description: |-
If referring to a piece of an object instead of an entire object, this string
should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].
For example, if the object reference is to a container within a pod, this would take on a value like:
"spec.containers{name}" (where "name" refers to the name of the container that triggered
the event) or if no container name is specified "spec.containers[2]" (container with
index 2 in this pod). This syntax is chosen only to have some well-defined way of
referencing a part of an object.
TODO: this design is not final and this field is subject to change in the future.
type: string
kind:
description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
description: |-
Kind of the referent.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
type: string
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
description: |-
Name of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
type: string
namespace:
description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
description: |-
Namespace of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
type: string
resourceVersion:
description: 'Specific resourceVersion to which this reference
is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
description: |-
Specific resourceVersion to which this reference is made, if any.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
type: string
uid:
description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
description: |-
UID of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids
type: string
type: object
x-kubernetes-map-type: atomic
repoIdentifier:
description: RepoIdentifier is the restic repository identifier.
description: RepoIdentifier is the backup repository identifier.
type: string
tags:
additionalProperties:
type: string
description: Tags are a map of key-value pairs that should be applied
to the volume backup as tags.
description: |-
Tags are a map of key-value pairs that should be applied to the
volume backup as tags.
type: object
uploaderSettings:
additionalProperties:
type: string
description: |-
UploaderSettings are a map of key-value pairs that should be applied to the
uploader configuration.
nullable: true
type: object
uploaderType:
description: UploaderType is the type of the uploader to handle the
data transfer.
enum:
- kopia
- restic
- ""
type: string
volume:
description: Volume is the name of the volume within the Pod to be
backed up.
description: |-
Volume is the name of the volume within the Pod to be backed
up.
type: string
required:
- backupStorageLocation
@@ -104,10 +167,11 @@ spec:
description: PodVolumeBackupStatus is the current status of a PodVolumeBackup.
properties:
completionTimestamp:
description: CompletionTimestamp records the time a backup was completed.
Completion time is recorded even on failed backups. Completion time
is recorded before uploading the backup object. The server's time
is used for CompletionTimestamps
description: |-
CompletionTimestamp records the time a backup was completed.
Completion time is recorded even on failed backups.
Completion time is recorded before uploading the backup object.
The server's time is used for CompletionTimestamps
format: date-time
nullable: true
type: string
@@ -127,9 +191,10 @@ spec:
- Failed
type: string
progress:
description: Progress holds the total number of bytes of the volume
and the current number of backed up bytes. This can be used to display
progress information about the backup operation.
description: |-
Progress holds the total number of bytes of the volume and the current
number of backed up bytes. This can be used to display progress information
about the backup operation.
properties:
bytesDone:
format: int64
@@ -143,8 +208,10 @@ spec:
pod volume.
type: string
startTimestamp:
description: StartTimestamp records the time a backup was started.
Separate from CreationTimestamp, since that value changes on restores.
description: |-
StartTimestamp records the time a backup was started.
Separate from CreationTimestamp, since that value changes
on restores.
The server's time is used for StartTimestamps
format: date-time
nullable: true
@@ -153,9 +220,4 @@ spec:
type: object
served: true
storage: true
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []
subresources: {}

View File

@@ -1,11 +1,9 @@
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.3.0
creationTimestamp: null
controller-gen.kubebuilder.io/version: v0.14.0
name: podvolumerestores.velero.io
spec:
group: velero.io
@@ -16,19 +14,58 @@ spec:
singular: podvolumerestore
scope: Namespaced
versions:
- name: v1
- additionalPrinterColumns:
- description: Namespace of the pod containing the volume to be restored
jsonPath: .spec.pod.namespace
name: Namespace
type: string
- description: Name of the pod containing the volume to be restored
jsonPath: .spec.pod.name
name: Pod
type: string
- description: The type of the uploader to handle data transfer
jsonPath: .spec.uploaderType
name: Uploader Type
type: string
- description: Name of the volume to be restored
jsonPath: .spec.volume
name: Volume
type: string
- description: Pod Volume Restore status such as New/InProgress
jsonPath: .status.phase
name: Status
type: string
- description: Pod Volume Restore status such as New/InProgress
format: int64
jsonPath: .status.progress.totalBytes
name: TotalBytes
type: integer
- description: Pod Volume Restore status such as New/InProgress
format: int64
jsonPath: .status.progress.bytesDone
name: BytesDone
type: integer
- jsonPath: .metadata.creationTimestamp
name: Age
type: date
name: v1
schema:
openAPIV3Schema:
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
description: |-
APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
description: |-
Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
type: string
metadata:
type: object
@@ -36,8 +73,9 @@ spec:
description: PodVolumeRestoreSpec is the specification for a PodVolumeRestore.
properties:
backupStorageLocation:
description: BackupStorageLocation is the name of the backup storage
location where the restic repository is stored.
description: |-
BackupStorageLocation is the name of the backup storage location
where the backup repository is stored.
type: string
pod:
description: Pod is a reference to the pod containing the volume to
@@ -47,41 +85,69 @@ spec:
description: API version of the referent.
type: string
fieldPath:
description: 'If referring to a piece of an object instead of
an entire object, this string should contain a valid JSON/Go
field access statement, such as desiredState.manifest.containers[2].
For example, if the object reference is to a container within
a pod, this would take on a value like: "spec.containers{name}"
(where "name" refers to the name of the container that triggered
the event) or if no container name is specified "spec.containers[2]"
(container with index 2 in this pod). This syntax is chosen
only to have some well-defined way of referencing a part of
an object. TODO: this design is not final and this field is
subject to change in the future.'
description: |-
If referring to a piece of an object instead of an entire object, this string
should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].
For example, if the object reference is to a container within a pod, this would take on a value like:
"spec.containers{name}" (where "name" refers to the name of the container that triggered
the event) or if no container name is specified "spec.containers[2]" (container with
index 2 in this pod). This syntax is chosen only to have some well-defined way of
referencing a part of an object.
TODO: this design is not final and this field is subject to change in the future.
type: string
kind:
description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
description: |-
Kind of the referent.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
type: string
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
description: |-
Name of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
type: string
namespace:
description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
description: |-
Namespace of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
type: string
resourceVersion:
description: 'Specific resourceVersion to which this reference
is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
description: |-
Specific resourceVersion to which this reference is made, if any.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
type: string
uid:
description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
description: |-
UID of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids
type: string
type: object
x-kubernetes-map-type: atomic
repoIdentifier:
description: RepoIdentifier is the restic repository identifier.
description: RepoIdentifier is the backup repository identifier.
type: string
snapshotID:
description: SnapshotID is the ID of the volume snapshot to be restored.
type: string
sourceNamespace:
description: SourceNamespace is the original namespace for namaspace
mapping.
type: string
uploaderSettings:
additionalProperties:
type: string
description: |-
UploaderSettings are a map of key-value pairs that should be applied to the
uploader configuration.
nullable: true
type: object
uploaderType:
description: UploaderType is the type of the uploader to handle the
data transfer.
enum:
- kopia
- restic
- ""
type: string
volume:
description: Volume is the name of the volume within the Pod to be
restored.
@@ -91,15 +157,17 @@ spec:
- pod
- repoIdentifier
- snapshotID
- sourceNamespace
- volume
type: object
status:
description: PodVolumeRestoreStatus is the current status of a PodVolumeRestore.
properties:
completionTimestamp:
description: CompletionTimestamp records the time a restore was completed.
Completion time is recorded even on failed restores. The server's
time is used for CompletionTimestamps
description: |-
CompletionTimestamp records the time a restore was completed.
Completion time is recorded even on failed restores.
The server's time is used for CompletionTimestamps
format: date-time
nullable: true
type: string
@@ -115,9 +183,10 @@ spec:
- Failed
type: string
progress:
description: Progress holds the total number of bytes of the snapshot
and the current number of restored bytes. This can be used to display
progress information about the restore operation.
description: |-
Progress holds the total number of bytes of the snapshot and the current
number of restored bytes. This can be used to display progress information
about the restore operation.
properties:
bytesDone:
format: int64
@@ -127,7 +196,8 @@ spec:
type: integer
type: object
startTimestamp:
description: StartTimestamp records the time a restore was started.
description: |-
StartTimestamp records the time a restore was started.
The server's time is used for StartTimestamps
format: date-time
nullable: true
@@ -136,9 +206,4 @@ spec:
type: object
served: true
storage: true
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []
subresources: {}

View File

@@ -1,89 +0,0 @@
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.3.0
creationTimestamp: null
name: resticrepositories.velero.io
spec:
group: velero.io
names:
kind: ResticRepository
listKind: ResticRepositoryList
plural: resticrepositories
singular: resticrepository
scope: Namespaced
versions:
- name: v1
schema:
openAPIV3Schema:
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
description: ResticRepositorySpec is the specification for a ResticRepository.
properties:
backupStorageLocation:
description: BackupStorageLocation is the name of the BackupStorageLocation
that should contain this repository.
type: string
maintenanceFrequency:
description: MaintenanceFrequency is how often maintenance should
be run.
type: string
resticIdentifier:
description: ResticIdentifier is the full restic-compatible string
for identifying this repository.
type: string
volumeNamespace:
description: VolumeNamespace is the namespace this restic repository
contains pod volume backups for.
type: string
required:
- backupStorageLocation
- maintenanceFrequency
- resticIdentifier
- volumeNamespace
type: object
status:
description: ResticRepositoryStatus is the current status of a ResticRepository.
properties:
lastMaintenanceTime:
description: LastMaintenanceTime is the last time maintenance was
run.
format: date-time
nullable: true
type: string
message:
description: Message is a message about the current status of the
ResticRepository.
type: string
phase:
description: Phase is the current state of the ResticRepository.
enum:
- New
- Ready
- NotReady
type: string
type: object
type: object
served: true
storage: true
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []

File diff suppressed because it is too large Load Diff

View File

@@ -1,11 +1,9 @@
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.3.0
creationTimestamp: null
controller-gen.kubebuilder.io/version: v0.14.0
name: schedules.velero.io
spec:
group: velero.io
@@ -16,49 +14,130 @@ spec:
singular: schedule
scope: Namespaced
versions:
- name: v1
- additionalPrinterColumns:
- description: Status of the schedule
jsonPath: .status.phase
name: Status
type: string
- description: A Cron expression defining when to run the Backup
jsonPath: .spec.schedule
name: Schedule
type: string
- description: The last time a Backup was run for this schedule
jsonPath: .status.lastBackup
name: LastBackup
type: date
- jsonPath: .metadata.creationTimestamp
name: Age
type: date
- jsonPath: .spec.paused
name: Paused
type: boolean
name: v1
schema:
openAPIV3Schema:
description: Schedule is a Velero resource that represents a pre-scheduled
or periodic Backup that should be run.
description: |-
Schedule is a Velero resource that represents a pre-scheduled or
periodic Backup that should be run.
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
description: |-
APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
description: |-
Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
type: string
metadata:
type: object
spec:
description: ScheduleSpec defines the specification for a Velero schedule
properties:
paused:
description: Paused specifies whether the schedule is paused or not
type: boolean
schedule:
description: Schedule is a Cron expression defining when to run the
Backup.
description: |-
Schedule is a Cron expression defining when to run
the Backup.
type: string
skipImmediately:
description: |-
SkipImmediately specifies whether to skip backup if schedule is due immediately from `schedule.status.lastBackup` timestamp when schedule is unpaused or if schedule is new.
If true, backup will be skipped immediately when schedule is unpaused if it is due based on .Status.LastBackupTimestamp or schedule is new, and will run at next schedule time.
If false, backup will not be skipped immediately when schedule is unpaused, but will run at next schedule time.
If empty, will follow server configuration (default: false).
type: boolean
template:
description: Template is the definition of the Backup to be run on
the provided schedule
description: |-
Template is the definition of the Backup to be run
on the provided schedule
properties:
defaultVolumesToRestic:
description: DefaultVolumesToRestic specifies whether restic should
be used to take a backup of all pod volumes by default.
csiSnapshotTimeout:
description: |-
CSISnapshotTimeout specifies the time used to wait for CSI VolumeSnapshot status turns to
ReadyToUse during creation, before returning error as timeout.
The default value is 10 minute.
type: string
datamover:
description: |-
DataMover specifies the data mover to be used by the backup.
If DataMover is "" or "velero", the built-in data mover will be used.
type: string
defaultVolumesToFsBackup:
description: |-
DefaultVolumesToFsBackup specifies whether pod volume file system backup should be used
for all volumes by default.
nullable: true
type: boolean
defaultVolumesToRestic:
description: |-
DefaultVolumesToRestic specifies whether restic should be used to take a
backup of all pod volumes by default.
Deprecated: this field is no longer used and will be removed entirely in future. Use DefaultVolumesToFsBackup instead.
nullable: true
type: boolean
excludedClusterScopedResources:
description: |-
ExcludedClusterScopedResources is a slice of cluster-scoped
resource type names to exclude from the backup.
If set to "*", all cluster-scoped resource types are excluded.
The default value is empty.
items:
type: string
nullable: true
type: array
excludedNamespaceScopedResources:
description: |-
ExcludedNamespaceScopedResources is a slice of namespace-scoped
resource type names to exclude from the backup.
If set to "*", all namespace-scoped resource types are excluded.
The default value is empty.
items:
type: string
nullable: true
type: array
excludedNamespaces:
description: ExcludedNamespaces contains a list of namespaces
that are not included in the backup.
description: |-
ExcludedNamespaces contains a list of namespaces that are not
included in the backup.
items:
type: string
nullable: true
type: array
excludedResources:
description: ExcludedResources is a slice of resource names that
are not included in the backup.
description: |-
ExcludedResources is a slice of resource names that are not
included in the backup.
items:
type: string
nullable: true
@@ -71,9 +150,9 @@ spec:
description: Resources are hooks that should be executed when
backing up individual instances of a resource.
items:
description: BackupResourceHookSpec defines one or more
BackupResourceHooks that should be executed based on the
rules defined for namespaces, resources, and label selector.
description: |-
BackupResourceHookSpec defines one or more BackupResourceHooks that should be executed based on
the rules defined for namespaces, resources, and label selector.
properties:
excludedNamespaces:
description: ExcludedNamespaces specifies the namespaces
@@ -90,16 +169,16 @@ spec:
nullable: true
type: array
includedNamespaces:
description: IncludedNamespaces specifies the namespaces
to which this hook spec applies. If empty, it applies
description: |-
IncludedNamespaces specifies the namespaces to which this hook spec applies. If empty, it applies
to all namespaces.
items:
type: string
nullable: true
type: array
includedResources:
description: IncludedResources specifies the resources
to which this hook spec applies. If empty, it applies
description: |-
IncludedResources specifies the resources to which this hook spec applies. If empty, it applies
to all resources.
items:
type: string
@@ -114,26 +193,25 @@ spec:
description: matchExpressions is a list of label
selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a
selector that contains values, a key, and an
operator that relates the key and values.
description: |-
A label selector requirement is a selector that contains values, a key, and an operator that
relates the key and values.
properties:
key:
description: key is the label key that the
selector applies to.
type: string
operator:
description: operator represents a key's relationship
to a set of values. Valid operators are
In, NotIn, Exists and DoesNotExist.
description: |-
operator represents a key's relationship to a set of values.
Valid operators are In, NotIn, Exists and DoesNotExist.
type: string
values:
description: values is an array of string
values. If the operator is In or NotIn,
the values array must be non-empty. If the
operator is Exists or DoesNotExist, the
values array must be empty. This array is
replaced during a strategic merge patch.
description: |-
values is an array of string values. If the operator is In or NotIn,
the values array must be non-empty. If the operator is Exists or DoesNotExist,
the values array must be empty. This array is replaced during a strategic
merge patch.
items:
type: string
type: array
@@ -145,22 +223,20 @@ spec:
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value}
pairs. A single {key,value} in the matchLabels
map is equivalent to an element of matchExpressions,
whose key field is "key", the operator is "In",
and the values array contains only "value". The
requirements are ANDed.
description: |-
matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
map is equivalent to an element of matchExpressions, whose key field is "key", the
operator is "In", and the values array contains only "value". The requirements are ANDed.
type: object
type: object
x-kubernetes-map-type: atomic
name:
description: Name is the name of this hook.
type: string
post:
description: PostHooks is a list of BackupResourceHooks
to execute after storing the item in the backup. These
are executed after all "additional items" from item
actions are processed.
description: |-
PostHooks is a list of BackupResourceHooks to execute after storing the item in the backup.
These are executed after all "additional items" from item actions are processed.
items:
description: BackupResourceHook defines a hook for
a resource.
@@ -176,10 +252,9 @@ spec:
minItems: 1
type: array
container:
description: Container is the container in
the pod where the command should be executed.
If not specified, the pod's first container
is used.
description: |-
Container is the container in the pod where the command should be executed. If not specified,
the pod's first container is used.
type: string
onError:
description: OnError specifies how Velero
@@ -190,10 +265,9 @@ spec:
- Fail
type: string
timeout:
description: Timeout defines the maximum amount
of time Velero should wait for the hook
to complete before considering the execution
a failure.
description: |-
Timeout defines the maximum amount of time Velero should wait for the hook to complete before
considering the execution a failure.
type: string
required:
- command
@@ -203,10 +277,9 @@ spec:
type: object
type: array
pre:
description: PreHooks is a list of BackupResourceHooks
to execute prior to storing the item in the backup.
These are executed before any "additional items" from
item actions are processed.
description: |-
PreHooks is a list of BackupResourceHooks to execute prior to storing the item in the backup.
These are executed before any "additional items" from item actions are processed.
items:
description: BackupResourceHook defines a hook for
a resource.
@@ -222,10 +295,9 @@ spec:
minItems: 1
type: array
container:
description: Container is the container in
the pod where the command should be executed.
If not specified, the pod's first container
is used.
description: |-
Container is the container in the pod where the command should be executed. If not specified,
the pod's first container is used.
type: string
onError:
description: OnError specifies how Velero
@@ -236,10 +308,9 @@ spec:
- Fail
type: string
timeout:
description: Timeout defines the maximum amount
of time Velero should wait for the hook
to complete before considering the execution
a failure.
description: |-
Timeout defines the maximum amount of time Velero should wait for the hook to complete before
considering the execution a failure.
type: string
required:
- command
@@ -255,27 +326,56 @@ spec:
type: array
type: object
includeClusterResources:
description: IncludeClusterResources specifies whether cluster-scoped
resources should be included for consideration in the backup.
description: |-
IncludeClusterResources specifies whether cluster-scoped resources
should be included for consideration in the backup.
nullable: true
type: boolean
includedClusterScopedResources:
description: |-
IncludedClusterScopedResources is a slice of cluster-scoped
resource type names to include in the backup.
If set to "*", all cluster-scoped resource types are included.
The default value is empty, which means only related
cluster-scoped resources are included.
items:
type: string
nullable: true
type: array
includedNamespaceScopedResources:
description: |-
IncludedNamespaceScopedResources is a slice of namespace-scoped
resource type names to include in the backup.
The default value is "*".
items:
type: string
nullable: true
type: array
includedNamespaces:
description: IncludedNamespaces is a slice of namespace names
to include objects from. If empty, all namespaces are included.
description: |-
IncludedNamespaces is a slice of namespace names to include objects
from. If empty, all namespaces are included.
items:
type: string
nullable: true
type: array
includedResources:
description: IncludedResources is a slice of resource names to
include in the backup. If empty, all resources are included.
description: |-
IncludedResources is a slice of resource names to include
in the backup. If empty, all resources are included.
items:
type: string
nullable: true
type: array
itemOperationTimeout:
description: |-
ItemOperationTimeout specifies the time used to wait for asynchronous BackupItemAction operations
The default value is 4 hour.
type: string
labelSelector:
description: LabelSelector is a metav1.LabelSelector to filter
with when adding individual objects to the backup. If empty
description: |-
LabelSelector is a metav1.LabelSelector to filter with
when adding individual objects to the backup. If empty
or nil, all objects are included. Optional.
nullable: true
properties:
@@ -283,25 +383,25 @@ spec:
description: matchExpressions is a list of label selector
requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector
that contains values, a key, and an operator that relates
the key and values.
description: |-
A label selector requirement is a selector that contains values, a key, and an operator that
relates the key and values.
properties:
key:
description: key is the label key that the selector
applies to.
type: string
operator:
description: operator represents a key's relationship
to a set of values. Valid operators are In, NotIn,
Exists and DoesNotExist.
description: |-
operator represents a key's relationship to a set of values.
Valid operators are In, NotIn, Exists and DoesNotExist.
type: string
values:
description: values is an array of string values. If
the operator is In or NotIn, the values array must
be non-empty. If the operator is Exists or DoesNotExist,
the values array must be empty. This array is replaced
during a strategic merge patch.
description: |-
values is an array of string values. If the operator is In or NotIn,
the values array must be non-empty. If the operator is Exists or DoesNotExist,
the values array must be empty. This array is replaced during a strategic
merge patch.
items:
type: string
type: array
@@ -313,13 +413,13 @@ spec:
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs. A
single {key,value} in the matchLabels map is equivalent
to an element of matchExpressions, whose key field is "key",
the operator is "In", and the values array contains only
"value". The requirements are ANDed.
description: |-
matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
map is equivalent to an element of matchExpressions, whose key field is "key", the
operator is "In", and the values array contains only "value". The requirements are ANDed.
type: object
type: object
x-kubernetes-map-type: atomic
metadata:
properties:
labels:
@@ -327,20 +427,102 @@ spec:
type: string
type: object
type: object
orLabelSelectors:
description: |-
OrLabelSelectors is list of metav1.LabelSelector to filter with
when adding individual objects to the backup. If multiple provided
they will be joined by the OR operator. LabelSelector as well as
OrLabelSelectors cannot co-exist in backup request, only one of them
can be used.
items:
description: |-
A label selector is a label query over a set of resources. The result of matchLabels and
matchExpressions are ANDed. An empty label selector matches all objects. A null
label selector matches no objects.
properties:
matchExpressions:
description: matchExpressions is a list of label selector
requirements. The requirements are ANDed.
items:
description: |-
A label selector requirement is a selector that contains values, a key, and an operator that
relates the key and values.
properties:
key:
description: key is the label key that the selector
applies to.
type: string
operator:
description: |-
operator represents a key's relationship to a set of values.
Valid operators are In, NotIn, Exists and DoesNotExist.
type: string
values:
description: |-
values is an array of string values. If the operator is In or NotIn,
the values array must be non-empty. If the operator is Exists or DoesNotExist,
the values array must be empty. This array is replaced during a strategic
merge patch.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: |-
matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
map is equivalent to an element of matchExpressions, whose key field is "key", the
operator is "In", and the values array contains only "value". The requirements are ANDed.
type: object
type: object
x-kubernetes-map-type: atomic
nullable: true
type: array
orderedResources:
additionalProperties:
type: string
description: OrderedResources specifies the backup order of resources
of specific Kind. The map key is the Kind name and value is
a list of resource names separated by commas. Each resource
name has format "namespace/resourcename". For cluster resources,
simply use "resourcename".
description: |-
OrderedResources specifies the backup order of resources of specific Kind.
The map key is the resource name and value is a list of object names separated by commas.
Each resource name has format "namespace/objectname". For cluster resources, simply use "objectname".
nullable: true
type: object
resourcePolicy:
description: ResourcePolicy specifies the referenced resource
policies that backup should follow
properties:
apiGroup:
description: |-
APIGroup is the group for the resource being referenced.
If APIGroup is not specified, the specified Kind must be in the core API group.
For any other third-party types, APIGroup is required.
type: string
kind:
description: Kind is the type of resource being referenced
type: string
name:
description: Name is the name of resource being referenced
type: string
required:
- kind
- name
type: object
x-kubernetes-map-type: atomic
snapshotMoveData:
description: SnapshotMoveData specifies whether snapshot data
should be moved
nullable: true
type: boolean
snapshotVolumes:
description: SnapshotVolumes specifies whether to take cloud snapshots
of any PV's referenced in the set of objects included in the
Backup.
description: |-
SnapshotVolumes specifies whether to take snapshots
of any PV's referenced in the set of objects included
in the Backup.
nullable: true
type: boolean
storageLocation:
@@ -348,9 +530,20 @@ spec:
a BackupStorageLocation where the backup should be stored.
type: string
ttl:
description: TTL is a time.Duration-parseable string describing
how long the Backup should be retained for.
description: |-
TTL is a time.Duration-parseable string describing how long
the Backup should be retained for.
type: string
uploaderConfig:
description: UploaderConfig specifies the configuration for the
uploader.
nullable: true
properties:
parallelFilesUpload:
description: ParallelFilesUpload is the number of files parallel
uploads to perform when using the uploader.
type: integer
type: object
volumeSnapshotLocations:
description: VolumeSnapshotLocations is a list containing names
of VolumeSnapshotLocations associated with this backup.
@@ -359,8 +552,9 @@ spec:
type: array
type: object
useOwnerReferencesInBackup:
description: UseOwnerReferencesBackup specifies whether to use OwnerReferences
on backups created by this Schedule.
description: |-
UseOwnerReferencesBackup specifies whether to use
OwnerReferences on backups created by this Schedule.
nullable: true
type: boolean
required:
@@ -371,11 +565,17 @@ spec:
description: ScheduleStatus captures the current state of a Velero schedule
properties:
lastBackup:
description: LastBackup is the last time a Backup was run for this
description: |-
LastBackup is the last time a Backup was run for this
Schedule schedule
format: date-time
nullable: true
type: string
lastSkipped:
description: LastSkipped is the last time a Schedule was skipped
format: date-time
nullable: true
type: string
phase:
description: Phase is the current phase of the Schedule
enum:
@@ -384,8 +584,9 @@ spec:
- FailedValidation
type: string
validationErrors:
description: ValidationErrors is a slice of all validation errors
(if applicable)
description: |-
ValidationErrors is a slice of all validation errors (if
applicable)
items:
type: string
type: array
@@ -393,9 +594,4 @@ spec:
type: object
served: true
storage: true
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []
subresources: {}

View File

@@ -1,11 +1,9 @@
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.3.0
creationTimestamp: null
controller-gen.kubebuilder.io/version: v0.14.0
name: serverstatusrequests.velero.io
spec:
group: velero.io
@@ -21,18 +19,24 @@ spec:
- name: v1
schema:
openAPIV3Schema:
description: ServerStatusRequest is a request to access current status information
about the Velero server.
description: |-
ServerStatusRequest is a request to access current status information about
the Velero server.
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
description: |-
APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
description: |-
Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
type: string
metadata:
type: object
@@ -65,8 +69,9 @@ spec:
nullable: true
type: array
processedTimestamp:
description: ProcessedTimestamp is when the ServerStatusRequest was
processed by the ServerStatusRequestController.
description: |-
ProcessedTimestamp is when the ServerStatusRequest was processed
by the ServerStatusRequestController.
format: date-time
nullable: true
type: string
@@ -77,11 +82,3 @@ spec:
type: object
served: true
storage: true
subresources:
status: {}
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []

View File

@@ -1,11 +1,9 @@
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.3.0
creationTimestamp: null
controller-gen.kubebuilder.io/version: v0.14.0
name: volumesnapshotlocations.velero.io
spec:
group: velero.io
@@ -13,6 +11,8 @@ spec:
kind: VolumeSnapshotLocation
listKind: VolumeSnapshotLocationList
plural: volumesnapshotlocations
shortNames:
- vsl
singular: volumesnapshotlocation
scope: Namespaced
versions:
@@ -23,14 +23,19 @@ spec:
snapshots.
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
description: |-
APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
description: |-
Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
type: string
metadata:
type: object
@@ -43,6 +48,27 @@ spec:
type: string
description: Config is for provider-specific configuration fields.
type: object
credential:
description: Credential contains the credential information intended
to be used with this location
properties:
key:
description: The key of the secret to select from. Must be a
valid secret key.
type: string
name:
description: |-
Name of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion, kind, uid?
type: string
optional:
description: Specify whether the Secret or its key must be defined
type: boolean
required:
- key
type: object
x-kubernetes-map-type: atomic
provider:
description: Provider is the provider of the volume storage.
type: string
@@ -64,9 +90,3 @@ spec:
type: object
served: true
storage: true
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []

File diff suppressed because one or more lines are too long

View File

@@ -1,439 +0,0 @@
---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.3.0
creationTimestamp: null
name: backups.velero.io
spec:
group: velero.io
names:
kind: Backup
listKind: BackupList
plural: backups
singular: backup
preserveUnknownFields: false
scope: Namespaced
validation:
openAPIV3Schema:
description: Backup is a Velero resource that represents the capture of Kubernetes
cluster state at a point in time (API objects and associated volume state).
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
description: BackupSpec defines the specification for a Velero backup.
properties:
defaultVolumesToRestic:
description: DefaultVolumesToRestic specifies whether restic should
be used to take a backup of all pod volumes by default.
type: boolean
excludedNamespaces:
description: ExcludedNamespaces contains a list of namespaces that are
not included in the backup.
items:
type: string
nullable: true
type: array
excludedResources:
description: ExcludedResources is a slice of resource names that are
not included in the backup.
items:
type: string
nullable: true
type: array
hooks:
description: Hooks represent custom behaviors that should be executed
at different phases of the backup.
properties:
resources:
description: Resources are hooks that should be executed when backing
up individual instances of a resource.
items:
description: BackupResourceHookSpec defines one or more BackupResourceHooks
that should be executed based on the rules defined for namespaces,
resources, and label selector.
properties:
excludedNamespaces:
description: ExcludedNamespaces specifies the namespaces to
which this hook spec does not apply.
items:
type: string
nullable: true
type: array
excludedResources:
description: ExcludedResources specifies the resources to
which this hook spec does not apply.
items:
type: string
nullable: true
type: array
includedNamespaces:
description: IncludedNamespaces specifies the namespaces to
which this hook spec applies. If empty, it applies to all
namespaces.
items:
type: string
nullable: true
type: array
includedResources:
description: IncludedResources specifies the resources to
which this hook spec applies. If empty, it applies to all
resources.
items:
type: string
nullable: true
type: array
labelSelector:
description: LabelSelector, if specified, filters the resources
to which this hook spec applies.
nullable: true
properties:
matchExpressions:
description: matchExpressions is a list of label selector
requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector
that contains values, a key, and an operator that
relates the key and values.
properties:
key:
description: key is the label key that the selector
applies to.
type: string
operator:
description: operator represents a key's relationship
to a set of values. Valid operators are In, NotIn,
Exists and DoesNotExist.
type: string
values:
description: values is an array of string values.
If the operator is In or NotIn, the values array
must be non-empty. If the operator is Exists or
DoesNotExist, the values array must be empty.
This array is replaced during a strategic merge
patch.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
A single {key,value} in the matchLabels map is equivalent
to an element of matchExpressions, whose key field is
"key", the operator is "In", and the values array contains
only "value". The requirements are ANDed.
type: object
type: object
name:
description: Name is the name of this hook.
type: string
post:
description: PostHooks is a list of BackupResourceHooks to
execute after storing the item in the backup. These are
executed after all "additional items" from item actions
are processed.
items:
description: BackupResourceHook defines a hook for a resource.
properties:
exec:
description: Exec defines an exec hook.
properties:
command:
description: Command is the command and arguments
to execute.
items:
type: string
minItems: 1
type: array
container:
description: Container is the container in the pod
where the command should be executed. If not specified,
the pod's first container is used.
type: string
onError:
description: OnError specifies how Velero should
behave if it encounters an error executing this
hook.
enum:
- Continue
- Fail
type: string
timeout:
description: Timeout defines the maximum amount
of time Velero should wait for the hook to complete
before considering the execution a failure.
type: string
required:
- command
type: object
required:
- exec
type: object
type: array
pre:
description: PreHooks is a list of BackupResourceHooks to
execute prior to storing the item in the backup. These are
executed before any "additional items" from item actions
are processed.
items:
description: BackupResourceHook defines a hook for a resource.
properties:
exec:
description: Exec defines an exec hook.
properties:
command:
description: Command is the command and arguments
to execute.
items:
type: string
minItems: 1
type: array
container:
description: Container is the container in the pod
where the command should be executed. If not specified,
the pod's first container is used.
type: string
onError:
description: OnError specifies how Velero should
behave if it encounters an error executing this
hook.
enum:
- Continue
- Fail
type: string
timeout:
description: Timeout defines the maximum amount
of time Velero should wait for the hook to complete
before considering the execution a failure.
type: string
required:
- command
type: object
required:
- exec
type: object
type: array
required:
- name
type: object
nullable: true
type: array
type: object
includeClusterResources:
description: IncludeClusterResources specifies whether cluster-scoped
resources should be included for consideration in the backup.
nullable: true
type: boolean
includedNamespaces:
description: IncludedNamespaces is a slice of namespace names to include
objects from. If empty, all namespaces are included.
items:
type: string
nullable: true
type: array
includedResources:
description: IncludedResources is a slice of resource names to include
in the backup. If empty, all resources are included.
items:
type: string
nullable: true
type: array
labelSelector:
description: LabelSelector is a metav1.LabelSelector to filter with
when adding individual objects to the backup. If empty or nil, all
objects are included. Optional.
nullable: true
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements.
The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains
values, a key, and an operator that relates the key and values.
properties:
key:
description: key is the label key that the selector applies
to.
type: string
operator:
description: operator represents a key's relationship to a
set of values. Valid operators are In, NotIn, Exists and
DoesNotExist.
type: string
values:
description: values is an array of string values. If the operator
is In or NotIn, the values array must be non-empty. If the
operator is Exists or DoesNotExist, the values array must
be empty. This array is replaced during a strategic merge
patch.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs. A single
{key,value} in the matchLabels map is equivalent to an element
of matchExpressions, whose key field is "key", the operator is
"In", and the values array contains only "value". The requirements
are ANDed.
type: object
type: object
metadata:
properties:
labels:
additionalProperties:
type: string
type: object
type: object
orderedResources:
additionalProperties:
type: string
description: OrderedResources specifies the backup order of resources
of specific Kind. The map key is the Kind name and value is a list
of resource names separated by commas. Each resource name has format
"namespace/resourcename". For cluster resources, simply use "resourcename".
nullable: true
type: object
snapshotVolumes:
description: SnapshotVolumes specifies whether to take cloud snapshots
of any PV's referenced in the set of objects included in the Backup.
nullable: true
type: boolean
storageLocation:
description: StorageLocation is a string containing the name of a BackupStorageLocation
where the backup should be stored.
type: string
ttl:
description: TTL is a time.Duration-parseable string describing how
long the Backup should be retained for.
type: string
volumeSnapshotLocations:
description: VolumeSnapshotLocations is a list containing names of VolumeSnapshotLocations
associated with this backup.
items:
type: string
type: array
type: object
status:
description: BackupStatus captures the current status of a Velero backup.
properties:
completionTimestamp:
description: CompletionTimestamp records the time a backup was completed.
Completion time is recorded even on failed backups. Completion time
is recorded before uploading the backup object. The server's time
is used for CompletionTimestamps
format: date-time
nullable: true
type: string
errors:
description: Errors is a count of all error messages that were generated
during execution of the backup. The actual errors are in the backup's
log file in object storage.
type: integer
expiration:
description: Expiration is when this Backup is eligible for garbage-collection.
format: date-time
nullable: true
type: string
formatVersion:
description: FormatVersion is the backup format version, including major,
minor, and patch version.
type: string
phase:
description: Phase is the current state of the Backup.
enum:
- New
- FailedValidation
- InProgress
- Completed
- PartiallyFailed
- Failed
- Deleting
type: string
progress:
description: Progress contains information about the backup's execution
progress. Note that this information is best-effort only -- if Velero
fails to update it during a backup for any reason, it may be inaccurate/stale.
nullable: true
properties:
itemsBackedUp:
description: ItemsBackedUp is the number of items that have actually
been written to the backup tarball so far.
type: integer
totalItems:
description: TotalItems is the total number of items to be backed
up. This number may change throughout the execution of the backup
due to plugins that return additional related items to back up,
the velero.io/exclude-from-backup label, and various other filters
that happen as items are processed.
type: integer
type: object
startTimestamp:
description: StartTimestamp records the time a backup was started. Separate
from CreationTimestamp, since that value changes on restores. The
server's time is used for StartTimestamps
format: date-time
nullable: true
type: string
validationErrors:
description: ValidationErrors is a slice of all validation errors (if
applicable).
items:
type: string
nullable: true
type: array
version:
description: 'Version is the backup format major version. Deprecated:
Please see FormatVersion'
type: integer
volumeSnapshotsAttempted:
description: VolumeSnapshotsAttempted is the total number of attempted
volume snapshots for this backup.
type: integer
volumeSnapshotsCompleted:
description: VolumeSnapshotsCompleted is the total number of successfully
completed volume snapshots for this backup.
type: integer
warnings:
description: Warnings is a count of all warning messages that were generated
during execution of the backup. The actual warnings are in the backup's
log file in object storage.
type: integer
type: object
type: object
version: v1
versions:
- name: v1
served: true
storage: true
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []

View File

@@ -1,179 +0,0 @@
---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.3.0
creationTimestamp: null
name: backupstoragelocations.velero.io
spec:
additionalPrinterColumns:
- JSONPath: .status.phase
description: Backup Storage Location status such as Available/Unavailable
name: Phase
type: string
- JSONPath: .status.lastValidationTime
description: LastValidationTime is the last time the backup store location was
validated
name: Last Validated
type: date
- JSONPath: .metadata.creationTimestamp
name: Age
type: date
- JSONPath: .spec.default
description: Default backup storage location
name: Default
type: boolean
group: velero.io
names:
kind: BackupStorageLocation
listKind: BackupStorageLocationList
plural: backupstoragelocations
shortNames:
- bsl
singular: backupstoragelocation
preserveUnknownFields: false
scope: Namespaced
subresources:
status: {}
validation:
openAPIV3Schema:
description: BackupStorageLocation is a location where Velero stores backup
objects
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
description: BackupStorageLocationSpec defines the desired state of a Velero
BackupStorageLocation
properties:
accessMode:
description: AccessMode defines the permissions for the backup storage
location.
enum:
- ReadOnly
- ReadWrite
type: string
backupSyncPeriod:
description: BackupSyncPeriod defines how frequently to sync backup
API objects from object storage. A value of 0 disables sync.
nullable: true
type: string
config:
additionalProperties:
type: string
description: Config is for provider-specific configuration fields.
type: object
credential:
description: Credential contains the credential information intended
to be used with this location
properties:
key:
description: The key of the secret to select from. Must be a valid
secret key.
type: string
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion, kind, uid?'
type: string
optional:
description: Specify whether the Secret or its key must be defined
type: boolean
required:
- key
type: object
default:
description: Default indicates this location is the default backup storage
location.
type: boolean
objectStorage:
description: ObjectStorageLocation specifies the settings necessary
to connect to a provider's object storage.
properties:
bucket:
description: Bucket is the bucket to use for object storage.
type: string
caCert:
description: CACert defines a CA bundle to use when verifying TLS
connections to the provider.
format: byte
type: string
prefix:
description: Prefix is the path inside a bucket to use for Velero
storage. Optional.
type: string
required:
- bucket
type: object
provider:
description: Provider is the provider of the backup storage.
type: string
validationFrequency:
description: ValidationFrequency defines how frequently to validate
the corresponding object storage. A value of 0 disables validation.
nullable: true
type: string
required:
- objectStorage
- provider
type: object
status:
description: BackupStorageLocationStatus defines the observed state of BackupStorageLocation
properties:
accessMode:
description: "AccessMode is an unused field. \n Deprecated: there is
now an AccessMode field on the Spec and this field will be removed
entirely as of v2.0."
enum:
- ReadOnly
- ReadWrite
type: string
lastSyncedRevision:
description: "LastSyncedRevision is the value of the `metadata/revision`
file in the backup storage location the last time the BSL's contents
were synced into the cluster. \n Deprecated: this field is no longer
updated or used for detecting changes to the location's contents and
will be removed entirely in v2.0."
type: string
lastSyncedTime:
description: LastSyncedTime is the last time the contents of the location
were synced into the cluster.
format: date-time
nullable: true
type: string
lastValidationTime:
description: LastValidationTime is the last time the backup store location
was validated the cluster.
format: date-time
nullable: true
type: string
phase:
description: Phase is the current state of the BackupStorageLocation.
enum:
- Available
- Unavailable
type: string
type: object
type: object
version: v1
versions:
- name: v1
served: true
storage: true
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []

View File

@@ -1,73 +0,0 @@
---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.3.0
creationTimestamp: null
name: deletebackuprequests.velero.io
spec:
group: velero.io
names:
kind: DeleteBackupRequest
listKind: DeleteBackupRequestList
plural: deletebackuprequests
singular: deletebackuprequest
preserveUnknownFields: false
scope: Namespaced
validation:
openAPIV3Schema:
description: DeleteBackupRequest is a request to delete one or more backups.
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
description: DeleteBackupRequestSpec is the specification for which backups
to delete.
properties:
backupName:
type: string
required:
- backupName
type: object
status:
description: DeleteBackupRequestStatus is the current status of a DeleteBackupRequest.
properties:
errors:
description: Errors contains any errors that were encountered during
the deletion process.
items:
type: string
nullable: true
type: array
phase:
description: Phase is the current state of the DeleteBackupRequest.
enum:
- New
- InProgress
- Processed
type: string
type: object
type: object
version: v1
versions:
- name: v1
served: true
storage: true
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []

View File

@@ -1,96 +0,0 @@
---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.3.0
creationTimestamp: null
name: downloadrequests.velero.io
spec:
group: velero.io
names:
kind: DownloadRequest
listKind: DownloadRequestList
plural: downloadrequests
singular: downloadrequest
preserveUnknownFields: false
scope: Namespaced
subresources:
status: {}
validation:
openAPIV3Schema:
description: DownloadRequest is a request to download an artifact from backup
object storage, such as a backup log file.
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
description: DownloadRequestSpec is the specification for a download request.
properties:
target:
description: Target is what to download (e.g. logs for a backup).
properties:
kind:
description: Kind is the type of file to download.
enum:
- BackupLog
- BackupContents
- BackupVolumeSnapshots
- BackupResourceList
- RestoreLog
- RestoreResults
type: string
name:
description: Name is the name of the kubernetes resource with which
the file is associated.
type: string
required:
- kind
- name
type: object
required:
- target
type: object
status:
description: DownloadRequestStatus is the current status of a DownloadRequest.
properties:
downloadURL:
description: DownloadURL contains the pre-signed URL for the target
file.
type: string
expiration:
description: Expiration is when this DownloadRequest expires and can
be deleted by the system.
format: date-time
nullable: true
type: string
phase:
description: Phase is the current state of the DownloadRequest.
enum:
- New
- Processed
type: string
type: object
type: object
version: v1
versions:
- name: v1
served: true
storage: true
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []

View File

@@ -1,162 +0,0 @@
---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.3.0
creationTimestamp: null
name: podvolumebackups.velero.io
spec:
group: velero.io
names:
kind: PodVolumeBackup
listKind: PodVolumeBackupList
plural: podvolumebackups
singular: podvolumebackup
preserveUnknownFields: false
scope: Namespaced
validation:
openAPIV3Schema:
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
description: PodVolumeBackupSpec is the specification for a PodVolumeBackup.
properties:
backupStorageLocation:
description: BackupStorageLocation is the name of the backup storage
location where the restic repository is stored.
type: string
node:
description: Node is the name of the node that the Pod is running on.
type: string
pod:
description: Pod is a reference to the pod containing the volume to
be backed up.
properties:
apiVersion:
description: API version of the referent.
type: string
fieldPath:
description: 'If referring to a piece of an object instead of an
entire object, this string should contain a valid JSON/Go field
access statement, such as desiredState.manifest.containers[2].
For example, if the object reference is to a container within
a pod, this would take on a value like: "spec.containers{name}"
(where "name" refers to the name of the container that triggered
the event) or if no container name is specified "spec.containers[2]"
(container with index 2 in this pod). This syntax is chosen only
to have some well-defined way of referencing a part of an object.
TODO: this design is not final and this field is subject to change
in the future.'
type: string
kind:
description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
type: string
namespace:
description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
type: string
resourceVersion:
description: 'Specific resourceVersion to which this reference is
made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
type: string
uid:
description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
type: string
type: object
repoIdentifier:
description: RepoIdentifier is the restic repository identifier.
type: string
tags:
additionalProperties:
type: string
description: Tags are a map of key-value pairs that should be applied
to the volume backup as tags.
type: object
volume:
description: Volume is the name of the volume within the Pod to be backed
up.
type: string
required:
- backupStorageLocation
- node
- pod
- repoIdentifier
- volume
type: object
status:
description: PodVolumeBackupStatus is the current status of a PodVolumeBackup.
properties:
completionTimestamp:
description: CompletionTimestamp records the time a backup was completed.
Completion time is recorded even on failed backups. Completion time
is recorded before uploading the backup object. The server's time
is used for CompletionTimestamps
format: date-time
nullable: true
type: string
message:
description: Message is a message about the pod volume backup's status.
type: string
path:
description: Path is the full path within the controller pod being backed
up.
type: string
phase:
description: Phase is the current state of the PodVolumeBackup.
enum:
- New
- InProgress
- Completed
- Failed
type: string
progress:
description: Progress holds the total number of bytes of the volume
and the current number of backed up bytes. This can be used to display
progress information about the backup operation.
properties:
bytesDone:
format: int64
type: integer
totalBytes:
format: int64
type: integer
type: object
snapshotID:
description: SnapshotID is the identifier for the snapshot of the pod
volume.
type: string
startTimestamp:
description: StartTimestamp records the time a backup was started. Separate
from CreationTimestamp, since that value changes on restores. The
server's time is used for StartTimestamps
format: date-time
nullable: true
type: string
type: object
type: object
version: v1
versions:
- name: v1
served: true
storage: true
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []

View File

@@ -1,145 +0,0 @@
---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.3.0
creationTimestamp: null
name: podvolumerestores.velero.io
spec:
group: velero.io
names:
kind: PodVolumeRestore
listKind: PodVolumeRestoreList
plural: podvolumerestores
singular: podvolumerestore
preserveUnknownFields: false
scope: Namespaced
validation:
openAPIV3Schema:
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
description: PodVolumeRestoreSpec is the specification for a PodVolumeRestore.
properties:
backupStorageLocation:
description: BackupStorageLocation is the name of the backup storage
location where the restic repository is stored.
type: string
pod:
description: Pod is a reference to the pod containing the volume to
be restored.
properties:
apiVersion:
description: API version of the referent.
type: string
fieldPath:
description: 'If referring to a piece of an object instead of an
entire object, this string should contain a valid JSON/Go field
access statement, such as desiredState.manifest.containers[2].
For example, if the object reference is to a container within
a pod, this would take on a value like: "spec.containers{name}"
(where "name" refers to the name of the container that triggered
the event) or if no container name is specified "spec.containers[2]"
(container with index 2 in this pod). This syntax is chosen only
to have some well-defined way of referencing a part of an object.
TODO: this design is not final and this field is subject to change
in the future.'
type: string
kind:
description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
type: string
namespace:
description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
type: string
resourceVersion:
description: 'Specific resourceVersion to which this reference is
made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
type: string
uid:
description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
type: string
type: object
repoIdentifier:
description: RepoIdentifier is the restic repository identifier.
type: string
snapshotID:
description: SnapshotID is the ID of the volume snapshot to be restored.
type: string
volume:
description: Volume is the name of the volume within the Pod to be restored.
type: string
required:
- backupStorageLocation
- pod
- repoIdentifier
- snapshotID
- volume
type: object
status:
description: PodVolumeRestoreStatus is the current status of a PodVolumeRestore.
properties:
completionTimestamp:
description: CompletionTimestamp records the time a restore was completed.
Completion time is recorded even on failed restores. The server's
time is used for CompletionTimestamps
format: date-time
nullable: true
type: string
message:
description: Message is a message about the pod volume restore's status.
type: string
phase:
description: Phase is the current state of the PodVolumeRestore.
enum:
- New
- InProgress
- Completed
- Failed
type: string
progress:
description: Progress holds the total number of bytes of the snapshot
and the current number of restored bytes. This can be used to display
progress information about the restore operation.
properties:
bytesDone:
format: int64
type: integer
totalBytes:
format: int64
type: integer
type: object
startTimestamp:
description: StartTimestamp records the time a restore was started.
The server's time is used for StartTimestamps
format: date-time
nullable: true
type: string
type: object
type: object
version: v1
versions:
- name: v1
served: true
storage: true
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []

View File

@@ -1,89 +0,0 @@
---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.3.0
creationTimestamp: null
name: resticrepositories.velero.io
spec:
group: velero.io
names:
kind: ResticRepository
listKind: ResticRepositoryList
plural: resticrepositories
singular: resticrepository
preserveUnknownFields: false
scope: Namespaced
validation:
openAPIV3Schema:
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
description: ResticRepositorySpec is the specification for a ResticRepository.
properties:
backupStorageLocation:
description: BackupStorageLocation is the name of the BackupStorageLocation
that should contain this repository.
type: string
maintenanceFrequency:
description: MaintenanceFrequency is how often maintenance should be
run.
type: string
resticIdentifier:
description: ResticIdentifier is the full restic-compatible string for
identifying this repository.
type: string
volumeNamespace:
description: VolumeNamespace is the namespace this restic repository
contains pod volume backups for.
type: string
required:
- backupStorageLocation
- maintenanceFrequency
- resticIdentifier
- volumeNamespace
type: object
status:
description: ResticRepositoryStatus is the current status of a ResticRepository.
properties:
lastMaintenanceTime:
description: LastMaintenanceTime is the last time maintenance was run.
format: date-time
nullable: true
type: string
message:
description: Message is a message about the current status of the ResticRepository.
type: string
phase:
description: Phase is the current state of the ResticRepository.
enum:
- New
- Ready
- NotReady
type: string
type: object
type: object
version: v1
versions:
- name: v1
served: true
storage: true
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []

File diff suppressed because it is too large Load Diff

View File

@@ -1,401 +0,0 @@
---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.3.0
creationTimestamp: null
name: schedules.velero.io
spec:
group: velero.io
names:
kind: Schedule
listKind: ScheduleList
plural: schedules
singular: schedule
preserveUnknownFields: false
scope: Namespaced
validation:
openAPIV3Schema:
description: Schedule is a Velero resource that represents a pre-scheduled or
periodic Backup that should be run.
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
description: ScheduleSpec defines the specification for a Velero schedule
properties:
schedule:
description: Schedule is a Cron expression defining when to run the
Backup.
type: string
template:
description: Template is the definition of the Backup to be run on the
provided schedule
properties:
defaultVolumesToRestic:
description: DefaultVolumesToRestic specifies whether restic should
be used to take a backup of all pod volumes by default.
type: boolean
excludedNamespaces:
description: ExcludedNamespaces contains a list of namespaces that
are not included in the backup.
items:
type: string
nullable: true
type: array
excludedResources:
description: ExcludedResources is a slice of resource names that
are not included in the backup.
items:
type: string
nullable: true
type: array
hooks:
description: Hooks represent custom behaviors that should be executed
at different phases of the backup.
properties:
resources:
description: Resources are hooks that should be executed when
backing up individual instances of a resource.
items:
description: BackupResourceHookSpec defines one or more BackupResourceHooks
that should be executed based on the rules defined for namespaces,
resources, and label selector.
properties:
excludedNamespaces:
description: ExcludedNamespaces specifies the namespaces
to which this hook spec does not apply.
items:
type: string
nullable: true
type: array
excludedResources:
description: ExcludedResources specifies the resources
to which this hook spec does not apply.
items:
type: string
nullable: true
type: array
includedNamespaces:
description: IncludedNamespaces specifies the namespaces
to which this hook spec applies. If empty, it applies
to all namespaces.
items:
type: string
nullable: true
type: array
includedResources:
description: IncludedResources specifies the resources
to which this hook spec applies. If empty, it applies
to all resources.
items:
type: string
nullable: true
type: array
labelSelector:
description: LabelSelector, if specified, filters the
resources to which this hook spec applies.
nullable: true
properties:
matchExpressions:
description: matchExpressions is a list of label selector
requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector
that contains values, a key, and an operator that
relates the key and values.
properties:
key:
description: key is the label key that the selector
applies to.
type: string
operator:
description: operator represents a key's relationship
to a set of values. Valid operators are In,
NotIn, Exists and DoesNotExist.
type: string
values:
description: values is an array of string values.
If the operator is In or NotIn, the values
array must be non-empty. If the operator is
Exists or DoesNotExist, the values array must
be empty. This array is replaced during a
strategic merge patch.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
A single {key,value} in the matchLabels map is equivalent
to an element of matchExpressions, whose key field
is "key", the operator is "In", and the values array
contains only "value". The requirements are ANDed.
type: object
type: object
name:
description: Name is the name of this hook.
type: string
post:
description: PostHooks is a list of BackupResourceHooks
to execute after storing the item in the backup. These
are executed after all "additional items" from item
actions are processed.
items:
description: BackupResourceHook defines a hook for a
resource.
properties:
exec:
description: Exec defines an exec hook.
properties:
command:
description: Command is the command and arguments
to execute.
items:
type: string
minItems: 1
type: array
container:
description: Container is the container in the
pod where the command should be executed.
If not specified, the pod's first container
is used.
type: string
onError:
description: OnError specifies how Velero should
behave if it encounters an error executing
this hook.
enum:
- Continue
- Fail
type: string
timeout:
description: Timeout defines the maximum amount
of time Velero should wait for the hook to
complete before considering the execution
a failure.
type: string
required:
- command
type: object
required:
- exec
type: object
type: array
pre:
description: PreHooks is a list of BackupResourceHooks
to execute prior to storing the item in the backup.
These are executed before any "additional items" from
item actions are processed.
items:
description: BackupResourceHook defines a hook for a
resource.
properties:
exec:
description: Exec defines an exec hook.
properties:
command:
description: Command is the command and arguments
to execute.
items:
type: string
minItems: 1
type: array
container:
description: Container is the container in the
pod where the command should be executed.
If not specified, the pod's first container
is used.
type: string
onError:
description: OnError specifies how Velero should
behave if it encounters an error executing
this hook.
enum:
- Continue
- Fail
type: string
timeout:
description: Timeout defines the maximum amount
of time Velero should wait for the hook to
complete before considering the execution
a failure.
type: string
required:
- command
type: object
required:
- exec
type: object
type: array
required:
- name
type: object
nullable: true
type: array
type: object
includeClusterResources:
description: IncludeClusterResources specifies whether cluster-scoped
resources should be included for consideration in the backup.
nullable: true
type: boolean
includedNamespaces:
description: IncludedNamespaces is a slice of namespace names to
include objects from. If empty, all namespaces are included.
items:
type: string
nullable: true
type: array
includedResources:
description: IncludedResources is a slice of resource names to include
in the backup. If empty, all resources are included.
items:
type: string
nullable: true
type: array
labelSelector:
description: LabelSelector is a metav1.LabelSelector to filter with
when adding individual objects to the backup. If empty or nil,
all objects are included. Optional.
nullable: true
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements.
The requirements are ANDed.
items:
description: A label selector requirement is a selector that
contains values, a key, and an operator that relates the
key and values.
properties:
key:
description: key is the label key that the selector applies
to.
type: string
operator:
description: operator represents a key's relationship
to a set of values. Valid operators are In, NotIn, Exists
and DoesNotExist.
type: string
values:
description: values is an array of string values. If the
operator is In or NotIn, the values array must be non-empty.
If the operator is Exists or DoesNotExist, the values
array must be empty. This array is replaced during a
strategic merge patch.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs. A single
{key,value} in the matchLabels map is equivalent to an element
of matchExpressions, whose key field is "key", the operator
is "In", and the values array contains only "value". The requirements
are ANDed.
type: object
type: object
metadata:
properties:
labels:
additionalProperties:
type: string
type: object
type: object
orderedResources:
additionalProperties:
type: string
description: OrderedResources specifies the backup order of resources
of specific Kind. The map key is the Kind name and value is a
list of resource names separated by commas. Each resource name
has format "namespace/resourcename". For cluster resources, simply
use "resourcename".
nullable: true
type: object
snapshotVolumes:
description: SnapshotVolumes specifies whether to take cloud snapshots
of any PV's referenced in the set of objects included in the Backup.
nullable: true
type: boolean
storageLocation:
description: StorageLocation is a string containing the name of
a BackupStorageLocation where the backup should be stored.
type: string
ttl:
description: TTL is a time.Duration-parseable string describing
how long the Backup should be retained for.
type: string
volumeSnapshotLocations:
description: VolumeSnapshotLocations is a list containing names
of VolumeSnapshotLocations associated with this backup.
items:
type: string
type: array
type: object
useOwnerReferencesInBackup:
description: UseOwnerReferencesBackup specifies whether to use OwnerReferences
on backups created by this Schedule.
nullable: true
type: boolean
required:
- schedule
- template
type: object
status:
description: ScheduleStatus captures the current state of a Velero schedule
properties:
lastBackup:
description: LastBackup is the last time a Backup was run for this Schedule
schedule
format: date-time
nullable: true
type: string
phase:
description: Phase is the current phase of the Schedule
enum:
- New
- Enabled
- FailedValidation
type: string
validationErrors:
description: ValidationErrors is a slice of all validation errors (if
applicable)
items:
type: string
type: array
type: object
type: object
version: v1
versions:
- name: v1
served: true
storage: true
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []

View File

@@ -1,89 +0,0 @@
---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.3.0
creationTimestamp: null
name: serverstatusrequests.velero.io
spec:
group: velero.io
names:
kind: ServerStatusRequest
listKind: ServerStatusRequestList
plural: serverstatusrequests
shortNames:
- ssr
singular: serverstatusrequest
preserveUnknownFields: false
scope: Namespaced
subresources:
status: {}
validation:
openAPIV3Schema:
description: ServerStatusRequest is a request to access current status information
about the Velero server.
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
description: ServerStatusRequestSpec is the specification for a ServerStatusRequest.
type: object
status:
description: ServerStatusRequestStatus is the current status of a ServerStatusRequest.
properties:
phase:
description: Phase is the current lifecycle phase of the ServerStatusRequest.
enum:
- New
- Processed
type: string
plugins:
description: Plugins list information about the plugins running on the
Velero server
items:
description: PluginInfo contains attributes of a Velero plugin
properties:
kind:
type: string
name:
type: string
required:
- kind
- name
type: object
nullable: true
type: array
processedTimestamp:
description: ProcessedTimestamp is when the ServerStatusRequest was
processed by the ServerStatusRequestController.
format: date-time
nullable: true
type: string
serverVersion:
description: ServerVersion is the Velero server version.
type: string
type: object
type: object
version: v1
versions:
- name: v1
served: true
storage: true
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []

View File

@@ -1,74 +0,0 @@
---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.3.0
creationTimestamp: null
name: volumesnapshotlocations.velero.io
spec:
group: velero.io
names:
kind: VolumeSnapshotLocation
listKind: VolumeSnapshotLocationList
plural: volumesnapshotlocations
singular: volumesnapshotlocation
preserveUnknownFields: false
scope: Namespaced
validation:
openAPIV3Schema:
description: VolumeSnapshotLocation is a location where Velero stores volume
snapshots.
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
description: VolumeSnapshotLocationSpec defines the specification for a
Velero VolumeSnapshotLocation.
properties:
config:
additionalProperties:
type: string
description: Config is for provider-specific configuration fields.
type: object
provider:
description: Provider is the provider of the volume storage.
type: string
required:
- provider
type: object
status:
description: VolumeSnapshotLocationStatus describes the current status of
a Velero VolumeSnapshotLocation.
properties:
phase:
description: VolumeSnapshotLocationPhase is the lifecycle phase of a
Velero VolumeSnapshotLocation.
enum:
- Available
- Unavailable
type: string
type: object
type: object
version: v1
versions:
- name: v1
served: true
storage: true
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,189 @@
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.14.0
name: datadownloads.velero.io
spec:
group: velero.io
names:
kind: DataDownload
listKind: DataDownloadList
plural: datadownloads
singular: datadownload
scope: Namespaced
versions:
- additionalPrinterColumns:
- description: DataDownload status such as New/InProgress
jsonPath: .status.phase
name: Status
type: string
- description: Time duration since this DataDownload was started
jsonPath: .status.startTimestamp
name: Started
type: date
- description: Completed bytes
format: int64
jsonPath: .status.progress.bytesDone
name: Bytes Done
type: integer
- description: Total bytes
format: int64
jsonPath: .status.progress.totalBytes
name: Total Bytes
type: integer
- description: Name of the Backup Storage Location where the backup data is stored
jsonPath: .spec.backupStorageLocation
name: Storage Location
type: string
- description: Time duration since this DataDownload was created
jsonPath: .metadata.creationTimestamp
name: Age
type: date
- description: Name of the node where the DataDownload is processed
jsonPath: .status.node
name: Node
type: string
name: v2alpha1
schema:
openAPIV3Schema:
description: DataDownload acts as the protocol between data mover plugins
and data mover controller for the datamover restore operation
properties:
apiVersion:
description: |-
APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
type: string
kind:
description: |-
Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
type: string
metadata:
type: object
spec:
description: DataDownloadSpec is the specification for a DataDownload.
properties:
backupStorageLocation:
description: |-
BackupStorageLocation is the name of the backup storage location
where the backup repository is stored.
type: string
cancel:
description: |-
Cancel indicates request to cancel the ongoing DataDownload. It can be set
when the DataDownload is in InProgress phase
type: boolean
dataMoverConfig:
additionalProperties:
type: string
description: DataMoverConfig is for data-mover-specific configuration
fields.
type: object
datamover:
description: |-
DataMover specifies the data mover to be used by the backup.
If DataMover is "" or "velero", the built-in data mover will be used.
type: string
operationTimeout:
description: |-
OperationTimeout specifies the time used to wait internal operations,
before returning error as timeout.
type: string
snapshotID:
description: SnapshotID is the ID of the Velero backup snapshot to
be restored from.
type: string
sourceNamespace:
description: |-
SourceNamespace is the original namespace where the volume is backed up from.
It may be different from SourcePVC's namespace if namespace is remapped during restore.
type: string
targetVolume:
description: TargetVolume is the information of the target PVC and
PV.
properties:
namespace:
description: Namespace is the target namespace
type: string
pv:
description: PV is the name of the target PV that is created by
Velero restore
type: string
pvc:
description: PVC is the name of the target PVC that is created
by Velero restore
type: string
required:
- namespace
- pv
- pvc
type: object
required:
- backupStorageLocation
- operationTimeout
- snapshotID
- sourceNamespace
- targetVolume
type: object
status:
description: DataDownloadStatus is the current status of a DataDownload.
properties:
completionTimestamp:
description: |-
CompletionTimestamp records the time a restore was completed.
Completion time is recorded even on failed restores.
The server's time is used for CompletionTimestamps
format: date-time
nullable: true
type: string
message:
description: Message is a message about the DataDownload's status.
type: string
node:
description: Node is name of the node where the DataDownload is processed.
type: string
phase:
description: Phase is the current state of the DataDownload.
enum:
- New
- Accepted
- Prepared
- InProgress
- Canceling
- Canceled
- Completed
- Failed
type: string
progress:
description: |-
Progress holds the total number of bytes of the snapshot and the current
number of restored bytes. This can be used to display progress information
about the restore operation.
properties:
bytesDone:
format: int64
type: integer
totalBytes:
format: int64
type: integer
type: object
startTimestamp:
description: |-
StartTimestamp records the time a restore was started.
The server's time is used for StartTimestamps
format: date-time
nullable: true
type: string
type: object
type: object
served: true
storage: true
subresources: {}

View File

@@ -0,0 +1,214 @@
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.14.0
name: datauploads.velero.io
spec:
group: velero.io
names:
kind: DataUpload
listKind: DataUploadList
plural: datauploads
singular: dataupload
scope: Namespaced
versions:
- additionalPrinterColumns:
- description: DataUpload status such as New/InProgress
jsonPath: .status.phase
name: Status
type: string
- description: Time duration since this DataUpload was started
jsonPath: .status.startTimestamp
name: Started
type: date
- description: Completed bytes
format: int64
jsonPath: .status.progress.bytesDone
name: Bytes Done
type: integer
- description: Total bytes
format: int64
jsonPath: .status.progress.totalBytes
name: Total Bytes
type: integer
- description: Name of the Backup Storage Location where this backup should be
stored
jsonPath: .spec.backupStorageLocation
name: Storage Location
type: string
- description: Time duration since this DataUpload was created
jsonPath: .metadata.creationTimestamp
name: Age
type: date
- description: Name of the node where the DataUpload is processed
jsonPath: .status.node
name: Node
type: string
name: v2alpha1
schema:
openAPIV3Schema:
description: DataUpload acts as the protocol between data mover plugins and
data mover controller for the datamover backup operation
properties:
apiVersion:
description: |-
APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
type: string
kind:
description: |-
Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
type: string
metadata:
type: object
spec:
description: DataUploadSpec is the specification for a DataUpload.
properties:
backupStorageLocation:
description: |-
BackupStorageLocation is the name of the backup storage location
where the backup repository is stored.
type: string
cancel:
description: |-
Cancel indicates request to cancel the ongoing DataUpload. It can be set
when the DataUpload is in InProgress phase
type: boolean
csiSnapshot:
description: If SnapshotType is CSI, CSISnapshot provides the information
of the CSI snapshot.
nullable: true
properties:
snapshotClass:
description: SnapshotClass is the name of the snapshot class that
the volume snapshot is created with
type: string
storageClass:
description: StorageClass is the name of the storage class of
the PVC that the volume snapshot is created from
type: string
volumeSnapshot:
description: VolumeSnapshot is the name of the volume snapshot
to be backed up
type: string
required:
- storageClass
- volumeSnapshot
type: object
dataMoverConfig:
additionalProperties:
type: string
description: DataMoverConfig is for data-mover-specific configuration
fields.
nullable: true
type: object
datamover:
description: |-
DataMover specifies the data mover to be used by the backup.
If DataMover is "" or "velero", the built-in data mover will be used.
type: string
operationTimeout:
description: |-
OperationTimeout specifies the time used to wait internal operations,
before returning error as timeout.
type: string
snapshotType:
description: SnapshotType is the type of the snapshot to be backed
up.
type: string
sourceNamespace:
description: |-
SourceNamespace is the original namespace where the volume is backed up from.
It is the same namespace for SourcePVC and CSI namespaced objects.
type: string
sourcePVC:
description: SourcePVC is the name of the PVC which the snapshot is
taken for.
type: string
required:
- backupStorageLocation
- operationTimeout
- snapshotType
- sourceNamespace
- sourcePVC
type: object
status:
description: DataUploadStatus is the current status of a DataUpload.
properties:
completionTimestamp:
description: |-
CompletionTimestamp records the time a backup was completed.
Completion time is recorded even on failed backups.
Completion time is recorded before uploading the backup object.
The server's time is used for CompletionTimestamps
format: date-time
nullable: true
type: string
dataMoverResult:
additionalProperties:
type: string
description: DataMoverResult stores data-mover-specific information
as a result of the DataUpload.
nullable: true
type: object
message:
description: Message is a message about the DataUpload's status.
type: string
node:
description: Node is name of the node where the DataUpload is processed.
type: string
path:
description: Path is the full path of the snapshot volume being backed
up.
type: string
phase:
description: Phase is the current state of the DataUpload.
enum:
- New
- Accepted
- Prepared
- InProgress
- Canceling
- Canceled
- Completed
- Failed
type: string
progress:
description: |-
Progress holds the total number of bytes of the volume and the current
number of backed up bytes. This can be used to display progress information
about the backup operation.
properties:
bytesDone:
format: int64
type: integer
totalBytes:
format: int64
type: integer
type: object
snapshotID:
description: SnapshotID is the identifier for the snapshot in the
backup repository.
type: string
startTimestamp:
description: |-
StartTimestamp records the time a backup was started.
Separate from CreationTimestamp, since that value changes
on restores.
The server's time is used for StartTimestamps
format: date-time
nullable: true
type: string
type: object
type: object
served: true
storage: true
subresources: {}

File diff suppressed because one or more lines are too long

View File

@@ -1,4 +1,4 @@
// Package crds embeds the controller-tools generated CRD manifests
package crds
//go:generate go run ../../../../hack/crd-gen/v1beta1/main.go
//go:generate go run ../../../../hack/crd-gen/v1/main.go

View File

@@ -1,11 +1,67 @@
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
creationTimestamp: null
name: manager-role
name: velero-perms
rules:
- apiGroups:
- ""
resources:
- persistentvolumerclaims
verbs:
- get
- apiGroups:
- ""
resources:
- persistentvolumes
verbs:
- get
- apiGroups:
- ""
resources:
- pods
verbs:
- get
- apiGroups:
- velero.io
resources:
- backuprepositories
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- velero.io
resources:
- backuprepositories/status
verbs:
- get
- patch
- update
- apiGroups:
- velero.io
resources:
- backups
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- velero.io
resources:
- backups/status
verbs:
- get
- patch
- update
- apiGroups:
- velero.io
resources:
@@ -26,6 +82,66 @@ rules:
- get
- patch
- update
- apiGroups:
- velero.io
resources:
- datadownloads
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- velero.io
resources:
- datadownloads/status
verbs:
- get
- patch
- update
- apiGroups:
- velero.io
resources:
- datauploads
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- velero.io
resources:
- datauploads/status
verbs:
- get
- patch
- update
- apiGroups:
- velero.io
resources:
- deletebackuprequests
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- velero.io
resources:
- deletebackuprequests/status
verbs:
- get
- patch
- update
- apiGroups:
- velero.io
resources:
@@ -46,6 +162,86 @@ rules:
- get
- patch
- update
- apiGroups:
- velero.io
resources:
- podvolumebackups
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- velero.io
resources:
- podvolumebackups/status
verbs:
- get
- patch
- update
- apiGroups:
- velero.io
resources:
- podvolumerestores
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- velero.io
resources:
- podvolumerestores/status
verbs:
- get
- patch
- update
- apiGroups:
- velero.io
resources:
- restores
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- velero.io
resources:
- restores/status
verbs:
- get
- patch
- update
- apiGroups:
- velero.io
resources:
- schedules
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- velero.io
resources:
- schedules/status
verbs:
- get
- patch
- update
- apiGroups:
- velero.io
resources:
@@ -66,3 +262,15 @@ rules:
- get
- patch
- update
- apiGroups:
- velero.io
resources:
- volumesnapshotlocations
verbs:
- create
- delete
- get
- list
- patch
- update
- watch

View File

@@ -0,0 +1,40 @@
# Delete Backup and Restic Repo Resources when BSL is Deleted
## Abstract
Issue #2082 requested that with the command `velero backup-location delete <bsl name>` (implemented in Velero 1.6 with #3073), the following will be deleted:
- associated Velero backups (to be clear, these are custom Kubernetes resources called "backups" that are stored in the API server)
- associated Restic repositories (custom Kubernetes resources called "resticrepositories")
This design doc explains how the request will be implemented.
## Background
When a BSL resource is deleted from its Velero namespace, the associated custom Kubernetes resources, backups and Restic repositories, can no longer be used.
It makes sense to clean those resources up when a BSL is deleted.
## Goals
Update the `velero backup-location delete <bsl name>` command to delete associated backup and Restic repository resources in the same Velero namespace.
## Non Goals
[It was suggested](https://github.com/vmware-tanzu/velero/issues/2082#issuecomment-827951311) to fix bug #2697 alongside this issue.
However, I think that should be fixed separately because although it is similar (restore objects are not being deleted), it is also quite different.
One is adding a command feature update (this issue) and the other is a bug fix and each affect different parts of the code base.
## High-Level Design
Update the `velero backup-location delete <bsl name>` command to do the following:
- find in the same Velero namespace from which the BSL was deleted the associated backup resources and Restic repositories, called "backups.velero.io" and "resticrepositories.velero.io" respectively
- delete the resources found
The above logic will be added to [where BSLs are deleted](https://github.com/vmware-tanzu/velero/blob/main/pkg/cmd/cli/backuplocation/delete.go).
## Alternative Considered
I had considered deleting the backup files (the ones in json format and tarballs) in the BSL itself.
However, a standard use case is to back up a cluster and then restore into a new cluster.
Deleting the backup storage location in either location is not expected to remove all of the backups in the backup storage location and should not be done.

View File

@@ -505,9 +505,11 @@ spec:
- BackupResourceList
- RestoreLog
- RestoreResults
- CSIBackupVolumeSnapshots
- CSIBackupVolumeSnapshotContents
type: string
name:
description: Name is the name of the kubernetes resource with
description: Name is the name of the Kubernetes resource with
which the file is associated.
type: string
required:

View File

@@ -57,7 +57,7 @@ spec:
- emptyDir: {}
name: scratch
---
apiVersion: rbac.authorization.k8s.io/v1beta1
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
labels:

View File

@@ -5,22 +5,22 @@ metadata:
creationTimestamp: null
labels:
component: velero
name: restic
name: node-agent
namespace: velero
spec:
selector:
matchLabels:
name: restic
name: node-agent
template:
metadata:
creationTimestamp: null
labels:
component: velero
name: restic
name: node-agent
spec:
containers:
- args:
- restic
- node-agent
- server
command:
- /velero
@@ -35,20 +35,23 @@ spec:
fieldPath: metadata.namespace
- name: VELERO_SCRATCH_DIR
value: /scratch
- name: GOOGLE_APPLICATION_CREDENTIALS
value: /credentials/cloud
- name: AWS_SHARED_CREDENTIALS_FILE
value: /credentials/cloud
- name: AZURE_CREDENTIALS_FILE
value: /credentials/cloud
- name: GOOGLE_APPLICATION_CREDENTIALS
value: /credentials/cloud
image: velero/velero:latest
imagePullPolicy: Always
name: restic
name: node-agent
resources: {}
volumeMounts:
- mountPath: /host_pods
mountPropagation: HostToContainer
name: host-pods
- mountPath: /var/lib/kubelet/plugins
mountPropagation: HostToContainer
name: host-plugins
- mountPath: /scratch
name: scratch
- mountPath: /credentials
@@ -60,6 +63,9 @@ spec:
- hostPath:
path: /var/lib/kubelet/pods
name: host-pods
- hostPath:
path: /var/lib/kubelet/plugins
name: host-plugins
- emptyDir: {}
name: scratch
- name: cloud-credentials

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

View File

@@ -0,0 +1,344 @@
# Extend VolumePolicies to support more actions
## Abstract
Currently, the [VolumePolicies feature](https://github.com/vmware-tanzu/velero/blob/main/design/Implemented/handle-backup-of-volumes-by-resources-filters.md) which can be used to filter/handle volumes during backup only supports the skip action on matching conditions. Users need more actions to be supported.
## Background
The `VolumePolicies` feature was introduced in Velero 1.11 as a flexible way to handle volumes. The main agenda of
introducing the VolumePolicies feature was to improve the overall user experience when performing backup operations
for volume resources, the feature enables users to group volumes according the `conditions` (criteria) specified and
also lets you specify the `action` that velero needs to take for these grouped volumes during the backup operation.
The limitation being that currently `VolumePolicies` only supports `skip` as an action, We want to extend the `action`
functionality to support more usable options like `fs-backup` (File system backup) and `snapshot` (VolumeSnapshots).
## Goals
- Extending the VolumePolicies to support more actions like `fs-backup` (File system backup) and `snapshot` (VolumeSnapshots).
- Improve user experience when backing up Volumes via Velero
## Non-Goals
- No changes to existing approaches to opt-in/opt-out annotations for volumes
- No changes to existing `VolumePolicies` functionalities
- No additions or implementations to support more granular actions like `snapshot-csi` and `snapshot-datamover`. These actions can be implemented as a future enhancement
## Use-cases/Scenarios
**Use-case 1:**
- A user wants to use `snapshot` (volumesnapshots) backup option for all the csi supported volumes and `fs-backup` for the rest of the volumes.
- Currently, velero supports this use-case but the user experience is not that great.
- The user will have to individually annotate the volume mounting pod with the annotation "backup.velero.io/backup-volumes" for `fs-backup`
- This becomes cumbersome at scale.
- Using `VolumePolicies`, the user can just specify 2 simple `VolumePolicies` like for csi supported volumes as `snapshot` action and rest can be backed up`fs-backup` action:
```yaml
version: v1
volumePolicies:
- conditions:
storageClass:
- gp2
action:
type: snapshot
- conditions: {}
action:
type: fs-backup
```
**Use-case 2:**
- A user wants to use `fs-backup` for nfs volumes pertaining to a particular server
- In such a scenario the user can just specify a `VolumePolicy` like:
```yaml
version: v1
volumePolicies:
- conditions:
nfs:
server: 192.168.200.90
action:
type: fs-backup
```
## High-Level Design
- When the VolumePolicy action is set as `fs-backup` the backup workflow modifications would be:
- We call [backupItem() -> backupItemInternal()](https://github.com/vmware-tanzu/velero/blob/main/pkg/backup/item_backupper.go#L95) on all the items that are to be backed up
- Here when we encounter [Pod as an item ](https://github.com/vmware-tanzu/velero/blob/main/pkg/backup/item_backupper.go#L195)
- We will have to modify the backup workflow to account for the `fs-backup` VolumePolicy action
- When the VolumePolicy action is set as `snapshot` the backup workflow modifications would be:
- Once again, We call [backupItem() -> backupItemInternal()](https://github.com/vmware-tanzu/velero/blob/main/pkg/backup/item_backupper.go#L95) on all the items that are to be backed up
- Here when we encounter [Persistent Volume as an item](https://github.com/vmware-tanzu/velero/blob/d4128542590470b204a642ee43311921c11db880/pkg/backup/item_backupper.go#L253)
- And we call the [takePVSnapshot func](https://github.com/vmware-tanzu/velero/blob/d4128542590470b204a642ee43311921c11db880/pkg/backup/item_backupper.go#L508)
- We need to modify the takePVSnapshot function to account for the `snapshot` VolumePolicy action.
- In case of csi snapshots for PVC objects, these snapshot actions are taken by the velero-plugin-for-csi, we need to modify the [executeActions()](https://github.com/vmware-tanzu/velero/blob/512fe0dabdcb3bbf1ca68a9089056ae549663bcf/pkg/backup/item_backupper.go#L232) function to account for the `snapshot` VolumePolicy action.
**Note:** `Snapshot` action can either be a native snapshot or a csi snapshot, as is the case with the current flow where velero itself makes the decision based on the backup CR.
## Detailed Design
- Update VolumePolicy action type validation to account for `fs-backup` and `snapshot` as valid VolumePolicy actions.
- Modifications needed for `fs-backup` action:
- Now based on the specification of volume policy on backup request we will decide whether to go via legacy pod annotations approach or the newer volume policy based fs-backup action approach.
- If there is a presence of volume policy(fs-backup/snapshot) on the backup request that matches as an action for a volume we use the newer volume policy approach to get the list of the volumes for `fs-backup` action
- Else continue with the annotation based legacy approach workflow.
- Modifications needed for `snapshot` action:
- In the [takePVSnapshot function](https://github.com/vmware-tanzu/velero/blob/d4128542590470b204a642ee43311921c11db880/pkg/backup/item_backupper.go#L508) we will check the PV fits the volume policy criteria and see if the associated action is `snapshot`
- If it is not snapshot then we skip the further workflow and avoid taking the snapshot of the PV
- Similarly, For csi snapshot of PVC object, we need to do similar changes in [executeAction() function](https://github.com/vmware-tanzu/velero/blob/512fe0dabdcb3bbf1ca68a9089056ae549663bcf/pkg/backup/item_backupper.go#L348). we will check the PVC fits the volume policy criteria and see if the associated action is `snapshot` via csi plugin
- If it is not snapshot then we skip the csi BIA execute action and avoid taking the snapshot of the PVC by not invoking the csi plugin action for the PVC
**Note:**
- When we are using the `VolumePolicy` approach for backing up the volumes then the volume policy criteria and action need to be specific and explicit, there is no default behavior, if a volume matches `fs-backup` action then `fs-backup` method will be used for that volume and similarly if the volume matches the criteria for `snapshot` action then the snapshot workflow will be used for the volume backup.
- Another thing to note is the workflow proposed in this design uses the legacy `opt-in/opt-out` approach as a fallback option. For instance, the user specifies a VolumePolicy but for a particular volume included in the backup there are no actions(fs-backup/snapshot) matching in the volume policy for that volume, in such a scenario the legacy approach will be used for backing up the particular volume.
- The relation between the `VolumePolicy` and the backup's legacy parameter `SnapshotVolumes`:
- The `VolumePolicy`'s `snapshot` action matching for volume has higher priority. When there is a `snapshot` action matching for the selected volume, it will be backed by the snapshot way, no matter of the `backup.Spec.SnapshotVolumes` setting.
- If there is no `snapshot` action matching the selected volume in the `VolumePolicy`, then the volume will be backed up by `snapshot` way, if the `backup.Spec.SnapshotVolumes` is not set to false.
- The relation between the `VolumePolicy` and the backup's legacy filesystem `opt-in/opt-out` approach:
- The `VolumePolicy`'s `fs-backup` action matching for volume has higher priority. When there is a `fs-backup` action matching for the selected volume, it will be backed by the fs-backup way, no matter of the `backup.Spec.DefaultVolumesToFsBackup` setting and the pod's `opt-in/opt-out` annotation setting.
- If there is no `fs-backup` action matching the selected volume in the `VolumePolicy`, then the volume will be backed up by the legacy `opt-in/opt-out` way.
## Implementation
- The implementation should be included in velero 1.14
- We will introduce a `VolumeHelper` interface. It will consist of two methods:
```go
type VolumeHelper interface {
ShouldPerformSnapshot(obj runtime.Unstructured, groupResource schema.GroupResource) (bool, error)
ShouldPerformFSBackup(volume corev1api.Volume, pod corev1api.Pod) (bool, error)
}
```
- The `VolumeHelperImpl` struct will implement the `VolumeHelper` interface and will consist of the functions that we will use through the backup workflow to accommodate volume policies for PVs and PVCs.
```go
type volumeHelperImpl struct {
volumePolicy *resourcepolicies.Policies
snapshotVolumes *bool
logger logrus.FieldLogger
client crclient.Client
defaultVolumesToFSBackup bool
backupExcludePVC bool
}
```
- We will create an instance of the structure `volumeHelperImpl` in `item_backupper.go`
```go
itemBackupper := &itemBackupper{
...
volumeHelperImpl: volumehelper.NewVolumeHelperImpl(
resourcePolicy,
backupRequest.Spec.SnapshotVolumes,
log,
kb.kbClient,
boolptr.IsSetToTrue(backupRequest.Spec.DefaultVolumesToFsBackup),
!backupRequest.ResourceIncludesExcludes.ShouldInclude(kuberesource.PersistentVolumeClaims.String()),
),
}
```
#### FS-Backup
- Regarding `fs-backup` action to decide whether to use legacy annotation based approach or volume policy based approach:
- We will use the `vh.ShouldPerformFSBackup()` function from the `volumehelper` package
- Functions involved in processing `fs-backup` volume policy action will somewhat look like:
```go
func (v volumeHelperImpl) ShouldPerformFSBackup(volume corev1api.Volume, pod corev1api.Pod) (bool, error) {
if !v.shouldIncludeVolumeInBackup(volume) {
v.logger.Debugf("skip fs-backup action for pod %s's volume %s, due to not pass volume check.", pod.Namespace+"/"+pod.Name, volume.Name)
return false, nil
}
if v.volumePolicy != nil {
pvc, err := kubeutil.GetPVCForPodVolume(&volume, &pod, v.client)
if err != nil {
v.logger.WithError(err).Errorf("fail to get PVC for pod %s", pod.Namespace+"/"+pod.Name)
return false, err
}
pv, err := kubeutil.GetPVForPVC(pvc, v.client)
if err != nil {
v.logger.WithError(err).Errorf("fail to get PV for PVC %s", pvc.Namespace+"/"+pvc.Name)
return false, err
}
action, err := v.volumePolicy.GetMatchAction(pv)
if err != nil {
v.logger.WithError(err).Errorf("fail to get VolumePolicy match action for PV %s", pv.Name)
return false, err
}
if action != nil {
if action.Type == resourcepolicies.FSBackup {
v.logger.Infof("Perform fs-backup action for volume %s of pod %s due to volume policy match",
volume.Name, pod.Namespace+"/"+pod.Name)
return true, nil
} else {
v.logger.Infof("Skip fs-backup action for volume %s for pod %s because the action type is %s",
volume.Name, pod.Namespace+"/"+pod.Name, action.Type)
return false, nil
}
}
}
if v.shouldPerformFSBackupLegacy(volume, pod) {
v.logger.Infof("Perform fs-backup action for volume %s of pod %s due to opt-in/out way",
volume.Name, pod.Namespace+"/"+pod.Name)
return true, nil
} else {
v.logger.Infof("Skip fs-backup action for volume %s of pod %s due to opt-in/out way",
volume.Name, pod.Namespace+"/"+pod.Name)
return false, nil
}
}
```
- The main function from the above will be called when we encounter Pods during the backup workflow:
```go
for _, volume := range pod.Spec.Volumes {
shouldDoFSBackup, err := ib.volumeHelperImpl.ShouldPerformFSBackup(volume, *pod)
if err != nil {
backupErrs = append(backupErrs, errors.WithStack(err))
}
...
}
```
#### Snapshot (PV)
- Making sure that `snapshot` action is skipped for PVs that do not fit the volume policy criteria, for this we will use the `vh.ShouldPerformSnapshot` from the `VolumeHelperImpl(vh)` receiver.
```go
func (v *volumeHelperImpl) ShouldPerformSnapshot(obj runtime.Unstructured, groupResource schema.GroupResource) (bool, error) {
// check if volume policy exists and also check if the object(pv/pvc) fits a volume policy criteria and see if the associated action is snapshot
// if it is not snapshot then skip the code path for snapshotting the PV/PVC
pvc := new(corev1api.PersistentVolumeClaim)
pv := new(corev1api.PersistentVolume)
var err error
if groupResource == kuberesource.PersistentVolumeClaims {
if err = runtime.DefaultUnstructuredConverter.FromUnstructured(obj.UnstructuredContent(), &pvc); err != nil {
return false, err
}
pv, err = kubeutil.GetPVForPVC(pvc, v.client)
if err != nil {
return false, err
}
}
if groupResource == kuberesource.PersistentVolumes {
if err = runtime.DefaultUnstructuredConverter.FromUnstructured(obj.UnstructuredContent(), &pv); err != nil {
return false, err
}
}
if v.volumePolicy != nil {
action, err := v.volumePolicy.GetMatchAction(pv)
if err != nil {
return false, err
}
// If there is a match action, and the action type is snapshot, return true,
// or the action type is not snapshot, then return false.
// If there is no match action, go on to the next check.
if action != nil {
if action.Type == resourcepolicies.Snapshot {
v.logger.Infof(fmt.Sprintf("performing snapshot action for pv %s", pv.Name))
return true, nil
} else {
v.logger.Infof("Skip snapshot action for pv %s as the action type is %s", pv.Name, action.Type)
return false, nil
}
}
}
// If this PV is claimed, see if we've already taken a (pod volume backup)
// snapshot of the contents of this PV. If so, don't take a snapshot.
if pv.Spec.ClaimRef != nil {
pods, err := podvolumeutil.GetPodsUsingPVC(
pv.Spec.ClaimRef.Namespace,
pv.Spec.ClaimRef.Name,
v.client,
)
if err != nil {
v.logger.WithError(err).Errorf("fail to get pod for PV %s", pv.Name)
return false, err
}
for _, pod := range pods {
for _, vol := range pod.Spec.Volumes {
if vol.PersistentVolumeClaim != nil &&
vol.PersistentVolumeClaim.ClaimName == pv.Spec.ClaimRef.Name &&
v.shouldPerformFSBackupLegacy(vol, pod) {
v.logger.Infof("Skipping snapshot of pv %s because it is backed up with PodVolumeBackup.", pv.Name)
return false, nil
}
}
}
}
if !boolptr.IsSetToFalse(v.snapshotVolumes) {
// If the backup.Spec.SnapshotVolumes is not set, or set to true, then should take the snapshot.
v.logger.Infof("performing snapshot action for pv %s as the snapshotVolumes is not set to false")
return true, nil
}
v.logger.Infof(fmt.Sprintf("skipping snapshot action for pv %s possibly due to no volume policy setting or snapshotVolumes is false", pv.Name))
return false, nil
}
```
- The function `ShouldPerformSnapshot` will be used as follows in `takePVSnapshot` function of the backup workflow:
```go
snapshotVolume, err := ib.volumeHelperImpl.ShouldPerformSnapshot(obj, kuberesource.PersistentVolumes)
if err != nil {
return err
}
if !snapshotVolume {
log.Info(fmt.Sprintf("skipping volume snapshot for PV %s as it does not fit the volume policy criteria specified by the user for snapshot action", pv.Name))
ib.trackSkippedPV(obj, kuberesource.PersistentVolumes, volumeSnapshotApproach, "does not satisfy the criteria for volume policy based snapshot action", log)
return nil
}
```
#### Snapshot (PVC)
- Making sure that `snapshot` action is skipped for PVCs that do not fit the volume policy criteria, for this we will again use the `vh.ShouldPerformSnapshot` from the `VolumeHelperImpl(vh)` receiver.
- We will pass the `VolumeHelperImpl(vh)` instance in `executeActions` method so that it is available to use.
```go
```
- The above function will be used as follows in the `executeActions` function of backup workflow.
- Considering the vSphere plugin doesn't support the VolumePolicy yet, don't use the VolumePolicy for vSphere plugin by now.
```go
if groupResource == kuberesource.PersistentVolumeClaims {
if actionName == csiBIAPluginName {
snapshotVolume, err := ib.volumeHelperImpl.ShouldPerformSnapshot(obj, kuberesource.PersistentVolumeClaims)
if err != nil {
return nil, itemFiles, errors.WithStack(err)
}
if !snapshotVolume {
log.Info(fmt.Sprintf("skipping csi volume snapshot for PVC %s as it does not fit the volume policy criteria specified by the user for snapshot action", namespace+"/"+name))
ib.trackSkippedPV(obj, kuberesource.PersistentVolumeClaims, volumeSnapshotApproach, "does not satisfy the criteria for volume policy based snapshot action", log)
continue
}
}
}
```
## Future Implementation
It makes sense to add more specific actions in the future, once we deprecate the legacy opt-in/opt-out approach to keep things simple. Another point of note is, csi related action can be
easier to implement once we decide to merge the csi plugin into main velero code flow.
In the future, we envision the following actions that can be implemented:
- `snapshot-native`: only use volume snapshotter (native cloud provider snapshots), do nothing if not present/not compatible
- `snapshot-csi`: only use csi-plugin, don't use volume snapshotter(native cloud provider snapshots), don't use datamover even if snapshotMoveData is true
- `snapshot-datamover`: only use csi with datamover, don't use volume snapshotter (native cloud provider snapshots), use datamover even if snapshotMoveData is false
**Note:** The above actions are just suggestions for future scope, we may not use/implement them as is. We could definitely merge these suggested actions as `Snapshot` actions and use volume policy parameters and criteria to segregate them instead of making the user explicitly supply the action names to such granular levels.
## Related to Design
[Handle backup of volumes by resources filters](https://github.com/vmware-tanzu/velero/blob/main/design/Implemented/handle-backup-of-volumes-by-resources-filters.md)
## Alternatives Considered
Same as the earlier design as this is an extension of the original VolumePolicies design

View File

@@ -2,17 +2,17 @@
This document proposes a solution that allows user to specify a backup order for resources of specific resource type.
## Background
During backup process, user may need to back up resources of specific type in some specific order to ensure the resources were backup properly because these resources are related and ordering might be required to preserve the consistency for the apps to recover itself <EFBFBD>from the backup image
During backup process, user may need to back up resources of specific type in some specific order to ensure the resources were backup properly because these resources are related and ordering might be required to preserve the consistency for the apps to recover itself from the backup image
(Ex: primary-secondary database pods in a cluster).
## Goals
- Enable user to specify an order of back up resources belong to specific resource type
- Enable user to specify an order of backup resources belong to specific resource type
## Alternatives Considered
- Use a plugin to backup an resources and all the sub resources. For example use a plugin for StatefulSet and backup pods belong to the StatefulSet in specific order. This plugin solution is not generic and requires plugin for each resource type.
## High-Level Design
User will specify a map of resource type to list resource names (separate by semicolons). Each name will be in the format "namespaceName/resourceName" to enable ordering accross namespaces. Based on this map, the resources of each resource type will be sorted by the order specified in the list of resources. If a resource instance belong to that specific type but its name is not in the order list, then it will be put behind other resources that are in the list.
User will specify a map of resource type to list resource names (separate by semicolons). Each name will be in the format "namespaceName/resourceName" to enable ordering across namespaces. Based on this map, the resources of each resource type will be sorted by the order specified in the list of resources. If a resource instance belong to that specific type but its name is not in the order list, then it will be put behind other resources that are in the list.
### Changes to BackupSpec
Add new field to BackupSpec
@@ -36,5 +36,5 @@ Example:
>velero backup create mybackup --ordered-resources "pod=ns1/pod1,ns1/pod2;persistentvolumeclaim=n2/slavepod,ns2/primarypod"
## Open Issues
- In the CLI, the design proposes to use commas to separate items of a resource type and semicolon to separate key-value pairs. This follows the convention of using commas to separate items in a list (For example: --include-namespaces ns1,ns2). However, the syntax for map in labels and annotations use commas to seperate key-value pairs. So it introduces some inconsistency.
- In the CLI, the design proposes to use commas to separate items of a resource type and semicolon to separate key-value pairs. This follows the convention of using commas to separate items in a list (For example: --include-namespaces ns1,ns2). However, the syntax for map in labels and annotations use commas to separate key-value pairs. So it introduces some inconsistency.
- For pods that managed by Deployment or DaemonSet, this design may not work because the pods' name is randomly generated and if pods are restarted, they would have different names so the Backup operation may not consider the restarted pods in the sorting algorithm. This problem will be addressed when we enhance the design to use regular expression to specify the OrderResources instead of exact match.

View File

@@ -0,0 +1,103 @@
# Design for BackupItemAction v2 API
## Abstract
This design includes the changes to the BackupItemAction (BIA) api design as required by the [Item Action Progress Monitoring](general-progress-monitoring.md) feature.
The BIA v2 interface will have two new methods, and the Execute() return signature will be modified.
If there are any additional BIA API changes that are needed in the same Velero release cycle as this change, those can be added here as well.
## Background
This API change is needed to facilitate long-running plugin actions that may not be complete when the Execute() method returns.
It is an optional feature, so plugins which don't need this feature can simply return an empty operation ID and the new methods can be no-ops.
This will allow long-running plugin actions to continue in the background while Velero moves on to the next plugin, the next item, etc.
## Goals
- Allow for BIA Execute() to optionally initiate a long-running operation and report on operation status.
## Non Goals
- Allowing velero control over when the long-running operation begins.
## High-Level Design
As per the [Plugin Versioning](plugin-versioning.md) design, a new BIAv2 plugin `.proto` file will be created to define the GRPC interface.
v2 go files will also be created in `plugin/clientmgmt/backupitemaction` and `plugin/framework/backupitemaction`, and a new PluginKind will be created.
The velero Backup process will be modified to reference v2 plugins instead of v1 plugins.
An adapter will be created so that any existing BIA v1 plugin can be executed as a v2 plugin when executing a backup.
## Detailed Design
### proto changes (compiled into golang by protoc)
The v2 BackupItemAction.proto will be like the current v1 version with the following changes:
ExecuteResponse gets a new field:
```
message ExecuteResponse {
bytes item = 1;
repeated generated.ResourceIdentifier additionalItems = 2;
string operationID = 3;
repeated generated.ResourceIdentifier itemsToUpdate = 4;
}
```
The BackupItemAction service gets two new rpc methods:
```
service BackupItemAction {
rpc AppliesTo(BackupItemActionAppliesToRequest) returns (BackupItemActionAppliesToResponse);
rpc Execute(ExecuteRequest) returns (ExecuteResponse);
rpc Progress(BackupItemActionProgressRequest) returns (BackupItemActionProgressResponse);
rpc Cancel(BackupItemActionCancelRequest) returns (google.protobuf.Empty);
}
```
To support these new rpc methods, we define new request/response message types:
```
message BackupItemActionProgressRequest {
string plugin = 1;
string operationID = 2;
bytes backup = 3;
}
message BackupItemActionProgressResponse {
generated.OperationProgress progress = 1;
}
message BackupItemActionCancelRequest {
string plugin = 1;
string operationID = 2;
bytes backup = 3;
}
```
One new shared message type will be added, as this will also be needed for v2 RestoreItemAction and VolmeSnapshotter:
```
message OperationProgress {
bool completed = 1;
string err = 2;
int64 nCompleted = 3;
int64 nTotal = 4;
string operationUnits = 5;
string description = 6;
google.protobuf.Timestamp started = 7;
google.protobuf.Timestamp updated = 8;
}
```
In addition to the two new rpc methods added to the BackupItemAction interface, there is also a new `Name()` method. This one is only actually used internally by Velero to get the name that the plugin was registered with, but it still must be defined in a plugin which implements BackupItemActionV2 in order to implement the interface. It doesn't really matter what it returns, though, as this particular method is not delegated to the plugin via RPC calls. The new (and modified) interface methods for `BackupItemAction` are as follows:
```
type BackupItemAction interface {
...
Name() string
...
Execute(item runtime.Unstructured, backup *api.Backup) (runtime.Unstructured, []velero.ResourceIdentifier, string, []velero.ResourceIdentifier, error)
Progress(operationID string, backup *api.Backup) (velero.OperationProgress, error)
Cancel(operationID string, backup *api.Backup) error
...
}
```
A new PluginKind, `BackupItemActionV2`, will be created, and the backup process will be modified to use this plugin kind.
See [Plugin Versioning](plugin-versioning.md) for more details on implementation plans, including v1 adapters, etc.
## Compatibility
The included v1 adapter will allow any existing BackupItemAction plugin to work as expected, with an empty operation ID returned from Execute() and no-op Progress() and Cancel() methods.
## Implementation
This will be implemented during the Velero 1.11 development cycle.

View File

@@ -0,0 +1,402 @@
# Proposal to add resource filters for backup can distinguish whether resource is cluster-scoped or namespace-scoped.
- [Proposal to add resource filters for backup can distinguish whether resource is cluster-scoped or namespace-scoped.](#proposal-to-add-resource-filters-for-backup-can-distinguish-whether-resource-is-cluster-scoped-or-namespace-scoped)
- [Abstract](#abstract)
- [Background](#background)
- [Goals](#goals)
- [Non Goals](#non-goals)
- [High-Level Design](#high-level-design)
- [Parameters Rules](#parameters-rules)
- [Using scenarios:](#using-scenarios)
- [no namespace-scoped resources + some cluster-scoped resources](#no-namespace-scoped-resources--some-cluster-scoped-resources)
- [no namespace-scoped resources + all cluster-scoped resources](#no-namespace-scoped-resources--all-cluster-scoped-resources)
- [some namespace-scoped resources + no cluster-scoped resources](#some-namespace-scoped-resources--no-cluster-scoped-resources)
- [scenario 1](#scenario-1)
- [scenario 2](#scenario-2)
- [scenario 3](#scenario-3)
- [scenario 4](#scenario-4)
- [some namespace-scoped resources + only related cluster-scoped resources](#some-namespace-scoped-resources--only-related-cluster-scoped-resources)
- [scenario 1](#scenario-1-1)
- [scenario 2](#scenario-2-1)
- [scenario 3](#scenario-3-1)
- [some namespace-scoped resources + some additional cluster-scoped resources](#some-namespace-scoped-resources--some-additional-cluster-scoped-resources)
- [scenario 1](#scenario-1-2)
- [scenario 2](#scenario-2-2)
- [scenario 3](#scenario-3-2)
- [scenario 4](#scenario-4-1)
- [some namespace-scoped resources + all cluster-scoped resources](#some-namespace-scoped-resources--all-cluster-scoped-resources)
- [scenario 1](#scenario-1-3)
- [scenario 2](#scenario-2-3)
- [scenario 3](#scenario-3-3)
- [all namespace-scoped resources + no cluster-scoped resources](#all-namespace-scoped-resources--no-cluster-scoped-resources)
- [all namespace-scoped resources + some additional cluster-scoped resources](#all-namespace-scoped-resources--some-additional-cluster-scoped-resources)
- [all namespace-scoped resources + all cluster-scoped resources](#all-namespace-scoped-resources--all-cluster-scoped-resources)
- [describe command change](#describe-command-change)
- [Detailed Design](#detailed-design)
- [Alternatives Considered](#alternatives-considered)
- [Security Considerations](#security-considerations)
- [Compatibility](#compatibility)
- [Implementation](#implementation)
- [Open Issues](#open-issues)
## Abstract
The current filter (IncludedResources/ExcludedResources + IncludeClusterResources flag) is not enough for some special cases, e.g. all namespace-scoped resources + some kind of cluster-scoped resource and all namespace-scoped resources + cluster-scoped resource excludes.
Propose to add a new group of resource filtering parameters, which can distinguish cluster-scoped and namespace-scoped resources.
## Background
There are two sets of resource filters for Velero: `IncludedNamespaces/ExcludedNamespaces` and `IncludedResources/ExcludedResources`.
`IncludedResources` means only including the resource types specified in the parameter. Both cluster-scoped and namespace-scoped resources are handled in this parameter by now.
The k8s resources are separated into cluster-scoped and namespace-scoped.
As a result, it's hard to include all resources in one group and only including specified resource in the other group.
## Goals
- Make Velero can support more complicated namespace-scoped and cluster-scoped resources filtering scenarios in backup.
## Non Goals
- Enrich the resource filtering rules, for example, advanced PV filtering and filtering by resource names.
## High-Level Design
Four new parameters are added into command `velero backup create`: `--include-cluster-scoped-resources`, `--exclude-cluster-scoped-resources`, `--include-namespace-scoped-resources` and `--exclude-namespace-scoped-resources`.
`--include-cluster-scoped-resources` and `--exclude-cluster-scoped-resources` are used to filter cluster-scoped resources included or excluded in backup per resource type.
`--include-namespace-scoped-resources` and `--exclude-namespace-scoped-resources` are used to filter namespace-scoped resources included or excluded in backup per resource type.
Restore and other code pieces also use resource filtering will be handled in future releases.
### Parameters Rules
* `--include-cluster-scoped-resources`, `--include-namespace-scoped-resources`, `--exclude-cluster-scoped-resources` and `--exclude-namespace-scoped-resources` valid value include `*` and comma separated string. Each element of the CSV string should a k8s resource name. The format should be `resource.group`, such as `storageclasses.storage.k8s.io.`.
* `--include-cluster-scoped-resources`, `--include-namespace-scoped-resources`, `--exclude-cluster-scoped-resources` and `--exclude-namespace-scoped-resources` parameters are mutual exclusive with `--include-cluster-resources`, `--include-resources` and `--exclude-resources` parameters. If both sets of parameters are provisioned, validation failure should be returned.
* `--include-cluster-scoped-resources` and `--exclude-cluster-scoped-resources` should only contain cluster-scoped resource type names. If namespace-scoped resource type names are included, they are ignored.
* If there are conflicts between `--include-cluster-scoped-resources` and `--exclude-cluster-scoped-resources` specified resources type lists, `--exclude-cluster-scoped-resources` parameter has higher priority.
* `--include-namespace-scoped-resources` and `--exclude-namespace-scoped-resources` should only contain namespace-scoped resource type names. If cluster-scoped resource type names are included, they are ignored.
* If there are conflicts between `--include-namespace-scoped-resources` and `--exclude-namespace-scoped-resources` specified resources type lists, `--exclude-namespace-scoped-resources` parameter has higher priority.
* If `--include-namespace-scoped-resources` is not present, it means all namespace-scoped resources are included per resource type.
* If both `--include-cluster-scoped-resources` and `--exclude-cluster-scoped-resources` are not present, it means no additional cluster-scoped resource is included per resource type, just as the existing `--include-cluster-resources` parameter not setting value. Cluster-scoped resources are related to the namespace-scoped resources, which means those are returned in the namespace-scoped resources' BackupItemAction's result AdditionalItems array, are still included in backup by default. Taking backing up PVC scenario as an example, PVC is namespace-scoped, PV is cluster-scoped. PVC's BIA will include PVC related PV into backup too.
### Using scenarios:
Please notice, if the scenario give the example of using old filtering parameters (`--include-cluster-resources`, `--include-resources` and `--exclude-resources`), that means the old parameters also work for this case. If old parameters example is not given, that means they don't work for this scenario, only new parameters (`--include-cluster-scoped-resources`, `--include-namespace-scoped-resources`, `--exclude-cluster-scoped-resources` and `--exclude-namespace-scoped-resources`) work.
#### no namespace-scoped resources + some cluster-scoped resources
The following command means backup no namespace-scoped resources and some cluster-scoped resources.
``` bash
velero backup create <backup-name>
--exclude-namespace-scoped-resources=*
--include-cluster-scoped-resources=storageclass
```
#### no namespace-scoped resources + all cluster-scoped resources
The following command means backup no namespace-scoped resources and all cluster-scoped resources.
``` bash
velero backup create <backup-name>
--exclude-namespace-scoped-resources=*
--include-cluster-scoped-resources=*
```
#### some namespace-scoped resources + no cluster-scoped resources
##### scenario 1
The following commands mean backup all resources in namespaces default and kube-system, and no cluster-scoped resources.
Example of new parameters:
``` bash
velero backup create <backup-name>
--include-namespaces=default,kube-system
--exclude-cluster-scoped-resources=*
```
Example of old parameters:
``` bash
velero backup create <backup-name>
--include-namespaces=default,kube-system
--include-cluster-resources=false
```
##### scenario 2
The following commands mean backup PVC, Deployment, Service, Endpoint, Pod and ReplicaSet resources in all namespaces, and no cluster-scoped resources. Although PVC's related PV should be included, due to no cluster-scoped resources are included, so they are ruled out too.
Example of new parameters:
``` bash
velero backup create <backup-name>
--include-namespace-scoped-resources=persistentvolumeclaim,deployment,service,endpoint,pod,replicaset
--exclude-cluster-scope-resources=*
```
Example of old parameters:
``` bash
velero backup create <backup-name>
--include-resources=persistentvolumeclaim,deployment,service,endpoint,pod,replicaset
--include-cluster-resources=false
```
##### scenario 3
The following commands mean backup PVC, Deployment, Service, Endpoint, Pod and ReplicaSet resources in namespace default and kube-system, and no cluster-scoped resources. Although PVC's related PV should be included, due to no cluster-scoped resources are included, so they are ruled out too.
Example of new parameters:
``` bash
velero backup create <backup-name>
--include-namespaces=default,kube-system
--include-namespace-scoped-resources=persistentvolumeclaim,deployment,service,endpoint,pod,replicaset
--exclude-cluster-scope-resources=*
```
Example of old parameters:
``` bash
velero backup create <backup-name>
--include-namespaces=default,kube-system
--include-resources=persistentvolumeclaim,deployment,service,endpoint,pod,replicaset
--include-cluster-resources=false
```
##### scenario 4
The following commands mean backup all resources except Ingress type resources in all namespaces, and no cluster-scoped resources.
Example of new parameters:
``` bash
velero backup create <backup-name>
--exclude-namespace-scoped-resources=ingress
--exclude-cluster-scoped-resources=*
```
Example of old parameters:
``` bash
velero backup create <backup-name>
--exclude-resources=ingress
--include-cluster-resources=false
```
#### some namespace-scoped resources + only related cluster-scoped resources
##### scenario 1
This means backup all resources in namespaces default and kube-system, and related cluster-scoped resources.
``` bash
velero backup create <backup-name>
--include-namespaces=default,kube-system
```
##### scenario 2
This means backup pods and configmaps in namespaces default and kube-system, and related cluster-scoped resources.
``` bash
velero backup create <backup-name>
--include-namespaces=default,kube-system
--include-namespace-scoped-resources=pods,configmaps
```
##### scenario 3
This means backup all resources except Ingress type resources in all namespaces, and related cluster-scoped resources.
Example of new parameters:
``` bash
velero backup create <backup-name>
--exclude-namespace-scoped-resources=ingress
```
Example of old parameters:
``` bash
velero backup create <backup-name>
--exclude-resources=ingress
```
#### some namespace-scoped resources + some additional cluster-scoped resources
##### scenario 1
This means backup all resources in namespace in default, kube-system, and related cluster-scoped resources, plus all StorageClass resources.
``` bash
velero backup create <backup-name>
--include-namespaces=default,kube-system
--include-cluster-scoped-resources=storageclass
```
##### scenario 2
This means backup PVC, Deployment, Service, Endpoint, Pod and ReplicaSet resources in all namespaces, and related cluster-scoped resources, plus all StorageClass resources, and PVC related PV.
``` bash
velero backup create <backup-name>
--include-namespace-scoped-resources=persistentvolumeclaim,deployment,service,endpoint,pod,replicaset
--include-cluster-scoped-resources=storageclass
```
##### scenario 3
This means backup PVC, Deployment, Service, Endpoint, Pod and ReplicaSet resources in default and kube-system namespaces, and related cluster-scoped resources, plus all StorageClass resources, and PVC related PV.
``` bash
velero backup create <backup-name>
--include-namespace-scoped-resources=persistentvolumeclaim,deployment,service,endpoint,pod,replicaset
--include-namespaces=default,kube-system
--include-cluster-scoped-resources=storageclass
```
##### scenario 4
This means backup PVC, Deployment, Service, Endpoint, Pod and ReplicaSet resources in default and kube-system namespaces, and related cluster-scoped resources, plus all cluster-scoped resources except StorageClass type resources.
``` bash
velero backup create <backup-name>
--include-namespace-scoped-resources=persistentvolumeclaim,deployment,service,endpoint,pod,replicaset
--include-namespaces=default,kube-system
--exclude-cluster-scoped-resources=storageclass
```
#### some namespace-scoped resources + all cluster-scoped resources
##### scenario 1
The following commands mean backup all resources in namespace in default, kube-system, and all cluster-scoped resources.
Example of new parameters:
``` bash
velero backup create <backup-name>
--include-namespaces=default,kube-system
--include-cluster-scoped-resources=*
```
Example of old parameters:
``` bash
velero backup create <backup-name>
--include-namespaces=default,kube-system
--include-cluster-resources=true
```
##### scenario 2
This means backup Deployment, Service, Endpoint, Pod and ReplicaSet resources in all namespaces, and all cluster-scoped resources.
``` bash
velero backup create <backup-name>
--include-namespace-scoped-resources=deployment,service,endpoint,pod,replicaset
--include-cluster-scoped-resources=*
```
##### scenario 3
This means backup Deployment, Service, Endpoint, Pod and ReplicaSet resources in default and kube-system namespaces, and all cluster-scoped resources.
``` bash
velero backup create <backup-name>
--include-namespaces=default,kube-system
--include-namespace-scoped-resources=deployment,service,endpoint,pod,replicaset
--include-cluster-scoped-resources=*
```
#### all namespace-scoped resources + no cluster-scoped resources
The following commands all mean backup all namespace-scoped resources and no cluster-scoped resources.
Example of new parameters:
``` bash
velero backup create <backup-name>
--exclude-cluster-scoped-resources=*
```
Example of old parameters:
``` bash
velero backup create <backup-name>
--include-cluster-resources=false
```
#### all namespace-scoped resources + some additional cluster-scoped resources
This command means backup all namespace-scoped resources, and related cluster-scoped resources, plus all PersistentVolume resources.
``` bash
velero backup create <backup-name>
--include-namespaces=*
--include-cluster-scoped-resources=persistentvolume
```
#### all namespace-scoped resources + all cluster-scoped resources
The following commands have the same meaning: backup all namespace-scoped resources, and all cluster-scoped resources.
``` bash
velero backup create <backup-name>
--include-cluster-scoped-resources=*
```
``` bash
velero backup create <backup-name>
--include-cluster-resources=true
```
#### describe command change
In `velero backup describe` command, the four new parameters should be outputted too.
``` bash
velero backup describe <backup-name>
......
Namespaces:
Included: ns2
Excluded: <none>
Resources:
Included cluster-scoped: StorageClass,PersistentVolume
Excluded cluster-scoped: <none>
Included namespace-scoped: default
Excluded namespace-scoped: <none>
......
```
**Note:** `velero restore` command doesn't support those four new parameter in Velero v1.11, but `velero schedule` supports the four new parameters through backup specification.
## Detailed Design
With adding `IncludedNamespaceScopedResources`, `ExcludedNamespaceScopedResources`, `IncludedClusterScopedResources` and `ExcludedClusterScopedResources`, the `BackupSpec` looks like:
``` go
type BackupSpec struct {
......
// IncludedResources is a slice of resource names to include
// in the backup. If empty, all resources are included.
// +optional
// +nullable
IncludedResources []string `json:"includedResources,omitempty"`
// ExcludedResources is a slice of resource names that are not
// included in the backup.
// +optional
// +nullable
ExcludedResources []string `json:"excludedResources,omitempty"`
// IncludeClusterResources specifies whether cluster-scoped resources
// should be included for consideration in the backup.
// +optional
// +nullable
IncludeClusterResources *bool `json:"includeClusterResources,omitempty"`
// IncludedClusterScopedResources is a slice of cluster-scoped
// resource type names to include in the backup.
// If set to "*", all cluster scope resource types are included.
// The default value is empty, which means only related cluster
// scope resources are included.
// +optional
// +nullable
IncludedClusterScopedResources []string `json:"includedClusterScopedResources,omitempty"`
// ExcludedClusterScopedResources is a slice of cluster-scoped
// resource type names to exclude from the backup.
// If set to "*", all cluster scope resource types are excluded.
// +optional
// +nullable
ExcludedClusterScopedResources []string `json:"excludedClusterScopedResources,omitempty"`
// IncludedNamespaceScopedResources is a slice of namespace-scoped
// resource type names to include in the backup.
// The default value is "*".
// +optional
// +nullable
IncludedNamespaceScopedResources []string `json:"includedNamespaceScopedResources,omitempty"`
// ExcludedNamespaceScopedResources is a slice of namespace-scoped
// resource type names to exclude from the backup.
// If set to "*", all namespace scope resource types are excluded.
// +optional
// +nullable
ExcludedNamespaceScopedResources []string `json:"excludedNamespaceScopedResources,omitempty"`
......
}
```
## Alternatives Considered
Proposal from Jibu Data [Issue 5120](https://github.com/vmware-tanzu/velero/issues/5120#issue-1304534563)
## Security Considerations
No security impact.
## Compatibility
The four new parameters cannot be mixed with existing resource filter parameters: `IncludedResources`, `ExcludedResources` and `IncludeClusterResources`.
If the new parameters and old parameters both appears in command line, or are specified in backup spec, the command line and the backup should fail.
## Implementation
This change should be included into Velero v1.11.
New parameters will coexist with `IncludedResources`, `ExcludedResources` and `IncludeClusterResources`.
Plan to deprecate `IncludedResources`, `ExcludedResources` and `IncludeClusterResources` in future releases, but also open to the community's feedback.
## Open Issues
`LabelSelector/OrLabelSelectors` apply to namespace-scoped resources.
It may be reasonable to make them also working on cluster-scoped resources.
An issue is created to trace this topic [resource label selector not work for cluster-scoped resources](https://github.com/vmware-tanzu/velero/issues/5787)

Some files were not shown because too many files have changed in this diff Show More