Skip to content

chore: backport kubefleet main (2026-08-20) - #1336

Open
Britania Rodriguez Reyes (britaniar) wants to merge 24 commits into
Azure:mainfrom
britaniar:britaniar-backport-kubefleet-main-20260820
Open

chore: backport kubefleet main (2026-08-20)#1336
Britania Rodriguez Reyes (britaniar) wants to merge 24 commits into
Azure:mainfrom
britaniar:britaniar-backport-kubefleet-main-20260820

Conversation

@britaniar

@britaniar Britania Rodriguez Reyes (britaniar) commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Merge the latest kubefleet-dev/kubefleet main branch into Azure/fleet.
  • Rewrite CNCF module imports to go.goms.io/fleet and retain Azure/fleet support links.
  • Resolve the merge using incoming changes and verify no new chart CRD symlinks were introduced.

Validation

  • make reviewable

Backported commits

e160c1cd (cncf/main) chore: bump docker/login-action from 4.2.0 to 4.6.0 (#840)
7a3c60cd fix: update Go patch versions for Trivy CVEs (#836)
9730e846 test: add coverage for pod and replicaset validating webhooks (#768)
7998d70f fix: notify security team for scheduled Trivy findings (#830)
a08f2979 fix: update stale Trivy vulnerability database (#828)
ab78630b chore: bump actions/checkout from 6.0.3 to 7.0.1 (#818)
361c3efa fix: harden release tag handling (#821)
d0ea5e54 chore: update maintainer details and contacts (#825)
fc42415d chore: Fix markdown-link-check failures from dead docs links and mailto validation (#826)
d4bfa3b7 chore: bump github/codeql-action/autobuild from 4.37.5 to 4.37.6 (#814)
bcf6eb8a interface: [FEP-0001] add API definition for the Placement Resource Snapshot, Placement Binding, and Work API objects (#802)
12c3d87d chore: bump codecov/codecov-action from 6.0.1 to 7.0.0 (#816)
3dfd9dd7 chore: bump tcort/github-action-markdown-link-check from 1.1.2 to 1.1.3 (#815)
e52eff2e ci: automate cherry-picks to release branches via cherry-pick/0.Y labels (#777)
f20815d7 chore: bump github/codeql-action/analyze from 4.35.4 to 4.37.5 (#801)
0f6504c6 interface: [FEP-0001] add API definition for the Placement Policy and Cluster Request API objects (#781)
8485ee5e chore: bump oss/go/microsoft/golang from 1.26.5 to 1.26.5-1 in /docker (#800)
019eb765 chore: bump actions/github-script from 7 to 9 (#799)
8e980c5f chore: bump actions/setup-go from 6.4.0 to 7.0.0 (#798)
46321028 chore: bump fkirc/skip-duplicate-actions from 5.3.1 to 5.3.2 (#797)
f37a3c90 fix: apply overrides to resources inside envelope objects (#774)

* fix: apply overrides to resources inside envelope objects

Override rules targeting resources wrapped in ResourceEnvelope or
ClusterResourceEnvelope were silently ignored.

Two coupled defects caused this:

- Override snapshot selection built candidates only from the resource
  snapshot's selected resources. For an envelope placement that is the
  wrapper alone, so overrides targeting inner resources never reached
  the binding.
- The work generator applied overrides before envelope detection, so
  rules were evaluated against the wrapper instead of the resources it
  carries.

Overrides now resolve and apply against the resources inside an
envelope. Overrides no longer apply to the envelope wrapper itself,
including /data/... 

A Delete override on an inner resource drops only that manifest. The
Work is still created when this empties the envelope.

Override failures inside an envelope are now reported on the Overridden
condition rather than being misattributed to WorkSynchronized.

Collecting override candidates is a best-effort selection concern, so an
inner manifest that is invalid or cannot be parsed is skipped rather than
failing the caller. Candidate collection runs in the rollout controller,
upstream of the work generator; returning an error there would abort the
rollout before the work generator could report the failure. The work
generator remains the authoritative validator of envelope contents and
still surfaces these as sync failures.

Fixes Azure#607

Signed-off-by: Stéphane Erbrech <stephane.erbrech@gmail.com>
…#801)

* chore: bump github/codeql-action/analyze from 4.35.4 to 4.37.5

Bumps [github/codeql-action/analyze](https://github.com/github/codeql-action) from 4.35.4 to 4.37.5.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@68bde55...d1ba80a)

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

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

* chore: bump codeql init and autobuild to v4.37.5 pin

Co-authored-by: michaelawyu <14261500+michaelawyu@users.noreply.github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: michaelawyu <14261500+michaelawyu@users.noreply.github.com>
…els (Azure#777)

* ci: automate cherry-picks to release branches via cherry-pick/0.Y labels

Adds a backport workflow: when a merged PR carries a cherry-pick/0.Y
label (added before or after merge), the workflow cherry-picks the
squash commit onto release-0.Y and opens a backport PR.

Explicit policy, also documented in CONTRIBUTING.md:
- squash merges only: merge commits and multi-commit rebases are
  skipped with a comment asking for a manual backport
- conflicts are never pushed: the pick is aborted and manual
  instructions are commented on the original PR
- bot-owned cherry-pick/0.Y/pr-N branches are force-pushed so
  re-labeling retries idempotently

Part of the Phase 1 release-process revamp (Azure#693).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Signed-off-by: Yetkin Timocin <ytimocin@microsoft.com>

* ci: resolve github-actions[bot] user ID dynamically for backport commits

Resolve the bot user ID from the API instead of hardcoding it, with a
numeric-validated fallback to the known ID (41898282): gh api prints
the error body to stdout on failure, so a plain || fallback would
corrupt the value.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Signed-off-by: Yetkin Timocin <ytimocin@microsoft.com>

* ci: soft-fail on missing release branch and fix title-suffix comment

Address review feedback:
- A missing release-0.Y branch now comments and keeps the run green
  (matching the documented soft-fail behavior) instead of exiting 1:
  labels may legitimately be applied before the release branch is cut.
- Correct the comment that claimed the target is prefixed to the PR
  title; it is suffixed because PR-title lint requires the conventional
  prefix at the start.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Signed-off-by: Yetkin Timocin <ytimocin@microsoft.com>

---------

Signed-off-by: Yetkin Timocin <ytimocin@microsoft.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…napshot, Placement Binding, and Work API objects (Azure#802)
…re#814)

* chore: bump github/codeql-action/autobuild from 4.37.5 to 4.37.6

Bumps [github/codeql-action/autobuild](https://github.com/github/codeql-action) from 4.37.5 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](github/codeql-action@d1ba80a...5595cca)

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

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

* chore: bump codeql-action init/analyze to 4.37.6 for consistency

Co-authored-by: michaelawyu <14261500+michaelawyu@users.noreply.github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: michaelawyu <14261500+michaelawyu@users.noreply.github.com>
Update maintainer details and contacts

Signed-off-by: Simon Waight <simon.waight@microsoft.com>
Co-authored-by: Chen Yu <chenyu1@microsoft.com>
Three small hardening changes to how a release tag reaches the release
workflows. All of these require repository write access to reach, so this is
defence in depth rather than a fix for an externally reachable flaw.

setup-release.yml interpolated ${{ inputs.tag }} directly into its script
body, which expands the value in the shell before the tag regex can reject
it. Backticks and $(...) are legal in git ref names and match the v*.*.*
push filter, so both trigger paths were affected, not just
workflow_dispatch. The tag now arrives as an environment variable, so
validation runs before expansion. This makes that regex the single trust
boundary for the outputs every downstream job interpolates into its own
shell, in release.yml and chart.yml alike.

The export job also declared no permissions, so it inherited the caller's -
including contents: write and packages: write from chart.yml. It validates
an input and writes step outputs, so it needs no token at all.

`gh release create` gains --verify-tag. A tag that does not exist already
fails earlier, at the checkout in build-and-publish, so this is not the
last line of defence; it closes the narrower case where the ref resolves to
something that is not the tag, after which gh would create the tag itself
at the head of the default branch and the release would point at a
different commit than the images.

Part of Azure#693.

Signed-off-by: Yetkin Timocin <ytimocin@microsoft.com>
Pin every actions/checkout reference to the v7.0.1 commit, and update
the Squad workflows that track the floating v7 tag to v7.0.1.

Also correct the codespell workflow's version comment, which still read
v4.1.7 next to a v7 commit pin.

Signed-off-by: Yetkin Timocin <ytimocin@microsoft.com>
Co-authored-by: Yetkin Timocin <ytimocin@microsoft.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: michaelawyu <14261500+michaelawyu@users.noreply.github.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Use the actively maintained MCR Trivy database source so image scans receive current vulnerability advisories.

Signed-off-by: Britania Rodriguez Reyes <britaniar@microsoft.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
* fix: notify security team for scheduled Trivy findings

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Signed-off-by: Britania Rodriguez Reyes <britaniar@microsoft.com>

* ci: ignore authenticated Slack links

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Signed-off-by: Britania Rodriguez Reyes <britaniar@microsoft.com>

* chore: keep Trivy fix scoped

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Signed-off-by: Britania Rodriguez Reyes <britaniar@microsoft.com>

---------

Signed-off-by: Britania Rodriguez Reyes <britaniar@microsoft.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
)

* test: add coverage for pod and replicaset validating webhooks

The pod and replicaset validating webhooks were the only webhook packages
without unit tests. Both deny creation outside the reserved fleet- and
kube- namespaces, and both were untested for every branch of Handle.

Add table-driven tests covering denial in a non-reserved namespace,
admission in each reserved namespace prefix, pass-through of non-CREATE
operations, and the decode failure path, following the existing pdb
webhook test.

Signed-off-by: Akshita <110122283+akshita317@users.noreply.github.com>

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Akshita <110122283+akshita317@users.noreply.github.com>

---------

Signed-off-by: Akshita <110122283+akshita317@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* Initial plan

* fix: update Go patch versions for CVE remediation

Co-authored-by: britaniar <145056127+britaniar@users.noreply.github.com>

* fix: align Go tooling to 1.26.6

Co-authored-by: britaniar <145056127+britaniar@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: britaniar <145056127+britaniar@users.noreply.github.com>
Bumps [docker/login-action](https://github.com/docker/login-action) from 4.2.0 to 4.6.0.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](docker/login-action@650006c...dbcb813)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

@ytimocin Yetkin Timocin (ytimocin) 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.

My part LGTM...

@michaelawyu Chen Yu (michaelawyu) 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.

LGTM ;) Thanks, Britania

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants