Commit Graph
6615 Commits
Author SHA1 Message Date
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2d10d3685f Bump the github-actions group with 4 updates (#10239)
Run the E2E test on kind / setup-test-matrix (push) Successful in 4s
e2e-test-kind.yaml / extract (push) Failing after 5s
Run the E2E test on kind / get-go-version (push) Failing after 6s
Run the E2E test on kind / build (push) Skipped
Run the E2E test on kind / run-e2e-test (push) Skipped
push.yml / extract (push) Failing after 5s
Main CI / get-go-version (push) Failing after 6s
Main CI / Build (push) Skipped
Bumps the github-actions group with 4 updates: [actions/github-script](https://github.com/actions/github-script), [actions/cache](https://github.com/actions/cache), [jpmcb/prow-github-actions](https://github.com/jpmcb/prow-github-actions) and [actions/stale](https://github.com/actions/stale).


Updates `actions/github-script` from 7 to 9
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](https://github.com/actions/github-script/compare/v7...v9)

Updates `actions/cache` from 4 to 6
- [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/v4...v6)

Updates `jpmcb/prow-github-actions` from 1.1.3 to 2.0.0
- [Release notes](https://github.com/jpmcb/prow-github-actions/releases)
- [Commits](https://github.com/jpmcb/prow-github-actions/compare/f4d01dd4b13f289014c23fe5a19878a2479cb35b...c44ac3a57d67639e39e4a4988b52049ef45b80dd)

Updates `actions/stale` from 10.1.1 to 11.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/v10.1.1...v11.0.0)

---
updated-dependencies:
- dependency-name: actions/github-script
  dependency-version: '9'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
- dependency-name: actions/cache
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
- dependency-name: jpmcb/prow-github-actions
  dependency-version: 2.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
- dependency-name: actions/stale
  dependency-version: 11.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-12 16:30:29 +08:00
RalthosandGitHub 8d275e69cc Print n/a for unset timestamps in backup and restore get (#10206)
velero backup get prints <nil> in CREATED for a backup that never
started, and velero restore get prints it in both STARTED and COMPLETED.
The timestamps are *metav1.Time and are appended to the row unformatted,
so a nil pointer reaches the user as Go's nil literal.

This is reachable in ordinary use. A backup that fails validation never
starts, so StartTimestamp is never set, and a restore that fails
validation gets neither timestamp.

formatTimestamp returns n/a for an unset value, matching
humanReadableTimeFromNow, which already handles a zero expiration in the
same row. A set timestamp is unchanged.

Adds tests for both printers, which had no row-level coverage.

Signed-off-by: saral <ilovegojo2580@gmail.com>
2026-08-12 15:42:53 +08:00
AftAb-25andGitHub 9a1d2e6eb0 Fix switch case ordering bug in filterBackupOwnerReferences (#10161)
* Fix switch case ordering in filterBackupOwnerReferences (Issue #10160)

When client.Get returns a transient (non-NotFound) error, the previous
case ordering caused the UID mismatch case to fire against a zero-value
struct, silently dropping the owner reference and logging a misleading
'mismatched UIDs' warning instead of the intended error log.

Fix: move the general error handler before the UID mismatch check so
it is evaluated while err is still relevant. The UID check now only
runs when err == nil (i.e. the Schedule was successfully fetched).

Also add a test case that injects a transient Get error via the fake
client interceptor to verify the owner reference is preserved.

Signed-off-by: aftab <aftab123215@gmail.com>

* Add changelog for #10160

Signed-off-by: aftab <aftab123215@gmail.com>

---------

Signed-off-by: aftab <aftab123215@gmail.com>
2026-08-12 15:12:58 +08:00
Daniel JiangandGitHub 2aa5175594 Mark the existed resource as skipped during restore (#10243)
This commit makes sure the object is marked as "skipped" when there's
object with same name exists in the cluster during restore.  Otherwise,
such object will appeared as "failed" in the "Resource list" in the
output of "velero restore describe xxx --details"

Signed-off-by: Daniel Jiang <daniel.jiang@broadcom.com>
2026-08-12 13:53:56 +08:00
lyndon-liandGitHub 550bec10ed Merge pull request #10230 from Lyndon-Li/block-uploader-restore-progress
e2e-test-kind.yaml / extract (push) Failing after 8s
Run the E2E test on kind / get-go-version (push) Failing after 8s
Run the E2E test on kind / build (push) Skipped
Run the E2E test on kind / setup-test-matrix (push) Successful in 3s
Run the E2E test on kind / run-e2e-test (push) Skipped
push.yml / extract (push) Failing after 7s
Main CI / get-go-version (push) Failing after 8s
Main CI / Build (push) Skipped
Use source size in progress for block uploader restore
2026-08-12 08:49:53 +08:00
Krishna AwasthiandGitHub c303809857 Enhancement: Add missing test assertions for PVCBackupSummary in podvolume backupper (#10218)
Signed-off-by: opbot_xd <awasthikrishna23052005@gmail.com>
2026-08-11 15:42:48 -04:00
CopilotGitHubkaovilaicopilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
0ba74dbf51 Group Dependabot GitHub Actions updates (#10220)
* Initial plan

* Group Dependabot GitHub Actions updates

Co-authored-by: kaovilai <11228024+kaovilai@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: kaovilai <11228024+kaovilai@users.noreply.github.com>
2026-08-11 15:32:17 -04:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
9cb2c25eb8 Bump kentaro-m/auto-assign-action from 2.0.0 to 2.0.2 (#10201)
Bumps [kentaro-m/auto-assign-action](https://github.com/kentaro-m/auto-assign-action) from 2.0.0 to 2.0.2.
- [Release notes](https://github.com/kentaro-m/auto-assign-action/releases)
- [Commits](https://github.com/kentaro-m/auto-assign-action/compare/v2.0.0...v2.0.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-11 15:28:38 -04:00
CopilotGitHubkaovilaicopilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
1832f099f2 backport: add pre-merge label-on-comment support; add copilot-instructions and auto-labeler for changelog exemptions (#10211)
* Initial plan

* chore: commit backport.yml pre-merge labeling enhancement

Co-authored-by: kaovilai <11228024+kaovilai@users.noreply.github.com>

* chore: auto-label kind/changelog-not-required for non-shipping PRs; add copilot-instructions.md

Co-authored-by: kaovilai <11228024+kaovilai@users.noreply.github.com>

* chore: add changelog naming convention to copilot-instructions; tighten labeler exclusions

Co-authored-by: kaovilai <11228024+kaovilai@users.noreply.github.com>

* fix: use # as sed delimiter to avoid conflict with | in alternation group

Co-authored-by: kaovilai <11228024+kaovilai@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: kaovilai <11228024+kaovilai@users.noreply.github.com>
2026-08-11 15:23:56 -04:00
RalthosandGitHub 105350b78b Make restore logs testable by returning errors (#10234)
pkg/cmd/cli/restore/logs.go was the last command in the CLI still calling
cmd.Exit, which calls os.Exit directly. Two of its own tests were skipped
because of it, and said so:

    t.Skip("Cannot test restore not complete case due to cmd.Exit() call")

This gives restore logs the LogsOptions shape that backup logs already
uses: Complete, BindFlags and Run returning an error, with the cobra
command passing that to cmd.CheckError. Both skipped tests now run and
assert on the returned errors.

Exit status is unchanged; cmd.CheckError also exits 1. The two refusal
messages now carry the standard "An error occurred:" prefix and match
the wording backup logs uses.

Signed-off-by: saral <ilovegojo2580@gmail.com>
2026-08-11 14:33:02 -04:00
ae1d869c77 Add printer columns for Backup and Restore CRDs (#10200)
e2e-test-kind.yaml / extract (push) Failing after 7s
Run the E2E test on kind / get-go-version (push) Failing after 9s
Run the E2E test on kind / build (push) Skipped
Run the E2E test on kind / setup-test-matrix (push) Successful in 3s
Run the E2E test on kind / run-e2e-test (push) Skipped
push.yml / extract (push) Failing after 6s
Main CI / get-go-version (push) Failing after 7s
Main CI / Build (push) Skipped
* Add printer columns for Backup and Restore CRDs

kubectl get backup and kubectl get restore fall back to the default
NAME/AGE table because neither type declares printer columns, while
Schedule and BackupStorageLocation do. Anything reading the API without
the velero binary cannot see a backup's phase, error count or timing.

Printer columns were added in #2881 and reverted in #3652 as a
workaround for #3600, a CRD install error that was never root-caused.
Schedule regained columns in 2022 and BackupStorageLocation has them
today, with no recurrence.

Only fields expressible as plain JSONPath are included. Expiration is
deliberately omitted: kubectl renders a date column as time elapsed,
so a future expiration prints <invalid>, which covers every backup that
has not yet expired.

Fixes #10199

Signed-off-by: saral <ilovegojo2580@gmail.com>

* Rename changelog name to pass changelog check

Signed-off-by: Tiger Kaovilai <passawit.kaovilai@gmail.com>

---------

Signed-off-by: saral <ilovegojo2580@gmail.com>
Signed-off-by: Tiger Kaovilai <passawit.kaovilai@gmail.com>
Co-authored-by: Tiger Kaovilai <passawit.kaovilai@gmail.com>
2026-08-11 16:58:19 +00:00
Shubham PampattiwarandGitHub 3da77b9469 Site: add conference talks to resources and LinkedIn to community page (#10180)
* site: add conference talks to resources page and LinkedIn to community page

Add a Conference Talks section to the resources page with Velero-related
talks from KubeCon EU 2026, KubeCon India 2026, KubeCon China 2024,
KubeCon EU 2023, and DevConf.IN 2025. Includes YouTube embeds where
recordings are available and sched.com links for all talks.

Add LinkedIn page link to the community page alongside existing
Twitter and Slack links.

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

* site: add Open Source Summit NA 2022 Velero talk to resources

Add the Velero talk by Orlin Vasilev and Scott Seago from
Open Source Summit North America 2022 with YouTube embed
and sched.com link.

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

---------

Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>
2026-08-11 11:55:33 -04:00
RalthosandGitHub 48f2095dc9 Site: document artifact download failures with an in-cluster s3Url (#10231)
troubleshooting.md covers SignatureDoesNotMatch but not the other way a
log or results download fails: the pre-signed URL carries the s3Url host,
which for an in-cluster Service name does not resolve on the client.

The backup or restore itself is unaffected, which makes the error easy to
misread. The fix, publicUrl, is documented only under exposing Minio, so
this links there instead of duplicating it.

Signed-off-by: saral <ilovegojo2580@gmail.com>
2026-08-11 11:44:02 -04:00
Jay SawantandGitHub 57da5e5f05 docs: fix grammar and typos in backup-restore-windows (#10228)
Signed-off-by: Jay2006sawant <jay242902@gmail.com>
2026-08-11 08:02:47 -04:00
Lyndon-Li 6506d6d9da Merge branch 'main' into block-uploader-restore-progress 2026-08-11 17:12:06 +08:00
RalthosandGitHub 93df34d2ea Add printer columns for VolumeSnapshotLocation (#10216)
Run the E2E test on kind / setup-test-matrix (push) Successful in 3s
e2e-test-kind.yaml / extract (push) Failing after 7s
Run the E2E test on kind / get-go-version (push) Failing after 9s
Run the E2E test on kind / build (push) Skipped
Run the E2E test on kind / run-e2e-test (push) Skipped
build-image / Build (push) Failing after 7s
push.yml / extract (push) Failing after 8s
Main CI / get-go-version (push) Failing after 9s
Main CI / Build (push) Skipped
kubectl get volumesnapshotlocation falls back to NAME and AGE, while
BackupStorageLocation beside it shows provider and phase. This follows
the same pattern for the remaining location type.

Phase is worth surfacing here because the CLI does not print it.
velero snapshot-location get shows only NAME and PROVIDER, so
status.phase, which carries the same Available/Unavailable enum as
BackupStorageLocation, is currently not visible from either tool.

Raised as an open question on #10199 and left out of #10200 to keep that
change to the two types the issue was filed about.

Signed-off-by: saral <ilovegojo2580@gmail.com>
2026-08-11 17:04:26 +08:00
Chlins ZhangandGitHub bb95f680cb Merge pull request #10125 from chlins/fix/hook-exec-timeout-and-leak
Cancel hook exec stream on timeout and bound hook timeouts
2026-08-11 15:57:10 +08:00
Chlins ZhangandGitHub 41df2dbe24 Merge pull request #10155 from chlins/fix/verify-build-tool-downloads
Verify build tool downloads
2026-08-11 15:56:49 +08:00
Lyndon-Li 882ad944f3 Merge branch 'main' into block-uploader-restore-progress 2026-08-11 15:53:08 +08:00
Lyndon-Li bbb0f11f33 use source size in progress for block uploader restore
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2026-08-11 15:49:30 +08:00
lyndon-liandGitHub 23c215d054 Merge pull request #10225 from Lyndon-Li/object-reader-throughput-improvement
Object reader throughput improvement
2026-08-11 15:48:42 +08:00
Wenkai Yin(尹文开)andGitHub 8b7951426b Add "SnapshotClass" to DataUploadResult (#10227)
Add "SnapshotClass" to DataUploadResult

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2026-08-11 15:48:31 +08:00
Lyndon-Li c8127e243b object reader throughput improvement
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2026-08-11 14:07:59 +08:00
Lyndon-Li 92bcf5a3b3 add UT for prefetch
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2026-08-11 13:36:26 +08:00
Lyndon-Li c27343fc4e fix UT errors
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2026-08-11 13:07:27 +08:00
Lyndon-Li de87def9d9 enable object reader prefetch for block uploader
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2026-08-11 13:02:11 +08:00
Lyndon-Li b74824f9c0 extend object reader for prefetch
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2026-08-11 13:00:44 +08:00
Lyndon-Li a41cb11902 add prefetch options for repo interface
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2026-08-11 12:56:23 +08:00
Xun Jiang/Bruce JiangandGitHub e354e7aec4 Merge pull request #10138 from Jay2006sawant/fix/block-uploader-and-batchforget-errors
fix: return errors correctly in block restore validation and BatchForget
2026-08-11 11:25:06 +08:00
Xun Jiang/Bruce JiangandGitHub 40de7f9f97 Make backupType case insensitive in the CLI. (#10189)
Run the E2E test on kind / setup-test-matrix (push) Successful in 3s
e2e-test-kind.yaml / extract (push) Failing after 8s
Run the E2E test on kind / get-go-version (push) Failing after 9s
Run the E2E test on kind / build (push) Skipped
Run the E2E test on kind / run-e2e-test (push) Skipped
push.yml / extract (push) Failing after 6s
Main CI / get-go-version (push) Failing after 7s
Main CI / Build (push) Skipped
Signed-off-by: Xun Jiang <xun.jiang@broadcom.com>
2026-08-10 16:29:13 -04:00
Jay SawantandGitHub 9a549f781f docs: fix grammar and typos in customize-installation (#10190)
Signed-off-by: Jay2006sawant <jay242902@gmail.com>
2026-08-10 20:10:20 +00:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
476a7ca160 Bump github/codeql-action from 4.37.3 to 4.37.6 (#10203)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.37.3 to 4.37.6.
- [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/v4.37.3...v4.37.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-10 16:01:37 -04:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
ccbb7d1cc7 Bump actions/setup-go from 6 to 7 (#10202)
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 6 to 7.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](https://github.com/actions/setup-go/compare/v6...v7)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-version: '7'
  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>
2026-08-10 16:01:13 -04:00
harshit sainiandGitHub 943a4d6bb4 docs: fix restore logs command name in self-signed-certificates (#10213)
The list of commands supporting --insecure-skip-tls-verify referred to
`velero restore log`, but the registered command is `velero restore logs`
(pkg/cmd/cli/restore/logs.go). `velero restore log` silently falls through
to the parent command's help text and exits 0, so a user following the docs
gets no logs and no error.

Fixes #10183

Signed-off-by: Harshit saini <harshitsaini1188@gmail.com>
2026-08-10 16:00:54 -04:00
513e93ff4b fix: correct typos in log messages and status strings (#10192)
- Fix 'dataudownload' typo in DataDownload warning log message
  (data_download_controller.go:696)
- Fix 'datadownlad' misspelled structured log field key to 'datadownload'
  (data_download_controller.go:700) - this caused the log field to be
  unqueryable by the correct key name
- Fix 'retrieveable' -> 'retrievable' in BackupRepository maintenance
  status messages (maintenance.go:354, 417)
- Update corresponding test assertion to match corrected string
  (maintenance_test.go:792)

Signed-off-by: shellyco-code <shellyco-code@users.noreply.github.com>
Co-authored-by: shellyco-code <shellyco-code@users.noreply.github.com>
2026-08-10 19:40:02 +00:00
Tiger KaovilaiandGitHub ced051b72f Fix restore-wait init container ignoring pod-level securityContext (#10047)
restore-wait's securityContext fallback chain checked the fs-restore
ConfigMap, then the first container's SecurityContext, then hardcoded
runAsUser 1000. It never consulted pod.Spec.SecurityContext, so pods
that set identity only at the pod level got a helper running as uid
1000 regardless of the workload's actual uid. On volumes where restored
content is owner-only-visible to a non-1000 uid, the helper's stat on
the done-file returns EACCES forever and the pod deadlocks at Init:0/1.

Add pod-level spec.securityContext.runAsUser/runAsGroup as a fallback
between the container-level check and the hardcoded default, since the
workload's own identity is the one that can read what it restored.
Defer to the pod's own RunAsNonRoot setting when runAsUser is 0, since
the hardcoded RunAsNonRoot: true would otherwise contradict a root uid.

Also add a test case covering both container-level and pod-level
SecurityContext set together, confirming container-level still wins.

Fixes #10046

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
2026-08-10 15:36:14 -04:00
CopilotandGitHub fb86290def Merge pull request #10208 from velero-io/copilot/edit-autoassign-workflow
e2e-test-kind.yaml / extract (push) Failing after 6s
Run the E2E test on kind / get-go-version (push) Failing after 7s
Run the E2E test on kind / build (push) Skipped
Run the E2E test on kind / setup-test-matrix (push) Successful in 3s
Run the E2E test on kind / run-e2e-test (push) Skipped
push.yml / extract (push) Failing after 7s
Main CI / get-go-version (push) Failing after 7s
Main CI / Build (push) Skipped
Re-request maintainer review when only one CODEOWNERS approval exists
2026-08-10 09:44:01 -07:00
Wenkai Yin(尹文开)andGitHub c9d4501d36 Design for supporting volume data in-place restore (#10014)
Run the E2E test on kind / setup-test-matrix (push) Successful in 4s
e2e-test-kind.yaml / extract (push) Failing after 7s
Run the E2E test on kind / get-go-version (push) Failing after 7s
Run the E2E test on kind / build (push) Skipped
Run the E2E test on kind / run-e2e-test (push) Skipped
push.yml / extract (push) Failing after 7s
Main CI / get-go-version (push) Failing after 8s
Main CI / Build (push) Skipped
* Design for supporting volume data in-place restore

Design for supporting volume data in-place restore

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>

* Update the in-place restore design according the comments from internal and community

Update the in-place restore design according the comments from
internal and community

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>

* Add namespace-mapping section to clarify how to handle the namespace mapping

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>

---------

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2026-08-10 14:20:59 +08:00
cc4161b7ed ci: add backport/cherry-pick GitHub Action for release branches (#10158)
e2e-test-kind.yaml / extract (push) Failing after 5s
Run the E2E test on kind / get-go-version (push) Failing after 5s
Run the E2E test on kind / build (push) Skipped
Run the E2E test on kind / setup-test-matrix (push) Successful in 2s
Run the E2E test on kind / run-e2e-test (push) Skipped
push.yml / extract (push) Failing after 6s
Main CI / get-go-version (push) Failing after 7s
Main CI / Build (push) Skipped
* ci: add backport/cherry-pick GitHub Action for release branches

Signed-off-by: Pragati <Pragati5-DEBUG@users.noreply.github.com>

* ci: add unreleased changelog for backport Action

Signed-off-by: Pragati <Pragati5-DEBUG@users.noreply.github.com>

* ci: pin backport-action to commit SHA for write-permission safety

Signed-off-by: Pragati <Pragati5-DEBUG@users.noreply.github.com>

* ci: address review nits on backport workflow

Move permissions to the job (least privilege), document the
backport-action bot user id guard, and fix a garbled comment.

Signed-off-by: Pragati <Pragati5-DEBUG@users.noreply.github.com>

---------

Signed-off-by: Pragati <Pragati5-DEBUG@users.noreply.github.com>
Co-authored-by: Pragati <Pragati5-DEBUG@users.noreply.github.com>
2026-08-09 11:01:32 -05:00
22ae12575c Fix excluded namespace objects leaking into backup with cross-namespa… (#10159)
* Fix excluded namespace objects leaking into backup with cross-namespace listing

Signed-off-by: Pragati <Pragati5-DEBUG@users.noreply.github.com>

* Add changelog for PR 10159

Signed-off-by: Pragati <Pragati5-DEBUG@users.noreply.github.com>

---------

Signed-off-by: Pragati <Pragati5-DEBUG@users.noreply.github.com>
Co-authored-by: Pragati <Pragati5-DEBUG@users.noreply.github.com>
2026-08-09 10:15:29 -05:00
Xun Jiang/Bruce JiangandGitHub 7346ec527c Merge pull request #10175 from Lyndon-Li/update-protocol-buffer-code-2
e2e-test-kind.yaml / extract (push) Failing after 6s
Run the E2E test on kind / get-go-version (push) Failing after 7s
Run the E2E test on kind / build (push) Skipped
Run the E2E test on kind / setup-test-matrix (push) Successful in 2s
Run the E2E test on kind / run-e2e-test (push) Skipped
push.yml / extract (push) Failing after 5s
Main CI / get-go-version (push) Failing after 7s
Main CI / Build (push) Skipped
Update protocol buffer code
2026-08-07 11:10:41 +08:00
Lyndon-Li 66b637e398 update protocol buffer code
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2026-08-06 09:36:28 +00:00
Chlins ZhangandGitHub a5c14755d1 Merge pull request #10102 from chlins/fix/archive-item-path-containment
Run the E2E test on kind / setup-test-matrix (push) Successful in 3s
e2e-test-kind.yaml / extract (push) Failing after 7s
Run the E2E test on kind / get-go-version (push) Failing after 7s
Run the E2E test on kind / build (push) Skipped
Run the E2E test on kind / run-e2e-test (push) Skipped
push.yml / extract (push) Failing after 5s
Main CI / get-go-version (push) Failing after 6s
Main CI / Build (push) Skipped
Verify extracted item paths stay inside the backup directory
2026-08-06 15:02:57 +08:00
Joseph Antony VaikathandGitHub 8850862e9e Merge pull request #9697 from Joeavaikath/add-nodeagent-check-datamover
Run the E2E test on kind / setup-test-matrix (push) Successful in 3s
e2e-test-kind.yaml / extract (push) Failing after 11s
Run the E2E test on kind / get-go-version (push) Failing after 12s
Run the E2E test on kind / build (push) Skipped
Run the E2E test on kind / run-e2e-test (push) Skipped
push.yml / extract (push) Failing after 7s
Main CI / get-go-version (push) Failing after 9s
Main CI / Build (push) Skipped
Fast-fail backup when built-in data mover has no running node-agent
2026-08-05 12:38:36 -07:00
JosephandClaude Opus 4.6 64079056b7 Fast-fail backup when built-in data mover has no running node-agent
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Joseph <jvaikath@redhat.com>
2026-08-05 11:48:39 -07:00
Joseph Antony VaikathandGitHub 3775abc37c Merge pull request #9720 from Joeavaikath/feature/dynamic-cli-completion
Add dynamic resource autocompletion to Velero CLI
2026-08-05 08:32:12 -07:00
80440f5d5a Apply suggestions from code review
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Tiger Kaovilai <passawit.kaovilai@gmail.com>
2026-08-05 08:17:44 -07:00
JosephandClaude Opus 4.6 3c49bbec75 Add dynamic resource autocompletion to Velero CLI
Register cobra completion callbacks for all commands that accept
existing Velero resource names. A centralized completeNames helper
uses apimachinery's meta.ExtractList/Accessor to list resources with
a 3-second timeout, filter by prefix, and deduplicate already-typed
arguments. Wires ValidArgsFunction on 20 commands and
RegisterFlagCompletionFunc on 9 flags across backup, restore,
schedule, backuplocation, snapshotlocation, repo, and debug.

Closes #9782

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Joseph <jvaikath@redhat.com>
2026-08-05 08:17:44 -07:00
Shubham PampattiwarandGitHub f73888abbd Add snapshotClass parameter to volume policy snapshot action (#10070)
* Add SnapshotClassParameter constant and GetSnapshotClass getter

Add a new snapshotClass action parameter to volume policies, allowing
users to specify which VolumeSnapshotClass to use for CSI snapshots.
This follows the existing dataMover parameter pattern with a typed
constant and getter method on the Action struct.

Ref: #8807

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

* Add snapshotClass parameter validation

Validate the snapshotClass parameter in Action.validate(): it must only
appear on snapshot actions, must be a string, and must not be empty.
Follows the same validation pattern as the dataMover parameter.

Ref: #8807

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

* Add volume policy tier to VolumeSnapshotClass selection

Add GetVolumeSnapshotClassFromVolumePolicy helper and extend
GetVolumeSnapshotClass with a policySnapshotClass parameter. The new
tier sits between PVC annotation and backup annotation in the priority
chain: PVC annotation > volume policy > backup annotation > VSC label.

Ref: #8807

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

* Wire snapshotClass from volume policy through CSI plugin

In pvcBackupItemAction.Execute, call GetActionParameters to extract the
snapshotClass from the matched volume policy and pass it through
getVolumeSnapshotReference and createVolumeSnapshot to
GetVolumeSnapshotClass. This connects the volume policy parameter to
the CSI snapshot creation path.

Fixes #8807

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

* Add changelog for PR #10070

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

* Document snapshotClass volume policy parameter

Add documentation for the new snapshotClass parameter in the volume
policy snapshot action. Update the CSI docs to include volume policy
as a tier in the VolumeSnapshotClass selection priority, and add
Example 6 to resource-filtering.md showing multi-array usage.

Ref: #8807

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

* Fix import ordering in pvc_action.go

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

* Add end-to-end test for snapshotClass volume policy parameter

Verify that when a volume policy specifies snapshotClass, the CSI
plugin creates a VolumeSnapshot using that VolumeSnapshotClass. The
test uses a VSC without the velero label to confirm selection comes
from the volume policy parameter, not the label-based fallback.

Ref: #8807

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

* Fix gofmt struct field alignment in pvc_action_test.go

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

* Add GetSnapshotClass to VolumeHelper interface

Add a GetSnapshotClass method to VolumeHelper that encapsulates the
extraction of the snapshotClass parameter from volume policy actions.
This avoids requiring callers to parse raw parameters from
GetActionParameters. Simplify the CSI plugin to use the new method.

Ref: #8807

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

* Fix gofmt formatting in resource_policies.go

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

---------

Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>
2026-08-05 08:13:59 -07:00
Chlins ZhangandGitHub 02bff1e771 Merge pull request #10141 from chlins/fix/pin-e2e-third-party-sources
Run the E2E test on kind / setup-test-matrix (push) Successful in 4s
e2e-test-kind.yaml / extract (push) Failing after 4s
Run the E2E test on kind / get-go-version (push) Failing after 6s
Run the E2E test on kind / build (push) Skipped
Run the E2E test on kind / run-e2e-test (push) Skipped
push.yml / extract (push) Failing after 6s
Main CI / get-go-version (push) Failing after 8s
Main CI / Build (push) Skipped
Pin e2e third-party clones to reviewed commits
2026-08-05 11:16:37 +08:00