Skip to content

fix: regenerate CRD manifests for the status.activities field - #10608

Merged
kaovilai merged 2 commits into
velero-io:mainfrom
kaovilai:fix-missing-activities-crd-regen
Sep 29, 2026
Merged

kaovilai merged 2 commits into
velero-io:mainfrom
kaovilai:fix-missing-activities-crd-regen

Conversation

@kaovilai

Copy link
Copy Markdown
Member

PR #10552 ("Move the progress messages to activities") added a new Activities []string field to PodVolumeBackupStatus, PodVolumeRestoreStatus, DataUploadStatus, and DataDownloadStatus, but the CRD YAML manifests under config/crd/{v1,v2alpha1}/bases were never regenerated to match. As a result, main's installed CRDs have been silently out of sync with their own Go types since that PR merged.

Found while validating #9910's new --crd-schema-check startup check against a real cluster built from main -- the check correctly flags status.activities as a field the server's Go types expect but the installed CRDs don't declare, for all 4 affected kinds.

Fix

Regenerated via GOPATH=~/go bash hack/update-3generated-crd-code.sh (controller-gen v0.16.5, matching go.mod's sigs.k8s.io/controller-tools pin). No manual edits -- the deepcopy diffs are the expected byproduct of the new []string field.

Why it matters

Anything that validates status writes against a strict/vendored copy of these CRDs (an admission webhook, a schema-diff check, a downstream fork pinned to the shipped manifests, etc.) would reject a legitimate .status.activities write as an unknown field until this is applied.

PR velero-io#10552 ("Move the progress messages to activities") added a new
Activities []string field to PodVolumeBackupStatus, PodVolumeRestoreStatus,
DataUploadStatus, and DataDownloadStatus, but the CRD YAML manifests under
config/crd/{v1,v2alpha1}/bases were never regenerated to match -- so main's
installed CRDs have been silently out of sync with their own Go types since
that PR merged. Anything validating status writes against a strict/vendored
copy of these CRDs (e.g. an admission webhook, or the new --crd-schema-check
startup check in velero-io#9910) would reject a legitimate .status.activities write
as an unknown field.

Regenerated via: GOPATH=~/go bash hack/update-3generated-crd-code.sh
(controller-gen v0.16.5, matching go.mod's sigs.k8s.io/controller-tools pin).
No manual edits; the deepcopy diffs are the expected byproduct of the new
[]string field.

Co-authored-by: Hermes Agent <noreply@hermes-agent>
Signed-off-by: Tiger Kaovilai <passawit.kaovilai@gmail.com>
Copilot AI balanced review requested due to automatic review settings September 29, 2026 16:16
@kaovilai
kaovilai requested a review from a team as a code owner September 29, 2026 16:16
@netlify

netlify Bot commented Sep 29, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for velero canceled.

Name Link
🔨 Latest commit 48563a5
🔍 Latest deploy log https://app.netlify.com/projects/velero/deploys/6abbff1091528a0008c64e85

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟡 Changes recommended

The required changelog fragment is missing, causing the changelog CI check to fail.

Review effort: Balanced
Findings: 1 High severity

Open (1)
What changed in this PR

Regenerates CRD schemas and deepcopy implementations to support the existing status.activities fields.

Changes:

  • Adds activities schemas to four CRDs.
  • Adds deep-copy handling for the four string slices.
File Description
config/​crd/​v1/​bases/​velero.io_podvolumebackups.yaml Adds backup activities schema.
config/​crd/​v1/​bases/​velero.io_podvolumerestores.yaml Adds restore activities schema.
config/​crd/​v2alpha1/​bases/​velero.io_datauploads.yaml Adds upload activities schema.
config/​crd/​v2alpha1/​bases/​velero.io_datadownloads.yaml Adds download activities schema.
pkg/​apis/​velero/​v1/​zz_generated.deepcopy.go Deep-copies pod-volume activities.
pkg/​apis/​velero/​v2alpha1/​zz_generated.deepcopy.go Deep-copies data-mover activities.
Files not reviewed (2)
  • pkg/apis/velero/v1/zz_generated.deepcopy.go: Generated file
  • pkg/apis/velero/v2alpha1/zz_generated.deepcopy.go: Generated file

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread config/crd/v1/bases/velero.io_podvolumebackups.yaml
@codecov

codecov Bot commented Sep 29, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@Joeavaikath Joeavaikath left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch
Changelog gen and then should be good

sseago
sseago previously approved these changes Sep 29, 2026
Joeavaikath
Joeavaikath previously approved these changes Sep 29, 2026
Co-authored-by: Hermes Agent <noreply@hermes-agent>
Signed-off-by: Tiger Kaovilai <passawit.kaovilai@gmail.com>
@kaovilai kaovilai added the kind/changelog-not-required PR does not require a user changelog. Often for docs, website, or build changes label Sep 29, 2026
@kaovilai
kaovilai enabled auto-merge (squash) September 29, 2026 18:11
@kaovilai
kaovilai merged commit 56f7948 into velero-io:main Sep 29, 2026
75 checks passed
blackpiglet pushed a commit to Shivampal157/velero that referenced this pull request Sep 30, 2026
…-io#10608)

* fix: regenerate CRD manifests for the status.activities field

PR velero-io#10552 ("Move the progress messages to activities") added a new
Activities []string field to PodVolumeBackupStatus, PodVolumeRestoreStatus,
DataUploadStatus, and DataDownloadStatus, but the CRD YAML manifests under
config/crd/{v1,v2alpha1}/bases were never regenerated to match -- so main's
installed CRDs have been silently out of sync with their own Go types since
that PR merged. Anything validating status writes against a strict/vendored
copy of these CRDs (e.g. an admission webhook, or the new --crd-schema-check
startup check in velero-io#9910) would reject a legitimate .status.activities write
as an unknown field.

Regenerated via: GOPATH=~/go bash hack/update-3generated-crd-code.sh
(controller-gen v0.16.5, matching go.mod's sigs.k8s.io/controller-tools pin).
No manual edits; the deepcopy diffs are the expected byproduct of the new
[]string field.

Co-authored-by: Hermes Agent <noreply@hermes-agent>
Signed-off-by: Tiger Kaovilai <passawit.kaovilai@gmail.com>

* changelog: add entry for PR velero-io#10608

Co-authored-by: Hermes Agent <noreply@hermes-agent>
Signed-off-by: Tiger Kaovilai <passawit.kaovilai@gmail.com>

---------

Signed-off-by: Tiger Kaovilai <passawit.kaovilai@gmail.com>
Co-authored-by: Hermes Agent <noreply@hermes-agent>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

has-changelog kind/changelog-not-required PR does not require a user changelog. Often for docs, website, or build changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants