Skip to content

Remove eck-operator hard dependency for non-ES storage backends#181

Merged
wu-sheng merged 5 commits intomasterfrom
fix-eck-operator-conditional-dependency
Mar 30, 2026
Merged

Remove eck-operator hard dependency for non-ES storage backends#181
wu-sheng merged 5 commits intomasterfrom
fix-eck-operator-conditional-dependency

Conversation

@wu-sheng
Copy link
Copy Markdown
Member

@wu-sheng wu-sheng commented Mar 30, 2026

Summary

  • Removed the standalone eckOperator.enabled flag. The eck-operator chart dependency now shares the elasticsearch.enabled condition, so it is only deployed when Elasticsearch is in use.
  • BanyanDB and PostgreSQL users no longer need to explicitly disable the ECK operator — setting elasticsearch.enabled=false is sufficient.
  • Pinned docker/login-action to the Apache-approved SHA (v4.0.0) in CI workflows.
  • Updated the ES e2e test to pre-install ECK CRDs separately (required because Helm validates CRs against the API server before applying).

Test plan

  • helm template with elasticsearch.enabled=false produces zero eck-operator resources
  • helm template with elasticsearch.enabled=true includes eck-operator resources
  • ES e2e test passes with CRD pre-install + eck-operator.installCRDs=false
  • BanyanDB e2e tests pass without any ECK references

The eck-operator was always installed regardless of the chosen storage
backend because it had an independent `eckOperator.enabled` condition
that defaulted to true. This change removes the standalone flag and
ties the operator's condition to `elasticsearch.enabled`, so it is
only deployed when Elasticsearch is actually in use.
Apache enforces an allow list for third-party GitHub Actions. Pin
docker/login-action to the approved v4.0.0 SHA in both e2e and
publish workflows.
The ECK operator deploys CRDs via templates (not the crds/ folder),
so a single helm install fails because the Elasticsearch CR is
submitted before the CRD exists. Restore the separate ECK operator
install step and use eck-operator subchart values to skip its
duplicate deployment in the main chart install.
Install only the eck-operator-crds subchart first to register the
Elasticsearch CRD, then install the full SkyWalking chart (including
the ECK operator) with installCRDs=false to avoid duplicate CRDs.
This avoids both the CRD-not-found error and the Helm release
ownership conflict.
The ECK Elasticsearch CRDs must exist before helm install because
Helm validates custom resources against the API server. Update docs
with the CRD pre-install step and rename e2e step back to
Install ECK operator.
@wu-sheng wu-sheng changed the title Tie eck-operator dependency to elasticsearch.enabled Remove eck-operator hard dependency for non-ES storage backends Mar 30, 2026
@wu-sheng wu-sheng requested a review from kezhenxu94 March 30, 2026 08:43
@wu-sheng wu-sheng added this to the 4.9.0 milestone Mar 30, 2026
@wu-sheng wu-sheng added the enhancement New feature or request label Mar 30, 2026
@wu-sheng wu-sheng merged commit 158f116 into master Mar 30, 2026
9 checks passed
@wu-sheng wu-sheng deleted the fix-eck-operator-conditional-dependency branch March 30, 2026 08:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants