Files
cozystack/packages/apps/opensearch
Yan Bondarenko 06dc323aa2 fix(opensearch): keep the PVC cleanup hook from holding the uninstall
kubectl delete waits for the claims to be gone unless told otherwise,
and OpenSearch data pods stop slowly, so the post-delete hook could
outlive helm-controller's 300s uninstall budget on a claim that would
not release and leave the HelmRelease stuck uninstalling.

The delete now runs with --wait=false, the shape the monitoring, etcd
and seaweedfs hooks use: the deletion is requested and the claims go
once their pods have stopped, which the log now says instead of
"complete". The Job carries activeDeadlineSeconds 120 as the backstop
for a kubectl that never returns and keeps only before-hook-creation,
so a failed run and its log survive. The Role drops watch, which
nothing needs once the wait is gone.

Signed-off-by: Yan Bondarenko <202671653+yankawai@users.noreply.github.com>
Assisted-by: LLM
(cherry picked from commit 54ac8ed135)
2026-09-22 13:46:04 +00:00
..

Managed OpenSearch Service

storageClass is annotated as immutable in the chart schema — see docs/storage-immutability.md for the contract and which consumers enforce it.

Parameters

Common parameters

Name Description Type Value
replicas Number of OpenSearch nodes in the cluster. int 3
resources Explicit CPU and memory configuration for each OpenSearch node. When omitted, the preset defined in resourcesPreset is applied. object {}
resources.cpu CPU available to each node. quantity ""
resources.memory Memory (RAM) available to each node. quantity ""
resourcesPreset Default sizing preset used when resources is omitted. OpenSearch requires minimum 2Gi memory. string c1.medium
size Persistent Volume Claim size available for application data. quantity 10Gi
storageClass StorageClass used to store the data. string ""
external Enable external access from outside the cluster. bool false
topologySpreadPolicy How strictly to enforce pod distribution across nodes and zones. string soft
version OpenSearch major version to deploy. string v2

Image configuration

Name Description Type Value
images Container images used by the operator. object {}
images.opensearch OpenSearch image. string ""

Node roles configuration

Name Description Type Value
nodeRoles Node roles configuration. object {}
nodeRoles.master Enable cluster_manager role. bool true
nodeRoles.data Enable data role. bool true
nodeRoles.ingest Enable ingest role. bool true
nodeRoles.ml Enable machine learning role. bool false

Users configuration

Name Description Type Value
users Custom OpenSearch users configuration map. map[string]object {}
users[name].password Password for the user (auto-generated if omitted). string ""
users[name].roles List of OpenSearch roles. []string []

OpenSearch Dashboards configuration

Name Description Type Value
dashboards OpenSearch Dashboards configuration. object {}
dashboards.enabled Enable OpenSearch Dashboards deployment. bool false
dashboards.replicas Number of Dashboards replicas. int 1
dashboards.resources Explicit CPU and memory configuration for Dashboards. object {}
dashboards.resources.cpu CPU available to each node. quantity ""
dashboards.resources.memory Memory (RAM) available to each node. quantity ""
dashboards.resourcesPreset Default sizing preset for Dashboards. string c1.small