Closes: #399 - Migrate away from bitnami/elasticsearch - #445
Conversation
|
@monotek this is mostly a suggestion from Claude. Could you have a first look to see if this goes in the right direction? I need to do some manual testing. |
There was a problem hiding this comment.
Pull request overview
Migrates the Zammad Helm chart’s bundled Elasticsearch deployment from the Bitnami subchart to Elastic’s official ECK-based eck-elasticsearch chart, updating chart wiring, documentation, and CI to reflect the new operator-managed setup.
Changes:
- Replaced the
bitnami/elasticsearchdependency withelastic/eck-elasticsearch(breaking change; requires ECK operator + CRDs). - Updated Helm templates/helpers to derive Elasticsearch host/user/secret references for the ECK-managed service/credentials.
- Updated README upgrade notes and CI validation to install the operator and validate CRD-backed manifests.
Reviewed changes
Copilot reviewed 11 out of 11 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
zammad/values.yaml |
Replaced Bitnami Elasticsearch values with ECK Elasticsearch CR values and updated Elasticsearch config defaults/comments. |
zammad/templates/job-init.yaml |
Adjusted init job to source Elasticsearch password via helper-based secret key selection. |
zammad/templates/configmap-init.yaml |
Switched Elasticsearch URL/user composition to helper-based host/user resolution. |
zammad/templates/_helpers.tpl |
Added helpers for ECK host/user/secret name/key resolution used across templates. |
zammad/README.md |
Documented new ECK operator prerequisite and added upgrade notes for 16.x → 17.0.0. |
zammad/ci/full-values.yaml |
Removed now-irrelevant “existingSecret” config for bundled Elasticsearch in CI values. |
zammad/Chart.yaml |
Swapped chart dependency to eck-elasticsearch (aliased as elasticsearch) and bumped chart version to 17.0.0. |
.github/workflows/ci.yaml |
Installs ECK operator in CI before rendering/testing the chart. |
.github/kubeconform.sh |
Added CRD schema location to allow kubeconform validation of CRD-based kinds (ECK resources). |
.github/ct.yaml |
Added Elastic chart repo for chart-testing. |
.editorconfig |
Added shell indentation rules. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| {{- if .Values.zammadConfig.elasticsearch.enabled -}} | ||
| {{ .Release.Name }}-elasticsearch-es-elastic-user | ||
| {{- else if .Values.secrets.elasticsearch.useExisting -}} |
34fde4e to
646097f
Compare
| # Elasticsearch resource) from the datree CRDs catalog. | ||
| helm template "${CHART_DIR}" | kubeconform --strict --verbose \ | ||
| --schema-location default \ | ||
| --schema-location 'https://raw.githubusercontent.com/datreeio/CRDs-catalog/main/{{.Group}}/{{.ResourceKind}}_{{.ResourceAPIVersion}}.json' \ |
There was a problem hiding this comment.
We could also create the crd schema here by: https://github.com/yannh/kubeconform/blob/master/scripts/openapi2jsonschema.py
Or the newer: https://github.com/yannh/kubeconform/tree/master/openapi2jsonschema-go
Which issue this PR fixes
Special notes for your reviewer
Checklist