feat: consolidate Helm chart distribution to OCI-only and drop GitHub Pages#359
Conversation
… Pages (documentdb#326) Signed-off-by: urismiley <urismiley@microsoft.com>
|
🤖 Auto-triaged by documentdb-triage-tool. Applied: Reasoningcomponent from path globs (docs, ci, playground); effort from diff stats (147+516 LOC, 16 files); LLM: Cross-cutting consolidation of Helm chart distribution from GitHub Pages to OCI-only, touching release pipelines, CI workflows, playground scripts, and docs across multiple files and components. If a label is wrong, remove it manually and ping |
There was a problem hiding this comment.
Pull request overview
This PR removes the GitHub Pages–hosted Helm repository and standardizes Helm chart consumption and publication on the GHCR OCI registry (oci://ghcr.io/documentdb/documentdb-operator) across CI, docs, and playground scripts.
Changes:
- Removed the GitHub Pages Helm repo publishing workflow and its usage from release workflows.
- Migrated CI and scripts from
helm repo add/searchflows to OCI installs, including “latest” resolution via GHCR tag listing. - Updated documentation and READMEs to use OCI-based install/upgrade commands and updated links.
Reviewed changes
Copilot reviewed 16 out of 16 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| documentdb-playground/aws-setup/scripts/create-cluster.sh | Simplifies operator install to OCI-only with optional GHCR auth. |
| documentdb-playground/aws-setup/README.md | Updates documentation link from GitHub Pages to documentdb.io. |
| documentdb-playground/aks-fleet-deployment/install-documentdb-operator.sh | Switches install flow from Helm repo to OCI and requires explicit version pinning. |
| docs/operator-public-documentation/preview/operations/upgrades.md | Reworks upgrade steps to remove Helm repo semantics and use OCI + version pinning. |
| docs/operator-public-documentation/preview/multi-region-deployment/setup.md | Updates multi-cluster install snippet to OCI-based Helm install. |
| docs/operator-public-documentation/preview/index.md | Updates primary install snippet to OCI-based Helm install with pinned version. |
| docs/operator-public-documentation/preview/getting-started/quickstart-kind.md | Updates quickstart install snippet to OCI. |
| docs/operator-public-documentation/preview/getting-started/quickstart-k3s.md | Updates quickstart install snippet to OCI. |
| docs/operator-public-documentation/preview/getting-started/deploy-on-eks.md | Replaces Helm repo setup docs/snippets with OCI distribution guidance. |
| docs/operator-public-documentation/preview/faq.md | Updates operator upgrade snippet to OCI + version pinning. |
| README.md | Adds an “Install” section documenting OCI installs and Helm version requirement. |
| .github/workflows/test-upgrade-and-rollback.yml | Removes Helm repo usage and resolves “latest” via GHCR tags. |
| .github/workflows/repair_helm_pages_release.yml | Deleted: removes GH Pages Helm repo repair/republish workflow. |
| .github/workflows/release_operator.yml | Removes GH Pages Helm publish job from operator release flow. |
| .github/workflows/release_images.yml | Removes GH Pages Helm publish job from deprecated images release flow. |
| .github/actions/setup-test-environment/action.yml | Updates released-chart install path to OCI and adds GHCR tag-based “latest” resolver. |
Signed-off-by: urismiley <urismiley@microsoft.com>
Closes #326.
Summary
Removes the GitHub Pages-based Helm repository (
https://documentdb.github.io/documentdb-kubernetes-operator) and consolidates Helm chart distribution to the OCI registry already published to GHCR (oci://ghcr.io/documentdb/documentdb-operator). Updates every workflow, action, script, and doc that still consumed the chart from GH Pages.Changes
Release pipeline (no more GH Pages publish)
.github/workflows/repair_helm_pages_release.yml(the 300+ line reusable workflow that rebuiltindex.yamland committed it to thegh-pagesbranch).publish-helm-pagesjob fromrelease_operator.ymland from the deprecatedrelease_images.yml. OCI publication viahelm pushis unchanged.CI consumers migrated to OCI
.github/actions/setup-test-environment/action.yml: thereleased-chart-versioninstall path now runshelm install … oci://ghcr.io/documentdb/documentdb-operator --version <X>..github/workflows/test-upgrade-and-rollback.yml: droppedhelm repo add documentdb/helm repo update.helm search repo, so both call sites now resolvelatestby listing GHCR tags directly (`/v2/.../tags/list`) and picking the highest stable SemVer. This better matches the priorhelm search repo … | .[0].versionsemantics thangh api releases/latestwould (verified:0.1.3is present in GHCR but not in GitHub Releases).Playground scripts
documentdb-playground/aws-setup/scripts/create-cluster.sh: collapsed the "try GH Pages → fall back to OCI" structure into a single OCI install.GITHUB_USERNAME/GITHUB_TOKENare now optional (GHCR public charts pull anonymously).documentdb-playground/aks-fleet-deployment/install-documentdb-operator.sh: replaced GH Pages install with OCI; requires explicit `CHART_VERSION` env var when not building a local chart (OCI has no implicit "latest").Docs
```bash
DOCUMENTDB_VERSION=<x.y.z>
helm install documentdb-operator oci://ghcr.io/documentdb/documentdb-operator \
--version ${DOCUMENTDB_VERSION} \
--namespace documentdb-operator --create-namespace --wait
```
index.md,getting-started/quickstart-kind.md,getting-started/quickstart-k3s.md,getting-started/deploy-on-eks.md,multi-region-deployment/setup.md,operations/upgrades.md,faq.md,documentdb-playground/aws-setup/README.md.operations/upgrades.mdwas restructured: `Step 1` now sets `TARGET_VERSION` and points users to GitHub Releases for available versions (replacing the now-impossible `helm repo update` / `helm search repo --versions` flow). The `Step 4` upgrade command and `--atomic` tip use the OCI URL.Root README
Tradeoffs (per the issue)
Validation
Out of scope (intentionally untouched)