Skip to content

[CHA-0] Publish forked KubeBlocks image + chart to GHCR (1.0.2-getstream.x baseline)#5

Merged
mogita merged 3 commits into
getstreamfrom
ci/cha-0-publish-kubeblocks-chart
Jun 23, 2026
Merged

[CHA-0] Publish forked KubeBlocks image + chart to GHCR (1.0.2-getstream.x baseline)#5
mogita merged 3 commits into
getstreamfrom
ci/cha-0-publish-kubeblocks-chart

Conversation

@mogita

@mogita mogita commented Jun 23, 2026

Copy link
Copy Markdown
Collaborator

Summary

Establishes a single, org-namespaced fork-publishing path so chat's rocky can install the forked KubeBlocks operator via Helm. Pairs with GetStream/chat#14218.

One workflow, one version input, image + chart in lockstep (getstream-publish.yml, workflow_dispatch):

  • Job image: make push-manager-image IMG=ghcr.io/getstream/kubeblocks VERSION=<v> (multi-arch amd64/arm64).
  • Job chart (needs image): helm package deploy/helm + helm push oci://ghcr.io/getstream/charts -> oci://ghcr.io/getstream/charts/kubeblocks:<v>.

Image tag == chart version by construction, so they can never drift. Default version 1.0.2-getstream.1.

Baseline rename

The fork baseline is now 1.0.2-getstream.x, not the feature-named 1.0.2-serial.2. The fork carries more than the serial-rollout change (also ComponentSystemAccount.externallyManaged), so a feature word no longer describes the baseline. Existing serial.* artifacts are left untouched; this publishes new tags.

.helmignore

Stop ignoring crds/. Upstream excludes it (installs CRDs via kbcli), but we ship a self-contained OCI chart, so the fork CRDs (incl. externallyManaged) must travel with the chart. Verified locally: the package contains all CRDs with the externallyManaged schema.

Notes for review

  • image job is the first CI build of the fork operator image (the prior serial.* image was pushed manually); the multi-arch build via make push-manager-image + QEMU may need a first-run tweak (buildx builder / codegen). The chart job is straightforward.
  • Uses GITHUB_TOKEN with packages: write. First push to ghcr.io/getstream/kubeblocks / ghcr.io/getstream/charts may need Actions to be granted write on those org packages (one-time). If the packages stay private, chat's bootstrap host needs helm registry login + a kb-system pull secret (noted in chat#14218).

How to release

Actions -> "Publish KubeBlocks (GetStream fork)" -> Run on getstream -> version 1.0.2-getstream.1.

mogita added 2 commits June 23, 2026 18:52
Add a workflow_dispatch workflow that packages deploy/helm and pushes it
to oci://ghcr.io/getstream/charts/kubeblocks at the given version. Keep
that version in lockstep with the fork controller image tag (e.g.
1.0.2-serial.2); chat's rocky installer pins the operator chart by it.

Stop ignoring crds/ in the chart's .helmignore: upstream excludes it and
installs CRDs via kbcli, but we ship a self-contained OCI chart, so the
fork's CRDs (including externallyManaged) must travel with the chart.
Rework the publish workflow to build+push the operator IMAGE and
package+push the CHART under one workflow_dispatch version input, so the
two never drift. Default to the org-namespaced baseline 1.0.2-getstream.1
(no feature word). Image tag == chart version; chat's rocky installer
pins both by it. Existing serial.* artifacts are left untouched.
@mogita mogita changed the title [CHA-0] Publish forked KubeBlocks operator chart to GHCR OCI [CHA-0] Publish forked KubeBlocks image + chart to GHCR (1.0.2-getstream.x baseline) Jun 23, 2026
Document the canonical scheme in the workflow header and enforce it with
a validate job: <upstream-base>-getstream.<n> (e.g. 1.0.2-getstream.1).
A feature-named or malformed tag now fails fast before any build. Bump
<n> per build; move <upstream-base> only on a real upstream rebase.
@mogita mogita merged commit 8811057 into getstream Jun 23, 2026
3 checks passed
@mogita mogita deleted the ci/cha-0-publish-kubeblocks-chart branch June 23, 2026 17:24
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.

1 participant