Skip to content

Publish Helm charts via ASF GitHub Pages - #26

Merged
AdheipSingh merged 1 commit into
apache:masterfrom
razinbouzar:helm-pages-release-flow
Jun 14, 2026
Merged

AdheipSingh merged 1 commit into
apache:masterfrom
razinbouzar:helm-pages-release-flow

Conversation

@razinbouzar

Copy link
Copy Markdown
Contributor

Publish Druid Operator Helm charts with ASF GitHub Pages

Summary

This PR wires the Druid Operator Helm chart publishing flow to the ASF-managed GitHub Pages path for this repository:

https://apache.github.io/druid-operator

The published Helm repository layout is:

index.yaml
helm-releases/
  druid-operator-<chart-version>.tgz

Users will install with:

helm repo add apache-druid https://apache.github.io/druid-operator
helm repo update
helm -n druid-operator-system upgrade -i --create-namespace cluster-druid-operator apache-druid/druid-operator

Why

PR #19 added Helm chart publishing pieces, but those changes landed on the gh-pages branch. ASF GitHub Pages repository settings need to be configured from the default branch, and GitHub Actions workflows intended to run from master must live on master.

This PR moves the publishing setup into the source branch and keeps publishing release-manager controlled instead of publishing on every push.

Changes

  • Enables ASF GitHub Pages for this repository in .asf.yaml:
github:
  ghp_branch: gh-pages
  ghp_path: /
  • Adds a manual Helm Chart GitHub Actions workflow.

    • publish=false validates only.
    • publish=true validates, packages, updates gh-pages/index.yaml, and publishes the chart under gh-pages/helm-releases/.
    • The workflow refuses to overwrite an existing chart package for the same chart version.
  • Adds Helm packaging helpers to Makefile:

    • make helm-package
    • local package/index generation under dist/helm
    • checks that the packaged chart contains LICENSE and NOTICE
  • Adds chart/LICENSE and chart/NOTICE so the Helm chart archive carries ASF license metadata.

  • Updates user docs from the old DataInfra chart repo to:

https://apache.github.io/druid-operator
  • Adds docs/helm-chart-release.md with the release-manager workflow.

  • Updates RAT handling for generated local artifacts:

    • excludes cover.out
    • excludes dist/**
    • makes $(RAT_JAR) depend on bin/ as an order-only prerequisite to avoid unnecessary jar redownloads.

Manual publishing flow

After the ASF release is approved:

  1. Confirm chart/Chart.yaml has the chart version to publish and appVersion matches the operator release.
  2. Run local validation:
make helm-lint
make helm-template
make helm-package
make rat
  1. In GitHub Actions, run the Helm Chart workflow from master with:
publish=true
  1. Verify the live Helm repo:
curl -I https://apache.github.io/druid-operator/index.yaml
helm repo add apache-druid https://apache.github.io/druid-operator
helm repo update
helm search repo apache-druid/druid-operator

Validation performed

make helm-lint
make helm-template
make helm-package
make rat
git diff --check

A local simulation of the gh-pages/helm-releases layout generated an index entry pointing to:

https://apache.github.io/druid-operator/helm-releases/druid-operator-0.3.9.tgz

The packaged chart was also verified to include:

druid-operator/LICENSE
druid-operator/NOTICE

Follow-up after merge

The existing gh-pages branch should be cleaned up once this PR lands. It currently contains source-tree files from the earlier PR. The branch should be reduced to the generated Helm repository content:

index.yaml
helm-releases/

Fixes #XXXX.

Description


This PR has:

  • been tested on a real K8S cluster to ensure creation of a brand new Druid cluster works.
  • been tested for backward compatibility on a real K*S cluster by applying the changes introduced here on an existing Druid cluster. If there are any backward incompatible changes then they have been noted in the PR description.
  • added comments explaining the "why" and the intent of the code wherever would not be obvious for an unfamiliar reader.
  • added documentation for new or modified features or behaviors.

Key changed/added files in this PR
  • MyFoo
  • OurBar
  • TheirBaz

@razinbouzar razinbouzar mentioned this pull request Jun 11, 2026
4 tasks
gh pages implementation
@razinbouzar
razinbouzar force-pushed the helm-pages-release-flow branch from 92e8d86 to 8216544 Compare June 13, 2026 19:41
@AdheipSingh
AdheipSingh merged commit b9e4b4d into apache:master Jun 14, 2026
2 checks passed
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.

2 participants