Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
a868432
feat(helm): add optional SeaTunnel engine
Oct 23, 2026
f60ad3e
docs(helm): record SeaTunnel runtime checks
Oct 23, 2026
0e96f10
fix(helm): exclude generated dependency lock from license headers
Oct 23, 2026
6a8a130
docs(helm): record authenticated HStore integration tests
Oct 23, 2026
9fc87e2
refactor(helm): reuse native SeaTunnel hybrid deployment
Oct 23, 2026
b816dae
test(helm): bound SeaTunnel Helm subprocesses
imbajin Oct 23, 2026
fc960bd
fix(helm): bind SeaTunnel DNS discovery to member port
Oct 23, 2026
be55d18
docs(helm): record native hybrid clone and UI validation
Oct 23, 2026
9f9699e
feat(helm): secure SeaTunnel integration
Oct 23, 2026
e570c41
Merge remote-tracking branch 'origin/master' into feat/helm-seatunnel
Oct 23, 2026
301dd72
fix(helm): preserve legacy values without SeaTunnel
imbajin Oct 23, 2026
051d1fe
docs(helm): remove one-off SeaTunnel validation receipts
Oct 23, 2026
8fde247
fix(helm): retain legacy values compatibility
Oct 23, 2026
4dab49e
Merge remote-tracking branch 'origin/feat/helm-seatunnel' into feat/h…
Oct 23, 2026
6a1ed2a
fix(helm): guard graph clone examples
Oct 25, 2026
27d0882
Merge remote-tracking branch 'origin/master' into feat/helm-seatunnel
Oct 25, 2026
e79c97b
fix(helm): secure native SeaTunnel members
Oct 25, 2026
0051b78
fix(helm): secure native SeaTunnel members
imbajin Oct 25, 2026
d7363c1
fix(helm): retain SeaTunnel JVM defaults
Oct 25, 2026
cfe3edd
Merge commit '0051b78a074da08e1abe59f8add4cc7d6f722576' into review/s…
Oct 25, 2026
69762c4
Merge remote-tracking branch 'origin/master' into review/server333-20…
Oct 25, 2026
806064d
fix(helm): keep failed schema copies isolated
imbajin Oct 25, 2026
e99bd36
Merge branch 'master' into feat/helm-seatunnel
imbajin Oct 27, 2026
5c812d9
Merge branch 'master' into feat/helm-seatunnel
imbajin Oct 27, 2026
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
12 changes: 10 additions & 2 deletions .github/actions/helm-checks/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,11 +38,17 @@ runs:
helm lint helm/hugegraph -f helm/hugegraph/values-single.yaml
helm lint helm/hugegraph -f helm/hugegraph/values-cluster.yaml
helm lint helm/hugegraph -f helm/hugegraph/values-strict.yaml
helm lint helm/hugegraph -f helm/hugegraph/examples/values-seatunnel-standalone.yaml
helm lint helm/hugegraph -f helm/hugegraph/examples/values-seatunnel-cluster.yaml

- name: packaged chart regression
shell: 'bash -e {0}'
run: python3 -m unittest discover -s helm -p 'test_helm_package.py' -v

- name: SeaTunnel integration regression
shell: 'bash -e {0}'
run: python3 -m unittest discover -s helm -p 'test_helm_seatunnel.py' -v

- name: helm unittest
shell: 'bash -e {0}'
run: |
Expand All @@ -56,7 +62,8 @@ runs:
- name: helm template
shell: 'bash -e {0}'
run: |
for preset in "" "-f helm/hugegraph/values-single.yaml" "-f helm/hugegraph/values-cluster.yaml" "-f helm/hugegraph/values-strict.yaml"; do
for preset in "" "-f helm/hugegraph/values-single.yaml" "-f helm/hugegraph/values-cluster.yaml" "-f helm/hugegraph/values-strict.yaml" \
"-f helm/hugegraph/examples/values-seatunnel-standalone.yaml" "-f helm/hugegraph/examples/values-seatunnel-cluster.yaml"; do
# shellcheck disable=SC2086 # $preset intentionally splits into flags
helm template ci helm/hugegraph $preset > /dev/null
done
Expand Down Expand Up @@ -493,7 +500,8 @@ runs:
curl -sSLo /tmp/kc.tar.gz https://github.com/yannh/kubeconform/releases/download/v0.6.7/kubeconform-linux-amd64.tar.gz
echo "95f14e87aa28c09d5941f11bd024c1d02fdc0303ccaa23f61cef67bc92619d73 /tmp/kc.tar.gz" | sha256sum -c -
tar -xzf /tmp/kc.tar.gz -C /tmp
for preset in "" "-f helm/hugegraph/values-single.yaml" "-f helm/hugegraph/values-cluster.yaml" "-f helm/hugegraph/values-strict.yaml"; do
for preset in "" "-f helm/hugegraph/values-single.yaml" "-f helm/hugegraph/values-cluster.yaml" "-f helm/hugegraph/values-strict.yaml" \
"-f helm/hugegraph/examples/values-seatunnel-standalone.yaml" "-f helm/hugegraph/examples/values-seatunnel-cluster.yaml"; do
# shellcheck disable=SC2086 # $preset intentionally splits into flags
helm template ci helm/hugegraph $preset | /tmp/kubeconform -strict -summary -kubernetes-version 1.23.0
done
Expand Down
1 change: 1 addition & 0 deletions LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -218,3 +218,4 @@ hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/opencypher/Cyp
hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/opencypher/CypherPlugin.java from https://github.com/opencypher/cypher-for-gremlin
hugegraph-struct/src/main/java/org/apache/hugegraph/type/define/Cardinality.java from https://github.com/JanusGraph/janusgraph
hugegraph-struct/src/main/java/org/apache/hugegraph/type/Namifiable.java from https://github.com/JanusGraph/janusgraph
helm/hugegraph/templates/seatunnel.yaml adapts the native hybrid Kubernetes deployment from Apache SeaTunnel 3.0.0 (Apache License 2.0).
4 changes: 4 additions & 0 deletions NOTICE
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@ The Apache Software Foundation (http://www.apache.org/).

The initial codebase was donated to the ASF by HugeGraph Authors, copyright 2017-2021.

The optional native Kubernetes deployment in helm/hugegraph/templates/seatunnel.yaml adapts resources from:
Apache SeaTunnel
Copyright 2021-2024 The Apache Software Foundation


-----------------------------------------------------------------------
This product contains code form the Apache TinkerPop Project:
Expand Down
5 changes: 3 additions & 2 deletions helm/hugegraph/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@

apiVersion: v2
name: hugegraph-helm
description: Helm chart for Apache HugeGraph HStore cluster (PD + Store + Server)
description: Helm chart for Apache HugeGraph HStore cluster with optional SeaTunnel
type: application
version: 0.2.0
version: 0.3.0
# TODO: set appVersion to "1.8.0" when the release images are published.
appVersion: "latest"
kubeVersion: ">=1.23.0-0"
Expand All @@ -32,6 +32,7 @@ home: https://hugegraph.apache.org/
icon: https://hugegraph.apache.org/img/logo.svg
sources:
- https://github.com/apache/hugegraph
- https://github.com/apache/seatunnel
maintainers:
- name: HugeGraph Community
url: https://hugegraph.apache.org/
Expand Down
22 changes: 22 additions & 0 deletions helm/hugegraph/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,28 @@ helm install hugegraph ./helm/hugegraph -n hugegraph --create-namespace \

Inactive credential values may remain in the values file when auth is disabled.

### Optional SeaTunnel

Set `seatunnel.enabled=true` to start one persistent hybrid member alongside HugeGraph;
set `seatunnel.mode=cluster` to use multiple members of the same native StatefulSet
(two by default). SeaTunnel is disabled by default and its topology is independent
of the HugeGraph single-/multi-node presets. Both modes include the engine's task UI.
The HTTP Service inherits NodePort in `easy` mode or ClusterIP in `strict` mode;
`seatunnel.service` can explicitly override the type and NodePort.

Member/CLI port 5801 is restricted to same-release peers by a SeaTunnel ingress
NetworkPolicy in every mode, including when the chart-wide policy flag is disabled.
Easy mode leaves the authenticated HTTP entry open. Actual isolation requires CNI
support and trusted namespace RBAC; full isolation additionally limits egress.

The chart injects the same-release Server address, GraphSpace and administrator
Secret references into the mounted Source/Sink examples. Create the target graph
before submitting them manually; Helm does not create graphs or import data.
UI and REST submission use a separate native HTTP Basic administrator account,
whose generated Secret is retained and reused during online upgrades. Container
security and scheduling options follow the other components; see the
[SeaTunnel deployment guide](docs/seatunnel.md) for configuration and limits.

### Internal image registry

Mirror the four component images (`hugegraph/pd`, `hugegraph/store`,
Expand Down
Loading
Loading