[CHA-0] Fix fork publishing: crds-less chart + tools image + CRD release bundle#6
Merged
Merged
Conversation
…ndle) The getstream.1 publish was broken two ways the us-east5 dogfood caught: - The chart shipped 29 CRDs, exceeding Helm's 1MB release-Secret limit, so `helm upgrade` of the operator failed. Re-exclude crds/ from the chart and ship the CRDs as a kubeblocks-crds.yaml GitHub release asset instead. - The chart derives the tools image from the shared image.registry/image.tag, so overriding those to the fork values made every tools/hook container pull a nonexistent ghcr.io/apecloud/kubeblocks-tools:<fork-tag>. Publish the tools image under ghcr.io/getstream/kubeblocks-tools at the same version so the override resolves. The workflow now publishes at one version: operator image, tools image, CRD bundle (GitHub release asset), and the crds-less chart. Default 1.0.2-getstream.2.
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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
Fixes the fork publishing path. The
1.0.2-getstream.1build was broken in two ways the us-east5 dogfood surfaced (operatorhelm upgradefailed; no production cluster was affected). Both are corrected here; cut a fresh1.0.2-getstream.2from this.Bug 1: chart can't ship CRDs (Helm 1MB release-Secret limit)
Bundling the 29 KubeBlocks CRDs put the chart's helm release Secret over Kubernetes' 1 MB cap, so
helm upgradefailed withSecret ... Too long. This is why upstream.helmignorescrds/.crds/from the chart (.helmignore) → chart is helm-installable again.kubeblocks-crds.yamlGitHub release asset instead; chat's rocky installerkubectl applys it (same pattern cert-manager/tidb-operator use). The bundle is the 28*.kubeblocks.ioCRDs only,crds/snapshot/(externalsnapshot.storage.k8s.ioVolumeSnapshot CRDs) is deliberately excluded so we don't clobber the ones GKE owns.Bug 2: shared
image.registry/image.tagalso drive the (unforked) tools imageThe chart renders the tools image as
{{ image.registry }}/{{ image.tools.repository }}:{{ image.tag }}in the manager init-container, dataprotection init, conversion hook, pre-delete-addon, and the upgrade hook. Overridingimage.*to the fork made all of them pullghcr.io/apecloud/kubeblocks-tools:<fork-tag>→ 404 → ImagePullBackOff.toolshas no per-image registry/tag override (only.repository).ghcr.io/getstream/kubeblocks-tools:<version>(rebuilt, not forked) so the shared override resolves. chat setsimage.tools.repository=getstream/kubeblocks-tools.Workflow now publishes (one version, lockstep)
validate→ (image,tools,crds) →chart:ghcr.io/getstream/kubeblocks:<v>ghcr.io/getstream/kubeblocks-tools:<v><v>, assetkubeblocks-crds.yamloci://ghcr.io/getstream/charts/kubeblocks:<v>Default version bumped to
1.0.2-getstream.2.contents: writeadded for the release.Notes for review
deploy/helmidentical to upstream for clean rebases; only the manager binary is genuinely forked.toolsjob usesmake push-tools-image(deps includetest-go-generate); first run may need a tweak, mirrors the workingimagejob otherwise.installKubeBlocksto apply CRDs from the release asset, setimage.tools.repository, and bump to1.0.2-getstream.2.