Is your feature request related to a problem? Please describe.
KubeFleet is reworking its release process upstream (kubefleet-dev/kubefleet#693) — atomic orchestrator, cosign signing, multi-arch images, multi-minor upgrade tests, release-metadata.json published as a Release asset, etc.
Today, AzureFleet learns about new upstream releases manually. There is no automation to detect new tags, no verification of upstream lineage, no test pipeline that runs Azure-specific overlays against the bumped upstream code, and no provenance link from MCR images back to the upstream KubeFleet artifact.
Describe the solution you'd like
This epic tracks AzureFleet's downstream-side work — discovery, verification, and consumption of upstream releases, plus Azure-specific compatibility surface. Subtasks will be filed as separate issues from this epic as work begins.
Pull-side automation
CI overlay on bump PRs
Compatibility documentation
MCR pipeline provenance
Coordination with upstream
Describe alternatives you've considered
- Status quo (manual bumps) — fragile, no upstream signature verification, doesn't scale.
repository_dispatch from upstream — rejected: couples a CNCF sandbox project to a specific commercial consumer; pull-based is the open-source norm and avoids credential lifecycle on the upstream side.
- GitHub release-publish webhook subscription — viable alternative to cron polling. Cron preferred today for simplicity; can revisit if cadence tightens.
Additional context
Pairs with upstream tracking issue kubefleet-dev/kubefleet#693. The full downstream desired-state flow (detect → verify → propose → human gate → MCR build) is documented in the planning doc under "Downstream — nightly poll: detect, verify, propose."
Is your feature request related to a problem? Please describe.
KubeFleet is reworking its release process upstream (kubefleet-dev/kubefleet#693) — atomic orchestrator, cosign signing, multi-arch images, multi-minor upgrade tests,
release-metadata.jsonpublished as a Release asset, etc.Today, AzureFleet learns about new upstream releases manually. There is no automation to detect new tags, no verification of upstream lineage, no test pipeline that runs Azure-specific overlays against the bumped upstream code, and no provenance link from MCR images back to the upstream KubeFleet artifact.
Describe the solution you'd like
This epic tracks AzureFleet's downstream-side work — discovery, verification, and consumption of upstream releases, plus Azure-specific compatibility surface. Subtasks will be filed as separate issues from this epic as work begins.
Pull-side automation
.github/workflows/upstream-poll.yml): fetch latest upstream GA tag, skip pre-releases, deduplicate againstgo.modcosign verifyagainst image digest fromrelease-metadata.json. Abort + alert on signature failurebump/kubefleet-vX.Y.Z): bumpgo.mod,go mod tidy, regenerate manifestsrelease-metadata.jsonCI overlay on bump PRs
uses: kubefleet-dev/kubefleet/.github/workflows/upgrade.yml@<tag>) once it lands upstreamcmd/crdinstallerupgrade pathCompatibility documentation
VERSIONING.md: Azure-specific compat axes (Arc chart, Deployment + ManagedResource webhooks,cmd/crdinstaller) + version-map table to upstreamMCR pipeline provenance
release-metadata.jsonat bump time; pass through the build pipelineCoordination with upstream
cmd/crdinstaller/ownership with upstream maintainers — resolve before KubeFleet ships its standalone CRD tarballCONTRIBUTING.mdrule: core changes go upstream first; Azure-specific code uses existing extension points (pkg/propertyprovider/azure,types_azure.gopattern)Describe alternatives you've considered
repository_dispatchfrom upstream — rejected: couples a CNCF sandbox project to a specific commercial consumer; pull-based is the open-source norm and avoids credential lifecycle on the upstream side.Additional context
Pairs with upstream tracking issue kubefleet-dev/kubefleet#693. The full downstream desired-state flow (detect → verify → propose → human gate → MCR build) is documented in the planning doc under "Downstream — nightly poll: detect, verify, propose."