feat(helm): add HStore deployment chart - #3132
Draft
bitflicker64 wants to merge 4 commits into
Draft
Conversation
11 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Purpose of the PR
Add an official Helm installation path for the distributed HugeGraph HStore
topology on Kubernetes. The chart packages the PD, Store, and Server startup
contract that otherwise has to be reconstructed by each operator.
This PR is intentionally a draft while its six prerequisite PRs remain open.
Main Changes
helm/hugegraphchart with chart version0.1.0:helm testconnection hook.values.schema.jsonwith render-time validation for replica counts,storage, PDBs, HPA, authentication, Services, and other value contracts.
disabled by default, configurable pod security contexts, hardened container
security defaults, graceful termination periods, probes, and
extraEnv.latestPD, Store, and Server images while this PR is a draft,using pull policy
Alwaysso nodes do not retain an older cached image.kubeconform, legacy-values, andpackaging CI.
limitations documentation, plus a root README installation link.
Distributed startup and recovery contracts
HG_SERVER_SKIP_INIT. It setsHG_SERVER_INIT_STORE_ENABLED=false, relying on the dedicatedinit_store.enabledgate from PR fix(hugegraph-dist): gate init-store on a dedicated init_store.enabled option #3119 so concurrent Server replicas do notinitialize the same distributed backend.
PASSWORDhandling andauth.admin_pa. When required, the chart wrapper only ensuresusePD=trueand the configured PD peers are present before handing control back to the
image entrypoint.
truncation, keeping names valid and PVC identities stable across scaling.
startup command.
Prerequisites and draft gate
The chart was tested with the current heads below. These behaviors must be in
the next HugeGraph release source and images before this PR is marked ready.
ee8f5559lsof3e505a81init_store.enabledgate35e1a2400118e158575a112226218cb3PR #3126's finite DNS TTL is required for PR #3130 to resolve a replacement
Store address. Neither change provides complete address recovery alone.
Before this PR leaves draft, I will fetch the current
master, rebase thechart, pin
appVersionand all three component image tags to the next release,switch their pull policies to
IfNotPresent, verify the merged prerequisitebehavior, rerun the affected full lifecycle matrix, and re-review any resulting
changes.
Verifying these changes
PASS=239 FAIL=0 SKIP=0.PASS=37 FAIL=0.--reuse-values:helm templateandhelm install --dry-run=clientpassed.61/0, dataset30/0.61/0, dataset30/0.PASS=91 FAIL=0.PASS=90 FAIL=0with data preserved.PASS=7 FAIL=0, with restoration verified.61/0and30/0.findings on the final template and schema implementation.
no templates or schema and repeated the full static gate at
239/0/0.The runtime matrix used a four-node Kubernetes cluster and images built from a
composition containing the exact prerequisite heads listed above. Test-only
validation harnesses and lab-specific low-memory values are excluded from this
PR.
Does this PR potentially affect the following parts?
Documentation Status
Doc - TODODoc - DoneDoc - No NeedDocumented operational limits
appVersionand all three component image tags arelatest. This is intentionally temporary and is not the stable publicationconfiguration; the next release tag will be pinned before the PR is marked
ready.
values-cluster.yamlis a production starting point, not a capacityguarantee.
schedulable Kubernetes nodes.
setting
runAsNonRootorreadOnlyRootFilesystem, which the current imagecontract cannot support.
leader transfer, ConfigMap-based component configuration, and a complete
monitoring stack are outside this PR.