Tags: opensearch-project/opensearch-k8s-operator
Tags
Refactor opensearch-cluster helm chart (#754) ### Description We found that the current `opensearch-cluster` helm chart supports only `OpenSearchCluster` configuration, also configuration itself is very limited because not all possible options were defined in the template. For our needs, we have decided to improve this helm chart and think that our changes could be useful for the community. The main differences in the new helm chart: - Supports all existing CRDs - Includes auto-generated README.md file with description for all possible configuration values - Includes `Ingress` configuration for `Opensearch` and `Dashboards` - Values.yaml has examples of operator-specific configurations, making it easier for users to understand what to set - Easy to maintain and extend We were trying to build this chart by following the next logic. We didn't try to template all possible configurations for CRDs, instead, we relied on official parameters supported by specific sections of the CRD, e.g. Instead of doing this: ```yaml {{- if .Values.opensearchCluster.bootstrap }} bootstrap: {{- if .Values.opensearchCluster.bootstrap.additionalConfig }} additionalConfig: {{ toYaml .Values.opensearchCluster.bootstrap.additionalConfig | nindent 6 }} {{- end }} {{- end }} {{- if .Values.opensearchCluster.initHelper }} ``` We did: ```yaml {{- with .Values.cluster.bootstrap }} bootstrap: {{ . | toYaml | nindent 4 }} {{- end }} ``` And defined all possible configuration options inside the `.Values.cluster.bootstrap`. Pros of such logic: - it helps simplify the maintenance of the chart, when a new config option is added you just need to add its default value to `values.yaml` file. And even if for some reason it wasn't added, users still could use it; - all existing and new configuration options will be available for users; - configuration options have the same format and naming as it is defined in the operator doc, so users will be not confused by different naming in helm and off doc. - it allows to automatically check all defined options, so when users make a typo or put invalid configuration they will receive an error during deployment, helping them to understand what they did wrong. If you apply it, I could help with maintaining this helm chart by fixing bugs, adding new features, etc. ### Issues Resolved Closes #699 Closes #9 Closes #855 Closes #866 Closes #902 Closes #667 Closes #904 By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. For more information on following Developer Certificate of Origin and signing off your commits, please check [here](https://github.com/opensearch-project/OpenSearch/blob/main/CONTRIBUTING.md#developer-certificate-of-origin). --------- Signed-off-by: Yevhenii Tiutiunnyk <[email protected]>
Prepare for 2.7.0 release (#892) ### Description Prepare for 2.7.0 release ### Issues Resolved Part of #891 ### Check List - [ ] Commits are signed per the DCO using --signoff - [ ] Unittest added for the new/changed functionality and all unit tests are successful - [ ] Customer-visible features documented - [ ] No linter warnings (`make lint`) If CRDs are changed: - [ ] CRD YAMLs updated (`make manifests`) and also copied into the helm chart - [ ] Changes to CRDs documented Please refer to the [PR guidelines](https://github.com/opensearch-project/opensearch-k8s-operator/blob/main/docs/developing.md#submitting-a-pr) before submitting this pull request. By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. For more information on following Developer Certificate of Origin and signing off your commits, please check [here](https://github.com/opensearch-project/OpenSearch/blob/main/CONTRIBUTING.md#developer-certificate-of-origin). Signed-off-by: Prudhvi Godithi <[email protected]>
Helm and Operator Release Improvements (#890) ### Description Coming from initial PR #872. Fix the error https://github.com/opensearch-project/opensearch-k8s-operator/actions/runs/11685891300/job/32540910915 ``` Looking up latest tag... Discovering changed charts since 'v2.6.0'... WARNING: charts/opensearch-cluster/templates/Chart.yaml is missing, assuming that 'charts/opensearch-cluster/templates' is not a Helm chart. Skipping. Nothing to do. No chart changes detected. ``` Since moving from `stefanprodan/helm-gh-pages@master` to `helm/[email protected]` added `fetch-depth` and `skip_existing`. The `skip_existing` should not throw an error if the chart with same `version` is already added to the `gh-pages` branch `index.yaml` file. #### Here are some tests done on my fork ##### Release Helm Charts workflow https://github.com/prudhvigodithi/opensearch-k8s-operator/actions/workflows/helm-release.yaml ##### Publish Release from tag workflow https://github.com/prudhvigodithi/opensearch-k8s-operator/actions/runs/11687219955 ### Issues Resolved Coming from #830 ### Check List - [ ] Commits are signed per the DCO using --signoff - [ ] Unittest added for the new/changed functionality and all unit tests are successful - [ ] Customer-visible features documented - [ ] No linter warnings (`make lint`) If CRDs are changed: - [ ] CRD YAMLs updated (`make manifests`) and also copied into the helm chart - [ ] Changes to CRDs documented Please refer to the [PR guidelines](https://github.com/opensearch-project/opensearch-k8s-operator/blob/main/docs/developing.md#submitting-a-pr) before submitting this pull request. By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. For more information on following Developer Certificate of Origin and signing off your commits, please check [here](https://github.com/opensearch-project/OpenSearch/blob/main/CONTRIBUTING.md#developer-certificate-of-origin). Signed-off-by: Prudhvi Godithi <[email protected]>
Prepare for 2.7.0 release (#892) ### Description Prepare for 2.7.0 release ### Issues Resolved Part of #891 ### Check List - [ ] Commits are signed per the DCO using --signoff - [ ] Unittest added for the new/changed functionality and all unit tests are successful - [ ] Customer-visible features documented - [ ] No linter warnings (`make lint`) If CRDs are changed: - [ ] CRD YAMLs updated (`make manifests`) and also copied into the helm chart - [ ] Changes to CRDs documented Please refer to the [PR guidelines](https://github.com/opensearch-project/opensearch-k8s-operator/blob/main/docs/developing.md#submitting-a-pr) before submitting this pull request. By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. For more information on following Developer Certificate of Origin and signing off your commits, please check [here](https://github.com/opensearch-project/OpenSearch/blob/main/CONTRIBUTING.md#developer-certificate-of-origin). Signed-off-by: Prudhvi Godithi <[email protected]>
Helm and Operator Release Improvements (#890) ### Description Coming from initial PR #872. Fix the error https://github.com/opensearch-project/opensearch-k8s-operator/actions/runs/11685891300/job/32540910915 ``` Looking up latest tag... Discovering changed charts since 'v2.6.0'... WARNING: charts/opensearch-cluster/templates/Chart.yaml is missing, assuming that 'charts/opensearch-cluster/templates' is not a Helm chart. Skipping. Nothing to do. No chart changes detected. ``` Since moving from `stefanprodan/helm-gh-pages@master` to `helm/[email protected]` added `fetch-depth` and `skip_existing`. The `skip_existing` should not throw an error if the chart with same `version` is already added to the `gh-pages` branch `index.yaml` file. #### Here are some tests done on my fork ##### Release Helm Charts workflow https://github.com/prudhvigodithi/opensearch-k8s-operator/actions/workflows/helm-release.yaml ##### Publish Release from tag workflow https://github.com/prudhvigodithi/opensearch-k8s-operator/actions/runs/11687219955 ### Issues Resolved Coming from #830 ### Check List - [ ] Commits are signed per the DCO using --signoff - [ ] Unittest added for the new/changed functionality and all unit tests are successful - [ ] Customer-visible features documented - [ ] No linter warnings (`make lint`) If CRDs are changed: - [ ] CRD YAMLs updated (`make manifests`) and also copied into the helm chart - [ ] Changes to CRDs documented Please refer to the [PR guidelines](https://github.com/opensearch-project/opensearch-k8s-operator/blob/main/docs/developing.md#submitting-a-pr) before submitting this pull request. By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. For more information on following Developer Certificate of Origin and signing off your commits, please check [here](https://github.com/opensearch-project/OpenSearch/blob/main/CONTRIBUTING.md#developer-certificate-of-origin). Signed-off-by: Prudhvi Godithi <[email protected]>
PreviousNext