razinbouzar opened a new pull request, #19:
URL: https://github.com/apache/druid-operator/pull/19

   # Helm Chart GitHub Pages Publishing Summary
   
   ## Branch
   
   The Helm chart publishing changes are on the `helm-gh-pages` branch.
   
   ## Goal
   
   Publish the Druid Operator Helm chart from this repository using the 
`gh-pages` branch, while matching the same repository layout DataInfra uses for 
`charts.datainfra.io`.
   
   ## Files Changed
   
   - `.asf.yaml`
     - Enables GitHub Pages publishing from the root of the `gh-pages` branch.
     - Adds:
       - `ghp_branch: gh-pages`
       - `ghp_path: /`
   
   - `.github/workflows/helm-chart.yml`
     - Adds a new GitHub Actions workflow named `Helm Chart`.
     - Runs on pushes to `master` when the chart or workflow changes.
     - Also supports manual runs through `workflow_dispatch`.
     - Packages `chart/` with Helm.
     - Publishes packaged charts to `gh-pages/helm-releases/`.
     - Regenerates `gh-pages/index.yaml`.
     - Pushes the updated chart package and index back to the `gh-pages` branch.
   
   - `docs/getting_started.md`
     - Replaces the old DataInfra Helm repository with the Apache GitHub Pages 
repository:
       - `https://apache.github.io/druid-operator`
     - Updates install examples to use:
       - `apache-druid/druid-operator`
   
   - `tutorials/druid-on-kind/README.md`
     - Updates the tutorial Helm repo and install command to use the Apache 
chart repository.
   
   ## Published Repository Layout
   
   The workflow publishes files to the `gh-pages` branch in this shape:
   
   ```text
   gh-pages/
     index.yaml
     helm-releases/
       druid-operator-<chart-version>.tgz
   ```
   
   For the current chart version, the package would be:
   
   ```text
   gh-pages/helm-releases/druid-operator-0.3.9.tgz
   ```
   
   And `index.yaml` will point Helm clients to:
   
   ```text
   
https://apache.github.io/druid-operator/helm-releases/druid-operator-0.3.9.tgz
   ```
   
   ## User Install Flow
   
   After the workflow publishes the chart, users install with:
   
   ```bash
   helm repo add apache-druid https://apache.github.io/druid-operator
   helm repo update
   helm upgrade -i cluster-druid-operator apache-druid/druid-operator \
     -n druid-operator-system \
     --create-namespace
   ```
   
   ## Comparison With DataInfra
   
   DataInfra publishes charts from a separate `datainfrahq/helm-charts` 
repository. Its layout is:
   
   ```text
   index.yaml
   helm-releases/
     druid-operator-<chart-version>.tgz
   ```
   
   This change keeps the same Helm repository layout, but uses this 
repository's `gh-pages` branch instead of a separate chart repository.
   
   ## Validation Performed
   
   The following checks passed locally:
   
   ```bash
   make helm-lint
   make helm-template
   git diff --check
   ```
   
   A local Helm publishing simulation also passed and generated an `index.yaml` 
entry pointing at `/helm-releases/druid-operator-0.3.9.tgz`.
   
   ## Notes
   
   - The workflow does not overwrite an already-published chart package if the 
same chart version already exists and is already indexed.
   - Each chart release should bump `chart/Chart.yaml` `version` before 
publishing.
   - `make rat` was run earlier and failed only because of pre-existing 
untracked files in the local worktree, not because of the Helm publishing 
workflow.
   
   
   
   <!--
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
   regarding copyright ownership.  The ASF licenses this file
   to you under the Apache License, Version 2.0 (the
   "License"); you may not use this file except in compliance
   with the License.  You may obtain a copy of the License at
   
     http://www.apache.org/licenses/LICENSE-2.0
   
   Unless required by applicable law or agreed to in writing,
   software distributed under the License is distributed on an
   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
   -->
   <!-- Thanks for trying to help us make Druid Operator be the best it can be! 
Please fill out as much of the following information as is possible (where 
relevant, and remove it when irrelevant) to help make the intention and scope 
of this PR clear in order to ease review. -->
   
   Fixes #XXXX.
   
   <!-- Replace XXXX with the id of the issue fixed in this PR. Remove this 
section if there is no corresponding issue. Don't reference the issue in the 
title of this pull-request. -->
   
   ### Description
   
   <!-- Describe the goal of this PR and the problem you encoutered while 
managing Druid clusters. Something like, "I have a Druid cluster managed with 
this operator and wanted to change XX on the cluster to enable YY usecase that 
I needed due to ZZ requirement.". If there is a corresponding issue (referenced 
above), it's not necessary to repeat the description here, however, you may 
choose to keep one summary sentence. -->
   
   <!-- Describe the possible solutions and chosen one with the rationale. -->
   
   <!-- Describe key changes made in the patch. -->
   
   <hr>
   
   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.
   
   <hr>
   
   ##### Key changed/added files in this PR
    * `MyFoo`
    * `OurBar`
    * `TheirBaz`
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to