-
Notifications
You must be signed in to change notification settings - Fork 134
Prepare for OCI publishing of helm charts to docker hub #814
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,198 @@ | ||||||||||||||||||||||||||||||||||||||||||||||
| # | ||||||||||||||||||||||||||||||||||||||||||||||
| # 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. | ||||||||||||||||||||||||||||||||||||||||||||||
| # | ||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||
| name: Publish Helm Charts to OCI Registry | ||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||
| on: | ||||||||||||||||||||||||||||||||||||||||||||||
| workflow_dispatch: | ||||||||||||||||||||||||||||||||||||||||||||||
| inputs: | ||||||||||||||||||||||||||||||||||||||||||||||
| solr-operator-chart-url: | ||||||||||||||||||||||||||||||||||||||||||||||
| description: 'URL to solr-operator Helm chart tarball (e.g., https://dist.apache.org/repos/dist/release/solr/solr-operator/v0.10.0/helm-charts/solr-operator-0.10.0.tgz)' | ||||||||||||||||||||||||||||||||||||||||||||||
| required: true | ||||||||||||||||||||||||||||||||||||||||||||||
| type: string | ||||||||||||||||||||||||||||||||||||||||||||||
| solr-chart-url: | ||||||||||||||||||||||||||||||||||||||||||||||
| description: 'URL to solr Helm chart tarball (e.g., https://dist.apache.org/repos/dist/release/solr/solr-operator/v0.10.0/helm-charts/solr-0.10.0.tgz)' | ||||||||||||||||||||||||||||||||||||||||||||||
| required: true | ||||||||||||||||||||||||||||||||||||||||||||||
| type: string | ||||||||||||||||||||||||||||||||||||||||||||||
| dry-run: | ||||||||||||||||||||||||||||||||||||||||||||||
| description: 'Dry run - download and verify charts but do not push to OCI registry' | ||||||||||||||||||||||||||||||||||||||||||||||
| required: false | ||||||||||||||||||||||||||||||||||||||||||||||
| type: boolean | ||||||||||||||||||||||||||||||||||||||||||||||
| default: false | ||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||
| permissions: | ||||||||||||||||||||||||||||||||||||||||||||||
| contents: read | ||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||
| jobs: | ||||||||||||||||||||||||||||||||||||||||||||||
| publish-oci: | ||||||||||||||||||||||||||||||||||||||||||||||
| name: Publish Helm Charts to OCI Registry | ||||||||||||||||||||||||||||||||||||||||||||||
| runs-on: ubuntu-latest | ||||||||||||||||||||||||||||||||||||||||||||||
| steps: | ||||||||||||||||||||||||||||||||||||||||||||||
| - name: Install Helm | ||||||||||||||||||||||||||||||||||||||||||||||
| uses: azure/setup-helm@v4 | ||||||||||||||||||||||||||||||||||||||||||||||
| with: | ||||||||||||||||||||||||||||||||||||||||||||||
| version: 'latest' | ||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||
| - name: Login to Docker Hub | ||||||||||||||||||||||||||||||||||||||||||||||
| if: ${{ !inputs.dry-run }} | ||||||||||||||||||||||||||||||||||||||||||||||
| uses: docker/login-action@v3 | ||||||||||||||||||||||||||||||||||||||||||||||
| with: | ||||||||||||||||||||||||||||||||||||||||||||||
| username: ${{ secrets.DOCKERHUB_USER }} | ||||||||||||||||||||||||||||||||||||||||||||||
| password: ${{ secrets.DOCKERHUB_TOKEN }} | ||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||
| - name: Validate Input URLs | ||||||||||||||||||||||||||||||||||||||||||||||
| run: | | ||||||||||||||||||||||||||||||||||||||||||||||
| # Validate URLs are from expected Apache dist domain | ||||||||||||||||||||||||||||||||||||||||||||||
| if [[ ! "${{ inputs.solr-operator-chart-url }}" =~ ^https://dist\.apache\.org/repos/dist/(release|dev)/solr/ ]]; then | ||||||||||||||||||||||||||||||||||||||||||||||
| echo "Error: solr-operator-chart-url must be from dist.apache.org" | ||||||||||||||||||||||||||||||||||||||||||||||
| exit 1 | ||||||||||||||||||||||||||||||||||||||||||||||
| fi | ||||||||||||||||||||||||||||||||||||||||||||||
| if [[ ! "${{ inputs.solr-chart-url }}" =~ ^https://dist\.apache\.org/repos/dist/(release|dev)/solr/ ]]; then | ||||||||||||||||||||||||||||||||||||||||||||||
| echo "Error: solr-chart-url must be from dist.apache.org" | ||||||||||||||||||||||||||||||||||||||||||||||
| exit 1 | ||||||||||||||||||||||||||||||||||||||||||||||
| fi | ||||||||||||||||||||||||||||||||||||||||||||||
| echo "✓ URLs validated" | ||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||
| - name: Download Helm Charts | ||||||||||||||||||||||||||||||||||||||||||||||
| run: | | ||||||||||||||||||||||||||||||||||||||||||||||
| set -e | ||||||||||||||||||||||||||||||||||||||||||||||
| echo "Downloading solr-operator chart from: ${{ inputs.solr-operator-chart-url }}" | ||||||||||||||||||||||||||||||||||||||||||||||
| curl --fail --show-error --location --retry 3 --retry-delay 5 \ | ||||||||||||||||||||||||||||||||||||||||||||||
| -o solr-operator.tgz "${{ inputs.solr-operator-chart-url }}" | ||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||
| echo "Downloading solr chart from: ${{ inputs.solr-chart-url }}" | ||||||||||||||||||||||||||||||||||||||||||||||
| curl --fail --show-error --location --retry 3 --retry-delay 5 \ | ||||||||||||||||||||||||||||||||||||||||||||||
| -o solr.tgz "${{ inputs.solr-chart-url }}" | ||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||
| echo "Charts downloaded successfully:" | ||||||||||||||||||||||||||||||||||||||||||||||
| ls -lh *.tgz | ||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||
| # Verify they are valid tar files | ||||||||||||||||||||||||||||||||||||||||||||||
| echo "Verifying chart integrity..." | ||||||||||||||||||||||||||||||||||||||||||||||
| tar -tzf solr-operator.tgz > /dev/null | ||||||||||||||||||||||||||||||||||||||||||||||
| tar -tzf solr.tgz > /dev/null | ||||||||||||||||||||||||||||||||||||||||||||||
| echo "✓ Charts are valid tarballs" | ||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||
| - name: Download and Verify Checksums | ||||||||||||||||||||||||||||||||||||||||||||||
| run: | | ||||||||||||||||||||||||||||||||||||||||||||||
| set -e | ||||||||||||||||||||||||||||||||||||||||||||||
| echo "Downloading checksums..." | ||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||
| # Download SHA512 checksums | ||||||||||||||||||||||||||||||||||||||||||||||
| curl --fail --show-error --location --retry 3 --retry-delay 5 \ | ||||||||||||||||||||||||||||||||||||||||||||||
| -o solr-operator.tgz.sha512 "${{ inputs.solr-operator-chart-url }}.sha512" | ||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||
| curl --fail --show-error --location --retry 3 --retry-delay 5 \ | ||||||||||||||||||||||||||||||||||||||||||||||
| -o solr.tgz.sha512 "${{ inputs.solr-chart-url }}.sha512" | ||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||
| echo "Checksums downloaded:" | ||||||||||||||||||||||||||||||||||||||||||||||
| ls -lh *.sha512 | ||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||
| # Verify SHA512 checksums | ||||||||||||||||||||||||||||||||||||||||||||||
| echo "Verifying solr-operator chart checksum..." | ||||||||||||||||||||||||||||||||||||||||||||||
| sha512sum -c solr-operator.tgz.sha512 | ||||||||||||||||||||||||||||||||||||||||||||||
| echo "✓ solr-operator chart checksum verified" | ||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||
| echo "Verifying solr chart checksum..." | ||||||||||||||||||||||||||||||||||||||||||||||
| sha512sum -c solr.tgz.sha512 | ||||||||||||||||||||||||||||||||||||||||||||||
| echo "✓ solr chart checksum verified" | ||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||
| echo "" | ||||||||||||||||||||||||||||||||||||||||||||||
| echo "✅ All checksums verified successfully" | ||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||
| - name: Extract Chart Versions | ||||||||||||||||||||||||||||||||||||||||||||||
| id: versions | ||||||||||||||||||||||||||||||||||||||||||||||
| run: | | ||||||||||||||||||||||||||||||||||||||||||||||
| # Extract version from solr-operator chart | ||||||||||||||||||||||||||||||||||||||||||||||
| OPERATOR_VERSION=$(tar -xzOf solr-operator.tgz solr-operator/Chart.yaml | grep '^version:' | awk '{print $2}') | ||||||||||||||||||||||||||||||||||||||||||||||
| echo "operator-version=${OPERATOR_VERSION}" >> $GITHUB_OUTPUT | ||||||||||||||||||||||||||||||||||||||||||||||
| echo "Solr Operator Chart Version: ${OPERATOR_VERSION}" | ||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||
| # Extract version from solr chart | ||||||||||||||||||||||||||||||||||||||||||||||
| SOLR_VERSION=$(tar -xzOf solr.tgz solr/Chart.yaml | grep '^version:' | awk '{print $2}') | ||||||||||||||||||||||||||||||||||||||||||||||
| echo "solr-version=${SOLR_VERSION}" >> $GITHUB_OUTPUT | ||||||||||||||||||||||||||||||||||||||||||||||
| echo "Solr Chart Version: ${SOLR_VERSION}" | ||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||
| - name: Push solr-operator chart to OCI registry | ||||||||||||||||||||||||||||||||||||||||||||||
| if: ${{ !inputs.dry-run }} | ||||||||||||||||||||||||||||||||||||||||||||||
| run: | | ||||||||||||||||||||||||||||||||||||||||||||||
| echo "Pushing solr-operator chart (version ${{ steps.versions.outputs.operator-version }}) to oci://docker.io/apache/solr-operator-chart" | ||||||||||||||||||||||||||||||||||||||||||||||
| helm push solr-operator.tgz oci://docker.io/apache/solr-operator-chart | ||||||||||||||||||||||||||||||||||||||||||||||
| echo "✓ solr-operator chart pushed successfully" | ||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||
| - name: Push solr chart to OCI registry | ||||||||||||||||||||||||||||||||||||||||||||||
| if: ${{ !inputs.dry-run }} | ||||||||||||||||||||||||||||||||||||||||||||||
| run: | | ||||||||||||||||||||||||||||||||||||||||||||||
| echo "Pushing solr chart (version ${{ steps.versions.outputs.solr-version }}) to oci://docker.io/apache/solr-chart" | ||||||||||||||||||||||||||||||||||||||||||||||
| helm push solr.tgz oci://docker.io/apache/solr-chart | ||||||||||||||||||||||||||||||||||||||||||||||
|
Comment on lines
+133
to
+141
|
||||||||||||||||||||||||||||||||||||||||||||||
| echo "Pushing solr-operator chart (version ${{ steps.versions.outputs.operator-version }}) to oci://docker.io/apache/solr-operator-chart" | |
| helm push solr-operator.tgz oci://docker.io/apache/solr-operator-chart | |
| echo "✓ solr-operator chart pushed successfully" | |
| - name: Push solr chart to OCI registry | |
| if: ${{ !inputs.dry-run }} | |
| run: | | |
| echo "Pushing solr chart (version ${{ steps.versions.outputs.solr-version }}) to oci://docker.io/apache/solr-chart" | |
| helm push solr.tgz oci://docker.io/apache/solr-chart | |
| echo "Pushing solr-operator chart (version ${{ steps.versions.outputs.operator-version }}) to oci://docker.io/apache/solr-operator" | |
| helm push solr-operator.tgz oci://docker.io/apache/solr-operator | |
| echo "✓ solr-operator chart pushed successfully" | |
| - name: Push solr chart to OCI registry | |
| if: ${{ !inputs.dry-run }} | |
| run: | | |
| echo "Pushing solr chart (version ${{ steps.versions.outputs.solr-version }}) to oci://docker.io/apache/solr" | |
| helm push solr.tgz oci://docker.io/apache/solr |
Copilot
AI
Jan 27, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The OCI registry path in the echo statement is incorrect. Based on the chart name in Chart.yaml, the correct path should be:
oci://docker.io/apache/solr
The chart name comes from Chart.yaml and cannot be overridden with a different path suffix.
| echo "Pushing solr chart (version ${{ steps.versions.outputs.solr-version }}) to oci://docker.io/apache/solr-chart" | |
| helm push solr.tgz oci://docker.io/apache/solr-chart | |
| echo "Pushing solr chart (version ${{ steps.versions.outputs.solr-version }}) to oci://docker.io/apache/solr" | |
| helm push solr.tgz oci://docker.io/apache/solr |
Copilot
AI
Jan 27, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The OCI registry path in the helm push command is incorrect. When using helm push with OCI registries, the chart name comes from the Chart.yaml file, not from the path. Since the chart is named "solr" in helm/solr/Chart.yaml, this command should be:
helm push solr.tgz oci://docker.io/apache
This will make the chart available at oci://docker.io/apache/solr, not oci://docker.io/apache/solr-chart. All references throughout the PR (in documentation and this workflow) should use oci://docker.io/apache/solr instead of oci://docker.io/apache/solr-chart. If you want the -chart suffix, you would need to rename the chart in Chart.yaml.
Copilot
AI
Jan 27, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The OCI registry path in the helm pull command is incorrect. Based on the chart name in Chart.yaml, this should be:
helm pull oci://docker.io/apache/solr-operator --version ${{ steps.versions.outputs.operator-version }}
This matches the actual location where the chart will be published when pushed with helm (see comment on line 134).
| helm pull oci://docker.io/apache/solr-operator-chart --version ${{ steps.versions.outputs.operator-version }} | |
| helm pull oci://docker.io/apache/solr-operator --version ${{ steps.versions.outputs.operator-version }} |
Copilot
AI
Jan 27, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The OCI registry path in the helm pull command is incorrect. Based on the chart name in Chart.yaml, this should be:
helm pull oci://docker.io/apache/solr --version ${{ steps.versions.outputs.solr-version }}
This matches the actual location where the chart will be published when pushed with helm (see comment on line 141).
Copilot
AI
Jan 27, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The OCI registry paths in the summary are incorrect. Based on the chart names in Chart.yaml files, the correct paths should be:
oci://docker.io/apache/solr-operator(not solr-operator-chart)oci://docker.io/apache/solr(not solr-chart)
The chart names come from Chart.yaml and cannot be overridden with a different path suffix when using helm push.
| Original file line number | Diff line number | Diff line change | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -54,8 +54,12 @@ Join us on the [#solr-operator](https://kubernetes.slack.com/messages/solr-opera | |||||||||
| Please visit the following pages for documentation on using and developing the Solr Operator: | ||||||||||
|
|
||||||||||
| - [Local Tutorial](https://apache.github.io/solr-operator/docs/local_tutorial) | ||||||||||
| - [Helm Instructions via Artifact Hub](https://artifacthub.io/packages/helm/apache-solr/solr-operator) | ||||||||||
| - The released helm charts and their instructions should be used for all safe and stable deployments. | ||||||||||
| - **Helm Chart Installation** | ||||||||||
| - The Helm charts are available via OCI registry (recommended): | ||||||||||
| - **Solr Operator**: `helm install solr-operator oci://docker.io/apache/solr-operator-chart --version <VERSION>` | ||||||||||
| - **Solr Cloud**: `helm install solr oci://docker.io/apache/solr-chart --version <VERSION>` | ||||||||||
|
Comment on lines
+59
to
+60
|
||||||||||
| - **Solr Operator**: `helm install solr-operator oci://docker.io/apache/solr-operator-chart --version <VERSION>` | |
| - **Solr Cloud**: `helm install solr oci://docker.io/apache/solr-chart --version <VERSION>` | |
| - **Solr Operator**: `helm install solr-operator oci://docker.io/apache/solr-operator --version <VERSION>` | |
| - **Solr Cloud**: `helm install solr oci://docker.io/apache/solr --version <VERSION>` |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -1108,6 +1108,53 @@ groups: | |
| cmd: ./hack/release/upload/upload_helm.sh -g "{{ gpg_key | default("<gpg_key_id>", True) }}" -a "{{ gpg.apache_id | default("<apache_id>", True) }}" -c "{{ official_helm_charts_url }}" -r "{{ dist_release_url }}" | ||
| logfile: upload_helm.log | ||
| tee: true | ||
| - !Todo | ||
| id: publish_helm_charts_oci | ||
| title: Publish Helm charts to OCI registry (Docker Hub) | ||
| depends: publish_helm_charts | ||
| vars: | ||
| dist_release_url: https://dist.apache.org/repos/dist/release/solr/solr-operator/{{ release_version }} | ||
| solr_operator_chart_url: '{{ dist_release_url }}/helm-charts/solr-operator-{{ release_version[1:] }}.tgz' | ||
| solr_chart_url: '{{ dist_release_url }}/helm-charts/solr-{{ release_version[1:] }}.tgz' | ||
| workflow_url: https://github.com/apache/solr-operator/actions/workflows/publish-helm-oci.yaml | ||
| description: | | ||
| Publish the Helm charts to OCI registries on Docker Hub using the GitHub Actions workflow. | ||
|
|
||
| This task publishes the voted Helm charts to OCI registries, making them available via: | ||
| - oci://docker.io/apache/solr-operator-chart | ||
| - oci://docker.io/apache/solr-chart | ||
|
Comment on lines
+1124
to
+1125
|
||
|
|
||
| Steps to publish: | ||
| 1. Navigate to the GitHub Actions workflow: | ||
| {{ workflow_url }} | ||
|
|
||
| 2. Click the "Run workflow" button on the right side | ||
|
|
||
| 3. Fill in the workflow inputs: | ||
| - solr-operator-chart-url: {{ solr_operator_chart_url }} | ||
| - solr-chart-url: {{ solr_chart_url }} | ||
| - dry-run: false (set to true for validation without publishing) | ||
|
|
||
| 4. Optional: Run with dry-run=true first to verify: | ||
| - URLs are valid and accessible | ||
| - Charts download successfully | ||
| - SHA512 checksums match | ||
| - Chart versions are correct | ||
|
|
||
| 5. Click "Run workflow" to start the job | ||
|
|
||
| 6. Monitor the workflow execution for any errors | ||
|
|
||
| 7. Verify successful completion by checking that both charts are accessible: | ||
| helm pull oci://docker.io/apache/solr-operator-chart --version {{ release_version[1:] }} | ||
| helm pull oci://docker.io/apache/solr-chart --version {{ release_version[1:] }} | ||
|
Comment on lines
+1149
to
+1150
|
||
|
|
||
| Note: The workflow uses repository secrets DOCKERHUB_USER and DOCKERHUB_TOKEN for authentication. | ||
| The workflow automatically verifies SHA512 checksums before publishing. | ||
| links: | ||
| - '{{ workflow_url }}' | ||
| - '{{ solr_operator_chart_url }}' | ||
| - '{{ solr_chart_url }}' | ||
| - !Todo | ||
| id: publish_crds | ||
| title: Publish the staged CRDs | ||
|
|
@@ -1167,11 +1214,14 @@ groups: | |
| depends: | ||
| - publish_docker_image | ||
| - publish_helm_charts | ||
| - publish_helm_charts_oci | ||
| description: | | ||
| Check to make sure that ArtifactHub has successfully loaded the {{ release_version }} version of the Solr Operator and Solr Helm Charts. | ||
| Mark this as complete when you have confirmed all aspects of the chart in artifactHub. | ||
|
|
||
| The ChangeLog is very finicky, so make sure that it renders correctly. | ||
|
|
||
| Also verify that the OCI registry information is correctly displayed on ArtifactHub. | ||
| links: | ||
| - https://artifacthub.io/packages/helm/apache-solr/solr-operator | ||
| - https://artifacthub.io/packages/helm/apache-solr/solr | ||
|
|
||
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -31,19 +31,34 @@ If you do not wish to use the Zookeeper Operator, set: | |||||
| - `zookeeper-operator.use: false` | ||||||
|
|
||||||
|
|
||||||
| ### Adding the Solr Operator Helm Chart Repository | ||||||
| You should only need to add the solr operator helm chart repository once, by running the following command: | ||||||
| ### Installing the Chart | ||||||
|
|
||||||
| The Solr Operator Helm chart can be installed using either the OCI registry (recommended) or the traditional HTTPS repository. | ||||||
|
|
||||||
| #### Installation via OCI Registry (Recommended) | ||||||
|
|
||||||
| The Helm chart is available directly from Docker Hub as an OCI artifact, which provides a more reliable distribution mechanism and doesn't require adding a repository. | ||||||
|
|
||||||
| ```bash | ||||||
| helm repo add apache-solr https://solr.apache.org/charts | ||||||
| # Install CRDs first | ||||||
| kubectl create -f https://solr.apache.org/operator/downloads/crds/v0.10.0-prerelease/all-with-dependencies.yaml | ||||||
|
|
||||||
| # Install the Solr Operator from OCI registry | ||||||
| helm install solr-operator oci://docker.io/apache/solr-operator-chart --version 0.10.0-prerelease | ||||||
|
||||||
| helm install solr-operator oci://docker.io/apache/solr-operator-chart --version 0.10.0-prerelease | |
| helm install solr-operator oci://docker.io/apache/solr-operator --version 0.10.0-prerelease |
Copilot
AI
Jan 27, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The OCI registry path is incorrect. Based on the chart name "solr-operator" in helm/solr-operator/Chart.yaml, the correct path should be:
helm upgrade solr-operator oci://docker.io/apache/solr-operator --version 0.10.0-prerelease
The chart name comes from Chart.yaml and cannot be overridden with a different path suffix.
Copilot
AI
Jan 27, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The OCI registry path is incorrect. Based on the chart name "solr-operator" in helm/solr-operator/Chart.yaml, the correct path should be:
helm install solr-operator oci://docker.io/apache/solr-operator --version 0.10.0-prerelease --namespace solr
The chart name comes from Chart.yaml and cannot be overridden with a different path suffix.
Copilot
AI
Jan 27, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The OCI registry path is incorrect. Based on the chart name "solr-operator" in helm/solr-operator/Chart.yaml, the correct path should be:
helm install solr-operator oci://docker.io/apache/solr-operator --version 0.10.0-prerelease --namespace solr --set watchNamespaces=true
The chart name comes from Chart.yaml and cannot be overridden with a different path suffix.
Copilot
AI
Jan 27, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The OCI registry path is incorrect. Based on the chart name "solr-operator" in helm/solr-operator/Chart.yaml, the correct path should be:
helm install solr-operator oci://docker.io/apache/solr-operator --version 0.10.0-prerelease --namespace solr --set watchNamespaces=other
The chart name comes from Chart.yaml and cannot be overridden with a different path suffix.
Copilot
AI
Jan 27, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The OCI registry path is incorrect. Based on the chart name "solr-operator" in helm/solr-operator/Chart.yaml, the correct path should be:
helm install solr-operator oci://docker.io/apache/solr-operator --version 0.10.0-prerelease --namespace solr --set watchNamespaces="team1\,team2\,team3"
The chart name comes from Chart.yaml and cannot be overridden with a different path suffix.
Copilot
AI
Jan 27, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The OCI registry path is incorrect. Based on the chart name "solr-operator" in helm/solr-operator/Chart.yaml, the correct path should be:
helm install solr-operator oci://docker.io/apache/solr-operator --version 0.10.0-prerelease --skip-crds --namespace solr
The chart name comes from Chart.yaml and cannot be overridden with a different path suffix.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The OCI registry path in the helm push command is incorrect. When using helm push with OCI registries, the chart name comes from the Chart.yaml file, not from the path. Since the chart is named "solr-operator" in helm/solr-operator/Chart.yaml, this command should be:
helm push solr-operator.tgz oci://docker.io/apacheThis will make the chart available at
oci://docker.io/apache/solr-operator, notoci://docker.io/apache/solr-operator-chart. All references throughout the PR (in documentation and this workflow) should useoci://docker.io/apache/solr-operatorinstead ofoci://docker.io/apache/solr-operator-chart. If you want the-chartsuffix, you would need to rename the chart in Chart.yaml.