Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/e2e.ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ jobs:
steps:
- uses: actions/checkout@v2
- name: Login to ghcr
uses: docker/login-action@v1
uses: docker/login-action@b45d80f862d83dbcd57f89517bcf500b2ab88fb2 # v4.0.0
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/publish-helm.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ jobs:
steps:
- uses: actions/checkout@v3
- name: Log in to the Container registry
uses: docker/login-action@v1.10.0
uses: docker/login-action@b45d80f862d83dbcd57f89517bcf500b2ab88fb2 # v4.0.0
with:
registry: ${{ env.HUB }}
username: ${{ github.actor }}
Expand Down
10 changes: 7 additions & 3 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ test/e2e/ # E2E test configs (skywalking-infra-e2e format)
## Chart Dependencies

Defined in `chart/skywalking/Chart.yaml`:
- **eck-operator** (3.3.1) — ECK operator, condition: `eckOperator.enabled`
- **eck-operator** (3.3.1) — ECK operator, condition: `elasticsearch.enabled`
- **eck-elasticsearch** (0.18.1, alias: `elasticsearch`) — ECK-managed ES, condition: `elasticsearch.enabled`
- **postgresql** (12.1.2) — Bitnami PostgreSQL, condition: `postgresql.enabled`
- **skywalking-banyandb-helm** (alias: `banyandb`) — BanyanDB, condition: `banyandb.enabled`
Expand Down Expand Up @@ -74,8 +74,7 @@ helm template test chart/skywalking \
--set oap.image.tag=10.3.0 \
--set oap.storageType=elasticsearch \
--set ui.image.tag=10.3.0 \
--set elasticsearch.enabled=false \
--set eckOperator.enabled=false
--set elasticsearch.enabled=false

# Package chart
make package
Expand Down Expand Up @@ -104,6 +103,11 @@ When modifying chart configuration, update all of:
4. `chart/skywalking/values-my-es.yaml` — external ES example (if ES-related)
5. `test/e2e/values.yaml` — test overrides (if defaults change)

## GitHub Actions Allow List

Apache enforces an allow list for third-party GitHub Actions. All third-party actions must be pinned to an approved SHA from:
https://github.com/apache/infrastructure-actions/blob/main/approved_patterns.yml

## Git Workflow

- **Do not push directly to master.** Always create a feature branch and open a PR.
Expand Down
23 changes: 14 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,6 @@ helm install "${SKYWALKING_RELEASE_NAME}" \
--set oap.image.tag=10.3.0 \
--set oap.storageType=banyandb \
--set ui.image.tag=10.3.0 \
--set eckOperator.enabled=false \
--set elasticsearch.enabled=false \
--set banyandb.enabled=true \
--set banyandb.image.tag=0.9.0
Expand Down Expand Up @@ -136,19 +135,25 @@ here are some examples.
helm install "${SKYWALKING_RELEASE_NAME}" ${REPO}/skywalking -n "${SKYWALKING_RELEASE_NAMESPACE}" \
--set oap.image.tag=10.3.0 \
--set oap.storageType=elasticsearch \
--set ui.image.tag=10.3.0
--set ui.image.tag=10.3.0 \
--set eck-operator.installCRDs=false
```

Elasticsearch is deployed via [ECK (Elastic Cloud on Kubernetes)](https://github.com/elastic/cloud-on-k8s).
When `elasticsearch.enabled=true` (the default), the chart deploys both the ECK operator and an Elasticsearch 8.18.8 cluster.
Because Elasticsearch CRDs must exist before the chart can be installed, you need to install them first:

```shell
helm dep up chart/skywalking
tar xzf chart/skywalking/charts/eck-operator-3.3.1.tgz -C /tmp eck-operator/charts/eck-operator-crds
helm install eck-crds /tmp/eck-operator/charts/eck-operator-crds -n "${SKYWALKING_RELEASE_NAMESPACE}" --create-namespace
```

Elasticsearch is now deployed via [ECK (Elastic Cloud on Kubernetes)](https://github.com/elastic/cloud-on-k8s).
By default, the chart deploys the ECK operator and an Elasticsearch 8.18.8 cluster.
If you already have the ECK operator installed, set `eckOperator.enabled=false`.
Then install the chart with `--set eck-operator.installCRDs=false` to avoid duplicating the CRDs.

To use an existing external Elasticsearch instead, disable the embedded deployment:
To use an existing external Elasticsearch instead, disable the embedded deployment (no CRD pre-install needed):

```yaml
eckOperator:
enabled: false

elasticsearch:
enabled: false
config:
Expand Down
2 changes: 1 addition & 1 deletion chart/skywalking/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ dependencies:
- name: eck-operator
version: 3.3.1
repository: https://helm.elastic.co/
condition: eckOperator.enabled
condition: elasticsearch.enabled
- name: eck-elasticsearch
alias: elasticsearch
version: 0.18.1
Expand Down
6 changes: 3 additions & 3 deletions chart/skywalking/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -118,14 +118,14 @@ The following table lists the configurable parameters of the Skywalking chart an
### Elasticsearch (ECK)

Elasticsearch is deployed via [ECK (Elastic Cloud on Kubernetes)](https://github.com/elastic/cloud-on-k8s).
The chart includes the ECK operator and an `eck-elasticsearch` subchart. Set `eckOperator.enabled=false` if the ECK operator is already installed in your cluster.
The chart includes the ECK operator and an `eck-elasticsearch` subchart, both controlled by `elasticsearch.enabled`.
Because Elasticsearch CRDs must exist before the ES custom resource can be created, the ECK operator CRDs need to be installed separately before deploying the chart. See the main [README](../../README.md) for installation steps.

#### Top-level parameters

| Parameter | Description | Default |
|---|---|---|
| `eckOperator.enabled` | Deploy the ECK operator | `true` |
| `elasticsearch.enabled` | Deploy an ECK-managed Elasticsearch cluster | `true` |
| `elasticsearch.enabled` | Deploy the ECK operator and an ECK-managed Elasticsearch cluster | `true` |
| `elasticsearch.version` | Elasticsearch version to deploy | `8.18.8` |
| `elasticsearch.fullnameOverride` | Override the Elasticsearch resource name. The ECK service will be `{name}-es-http` | `""` |
| `elasticsearch.labels` | Labels applied to the Elasticsearch resource | `{}` |
Expand Down
3 changes: 0 additions & 3 deletions chart/skywalking/values-my-es.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,6 @@ ui:
image:
tag: 10.0.0

eckOperator:
enabled: false

elasticsearch:
enabled: false
config: # For users of an existing elasticsearch cluster, takes effect when `elasticsearch.enabled` is false
Expand Down
6 changes: 1 addition & 5 deletions chart/skywalking/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -194,12 +194,8 @@ oapInit:
extraPodLabels: {}
# sidecar.istio.io/inject: false

# ECK Operator settings
# Set eckOperator.enabled to false if the ECK operator is already installed in your cluster
eckOperator:
enabled: true

# Elasticsearch managed by ECK (eck-elasticsearch chart)
# When enabled, the ECK operator is also installed as a dependency.
# ref: https://github.com/elastic/cloud-on-k8s
elasticsearch:
enabled: true
Expand Down
6 changes: 3 additions & 3 deletions test/e2e/e2e-elasticsearch.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -43,14 +43,14 @@ setup:
- name: Install ECK operator
command: |
helm dep up chart/skywalking
helm -n istio-system install eck-operator chart/skywalking/charts/eck-operator-3.3.1.tgz \
tar xzf chart/skywalking/charts/eck-operator-3.3.1.tgz -C /tmp eck-operator/charts/eck-operator-crds
helm -n istio-system install eck-crds /tmp/eck-operator/charts/eck-operator-crds \
--create-namespace
kubectl -n istio-system rollout status --watch --timeout=120s statefulset/elastic-operator
- name: Install SkyWalking
command: |
helm -n istio-system install skywalking chart/skywalking \
--set fullnameOverride=skywalking \
--set eckOperator.enabled=false \
--set eck-operator.installCRDs=false \
--set oap.env.SW_ENVOY_METRIC_ALS_HTTP_ANALYSIS=k8s-mesh \
--set oap.env.SW_ENVOY_METRIC_ALS_TCP_ANALYSIS=k8s-mesh \
--set oap.env.K8S_SERVICE_NAME_RULE='e2e::${service.metadata.name}' \
Expand Down
Loading