You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Sidebar Velero with Schedules, Backups, and Coverage gaps
Schedule / Backup list + detail pages (cron, status, next run, last backup, phase, triggered-by)
Coverage gaps: namespaces and Deployments/StatefulSets with no matching Schedule
Coverage / schedule views load Backups via velero.io/schedule-name label selector (latest per schedule), addressing the Phase 2 scale note from review — Backups list still shows the full table
Velero sidebar icon + install check empty state
Test fixtures for Schedules / Backups demo
Test plan
cd velero && npm test (and Prettier/lint clean)
Apply fixtures (test-files/) on a cluster with Velero CRDs
Copilot flagged missing Coverage gaps ,that was intentional. Phase 2 for this PR is Schedules / Backups / Restores only (per #939); Coverage gaps are deferred.
The reason will be displayed to describe this comment to others. Learn more.
Thanks for these changes.
It looks like this PR has git conflicts. Can you please fix them?
How to resolve conflicts
Rebase or merge the latest main into your branch, resolve the conflicts, and push the updated branch.
Can you please have a look at the git commits to see if they meet the contribution guidelines? We use a Linux kernel style of git commits. See the contributing guide for general context, and please see previous git commits with git log for examples.
Commits that need attention
velero: Fix CRON_TZ regex for TypeScript target — Only one file changed inside velero/; add a sub-area so it's clear what was touched (e.g. velero: ComponentName: description).
Commit guidelines
Use atomic commits focused on a single change.
Use the title format <area>: <Description of changes> — description must start with a capital letter.
Keep the title under 72 characters (soft requirement).
Explain the intention and why the change is needed.
Make commit titles meaningful and describe what changed.
Do not add code that a later commit rewrites; squash or reorder commits instead.
Do not include Fixes #NN in commit messages.
Good examples:
ai-assistant: ai-ui: HomeButton: Fix so it navigates to home
kueue: Metrics: Add new way to see what is happening
The coverage matcher ignores Velero's namespace-scoped resource filters. Schedule.spec.template is a BackupSpec, which also supports includedNamespaceScopedResources and excludedNamespaceScopedResources; for example, a schedule with excludedNamespaceScopedResources: [deployments.apps] is currently reported as covering a Deployment even though Velero excludes it. Model and evaluate those filters before reporting workload or namespace coverage.
Correct the contradictory expected coverage result
velero/test-files/README.md:40
This expected result contradicts the prescribed fixture set: web-label-only-schedule.yaml selects Deployments in default with app: web, exactly matching case-label-web. After running the commands above, this Deployment is covered, so the manual check currently reports a false failure.
Conflicts on #1326 are resolved (merged latest main), and the CRON_TZ commit title is updated to velero: cron: Fix CRON_TZ regex for TypeScript target. Ready for another look when you have a moment.
The reason will be displayed to describe this comment to others. Learn more.
Thanks for this PR.
the PR has a merge-main commit; please rebase against main to keep the history clean.
Why this matters
Merge commits from main make the PR history harder to review. Please rebase your branch on top of the latest main instead, then update the PR with the rebased commits.
Scope Backup history requests to the current Schedule
velero/src/components/schedules/Detail.tsx:19
This page needs the latest Backup only for the route's Schedule, but useVeleroData(namespace) lists every Schedule and requests retained Backup history for all of them. With many schedules or long retention periods, opening one detail page transfers and watches unrelated histories before reducing them client-side. Add an optional schedule-name scope to the hook and pass name here so this page selects only this schedule's Backups, without requiring the full Schedule list to build that selector.
Ignore global namespace filtering for Velero resource lists
velero/src/components/schedules/List.tsx:30
noNamespaceFilter hides the selector but does not disable ResourceListView's default namespace filtering. If default is selected on another page, rows fetched from the configured velero namespace disappear, with no visible control to clear that filter. This affects Schedules, Backups, and Restores. Give all three lists a search-preserving filterFunction that ignores the global namespace selection, since their requests are already scoped by the plugin setting. Verify navigation from a differently filtered page and confirm text search still works.
Preserve cluster on related-resource links, ignore Headlamp's global
namespace filter on Velero lists while keeping text search, and key
latest-Backup maps by cluster plus schedule name.
Signed-off-by: Pragati <Pragati5-DEBUG@users.noreply.github.com>
Preserve cluster on related-resource links, ignore Headlamp's global
namespace filter on Velero lists while keeping text search, and key
latest-Backup maps by cluster plus schedule name.
Signed-off-by: Pragati <Pragati5-DEBUG@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds Phase 2 cluster-wide Velero views for Headlamp (kubernetes-sigs/headlamp#5198), building on Phase 1 coverage panels (#877).
velero.io/schedule-namelabel selector (latest per schedule), addressing the Phase 2 scale note from review — Backups list still shows the full tableTest plan
cd velero && npm test(and Prettier/lint clean)test-files/) on a cluster with Velero CRDsScreen.Recording.2026-10-03.131847.mp4