Files
Aleksei Sviridkin d9fbeab33c fix(opensearch-operator): let a permanently yellow cluster restart
The operator restarts a node only when its health gate opens, and the
gate wanted green, or yellow caused by the observability index alone. A
cluster whose replicas can never be assigned reaches neither: on a single
data node any index with a replica is yellow for good, and the operator
itself turns on the audit log that creates one on the first audited
event. From then on nothing that needs a restart was ever rolled out, a
version upgrade and the move of the HTTP listener onto the cert-manager
chain included.

Upstream rewrote the gate to let a yellow cluster through once allocation
is enabled, every data node has joined and no shard is moving, and to
refuse instead to restart a node that holds the only active copy of a
shard meant to have others. No released operator carries that change, so
it is carried here as a patch against the pinned version, together with
the upstream tests for it.

Signed-off-by: Aleksei Sviridkin <f@lex.la>
Assisted-by: LLM
2026-09-18 12:01:56 +03:00

31 lines
1.7 KiB
YAML

opensearch-operator:
manager:
# Number of operator replicas. Leader election is enabled automatically only
# when this is greater than 1. On a single replica leader election adds no HA
# value but lets a transient apiserver/etcd lease-renewal blip self-terminate
# the manager (controller-runtime exits on "leader election lost"), which
# surfaces at install time as a crashlooping, Failed Deployment.
replicaCount: 1
# Enable cluster-wide mode to watch all namespaces
watchNamespace: ""
# Built in-tree from images/opensearch-operator, which carries the patches
# under its patches/ directory. Without this block the vendored chart
# falls back to opensearchproject/opensearch-operator at the chart's
# appVersion, which is the unpatched upstream build, and the reference stays
# outside the first-party set hack/lib/image-refs.sh collects for promote,
# retag and mirror. `make image` rewrites both keys on every build.
image:
repository: ghcr.io/cozystack/cozystack/opensearch-operator
tag: v2.8.0@sha256:cbe6b50f13aa5abf338209d38dfcd80e73296e97510465b5fca73a0130bfaad7
kubeRbacProxy:
image:
# gcr.io/kubebuilder/kube-rbac-proxy was sunset; use the original upstream
repository: "quay.io/brancz/kube-rbac-proxy"
sysctl:
# busybox carries the sysctl applet and doubles as the idle main container.
# Third-party pass-through pinned by digest, the same reference the kubernetes
# package vendors; docs/agents/image-refs.md covers why such a ref is neither
# retagged nor mirrored.
image: docker.io/library/busybox:1.37.0@sha256:1487d0af5f52b4ba31c7e465126ee2123fe3f2305d638e7827681e7cf6c83d5e