From ebade1806576cac146c7d0ce182521573cad6d74 Mon Sep 17 00:00:00 2001 From: Kyriakos Akriotis Date: Thu, 19 Feb 2026 06:11:22 +0000 Subject: [PATCH] added release note, added changes to crd #44 --- blog/2025-05-12-release-0-2-23.md | 1 - blog/2025-05-15-release-0-2-24.md | 2 +- blog/2026-02-19-release-0-3-8.md | 46 +++++++++++++++++++++++ docs/crds/index.mdx | 61 ++++++++++++++++--------------- 4 files changed, 78 insertions(+), 32 deletions(-) create mode 100644 blog/2026-02-19-release-0-3-8.md diff --git a/blog/2025-05-12-release-0-2-23.md b/blog/2025-05-12-release-0-2-23.md index 2de8483..9e63d06 100644 --- a/blog/2025-05-12-release-0-2-23.md +++ b/blog/2025-05-12-release-0-2-23.md @@ -12,7 +12,6 @@ tags: [release] * impossible to set ingress pods resources requestslimits for cpumemory by @akyriako in https://github.com/akyriako/typesense-operator/pull/120 * updated crds, chart and documentation for 0.2.23 #121 by @akyriako in https://github.com/akyriako/typesense-operator/pull/123 - **Full Changelog**: https://github.com/akyriako/typesense-operator/compare/typesense-operator-0.2.22...typesense-operator-0.2.23 diff --git a/blog/2025-05-15-release-0-2-24.md b/blog/2025-05-15-release-0-2-24.md index f291c22..9a57a96 100644 --- a/blog/2025-05-15-release-0-2-24.md +++ b/blog/2025-05-15-release-0-2-24.md @@ -10,7 +10,7 @@ Updating from earlier versions will lead to replacing the existing `Pods`, as th for `StatefulSet` changes, has changed the way it calculates the hash. ::: -## What's Changed +## What's Changed ### 0.2.24 diff --git a/blog/2026-02-19-release-0-3-8.md b/blog/2026-02-19-release-0-3-8.md new file mode 100644 index 0000000..de14f05 --- /dev/null +++ b/blog/2026-02-19-release-0-3-8.md @@ -0,0 +1,46 @@ +--- +slug: release-0-3-8 +title: 0.3.8 +authors: [tykobot] +tags: [release] +--- + +## What's Changed + +### 0.3.8 + +:::warning +Updating from versions earlier than **0.3.8-rc.4** will cause the existing `Pods` to be replaced, because the annotation hash used for `StatefulSet` changes is now calculated differently. +::: + +### 0.3.8-rc.4 + +* 237 ignore external mutations for annotations by @akyriako in https://github.com/akyriako/typesense-operator/pull/239 + +**Full Changelog**: https://github.com/akyriako/typesense-operator/compare/typesense-operator-0.3.8-rc.3...typesense-operator-0.3.8-rc.4 + +### 0.3.8-rc.3 + +* Fix: Add a filter for unwanted statefulset annotations(ex: rancher) by @Arochka in https://github.com/akyriako/typesense-operator/pull/232 +* make filter function variadic, remove rancher annotations in ingress … by @akyriako in https://github.com/akyriako/typesense-operator/pull/234 +* 233 do not upgrade statefulset when only replicas differ by @akyriako in https://github.com/akyriako/typesense-operator/pull/236 + +#### New Contributors + +* @Arochka made their first contribution in https://github.com/akyriako/typesense-operator/pull/232 + +**Full Changelog**: https://github.com/akyriako/typesense-operator/compare/typesense-operator-0.3.8-rc.2...typesense-operator-0.3.8-rc.3 + + + +### 0.3.8-rc.2 + +* 228 with operator 037 nodes never get to vote loop restarts similar to 222 by @akyriako in https://github.com/akyriako/typesense-operator/pull/230 + +**Full Changelog**: https://github.com/akyriako/typesense-operator/compare/typesense-operator-0.3.8-rc.1...typesense-operator-0.3.8-rc.2 + +### 0.3.8-rc.1 + +* 228 with operator 037 nodes never get to vote loop restarts similar to 222 by @akyriako in https://github.com/akyriako/typesense-operator/pull/229 + +**Full Changelog**: https://github.com/akyriako/typesense-operator/compare/typesense-operator-0.3.7...typesense-operator-0.3.8-rc.1 \ No newline at end of file diff --git a/docs/crds/index.mdx b/docs/crds/index.mdx index 6150316..b83318c 100644 --- a/docs/crds/index.mdx +++ b/docs/crds/index.mdx @@ -18,36 +18,37 @@ Typesense Kubernetes Operator is controlling the lifecycle of multiple Typesense ### TypesenseClusterSpec -| Name | Description | Optional | Default | -| --------------------------------- | ------------------------------------------------------------------------------ | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| image | Typesense image | | | -| imagePullSecrets | reference to the private registry authentication `Secret` | X | | -| adminApiKey | reference to the bootstrap `Secret` | X | | -| replicas | size of the cluster (allowed 1, 3, 5 or 7) | X | 3 | -| apiPort | REST/API port | X | 8108 | -| peeringPort | peering port | X | 8107 | -| resetPeersOnError | automatic reset of peers on error | X | true | -| enableCors | enables CORS | X | false | -| corsDomains | comma separated list of domains allowed for CORS | X | | -| resources | resources (request & limit) | X | 1000m/100m
512Mi/256Mi | -| healthProbeTimeoutInMilliseconds | timeout for waiting on the health endpoint response | X | 500 | -| affinity | group of affinity scheduling rules | X | | -| nodeSelector | node selection constraint | X | | -| tolerations | schedule pods with matching taints | X | | -| additionalServerConfiguration | a reference to a `ConfigMap` holding extra configuration | X | | -| statefulSetAnnotations | user-defined annotations | X | | -| podAnnotations | user-defined annotations | X | | -| podsInheritStatefulSetAnnotations | propagate all `StatefulSet` annotations to `Pods` | X | false | -| serviceAnnotations | user-defined annotations | X | | -| storage | check `StorageSpec` [below](#storagespec-optional) | | | -| ingress | check `IngressSpec` [below](#ingressspec-optional) | X | | -| scrapers | array of `DocSearchScraperSpec`; check [below](#docsearchscraperspec-optional) | X | | -| metrics | check `MetricsSpec` [below](#metricsspec-optional) | X | | -| healthcheck | check `HealthCheckSpec` [below](#healthcheckspec-optional) | X | | -| topologySpreadConstraints | how to spread a group of pods across topology domains | X | | -| priorityClassName | reference to a pod priority and preemption class | X | | -| securityContext | check `SecurityContextSpec` [below](#metricsspec-optional) | X | | -| incrementalQuorumRecovery | add nodes gradually to the `StatefulSet` while recovering | X | false | +| Name | Description | Optional | Default | +| -------------------------------------- | ------------------------------------------------------------------------------ | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| image | Typesense image | | | +| imagePullSecrets | reference to the private registry authentication `Secret` | X | | +| adminApiKey | reference to the bootstrap `Secret` | X | | +| replicas | size of the cluster (allowed 1, 3, 5 or 7) | X | 3 | +| apiPort | REST/API port | X | 8108 | +| peeringPort | peering port | X | 8107 | +| resetPeersOnError | automatic reset of peers on error | X | true | +| enableCors | enables CORS | X | false | +| corsDomains | comma separated list of domains allowed for CORS | X | | +| resources | resources (request & limit) | X | 1000m/100m
512Mi/256Mi | +| healthProbeTimeoutInMilliseconds | timeout for waiting on the health endpoint response | X | 500 | +| affinity | group of affinity scheduling rules | X | | +| nodeSelector | node selection constraint | X | | +| tolerations | schedule pods with matching taints | X | | +| additionalServerConfiguration | a reference to a `ConfigMap` holding extra configuration | X | | +| statefulSetAnnotations | user-defined annotations | X | | +| podAnnotations | user-defined annotations | X | | +| podsInheritStatefulSetAnnotations | propagate all `StatefulSet` annotations to `Pods` | X | false | +| serviceAnnotations | user-defined annotations | X | | +| storage | check `StorageSpec` [below](#storagespec-optional) | | | +| ingress | check `IngressSpec` [below](#ingressspec-optional) | X | | +| scrapers | array of `DocSearchScraperSpec`; check [below](#docsearchscraperspec-optional) | X | | +| metrics | check `MetricsSpec` [below](#metricsspec-optional) | X | | +| healthcheck | check `HealthCheckSpec` [below](#healthcheckspec-optional) | X | | +| topologySpreadConstraints | how to spread a group of pods across topology domains | X | | +| priorityClassName | reference to a pod priority and preemption class | X | | +| securityContext | check `SecurityContextSpec` [below](#metricsspec-optional) | X | | +| ignoreAnnotationsFromExternalMutations | annotations to ignore when calculating hash (e.g. cattle.io/) | X | | +| incrementalQuorumRecovery | add nodes gradually to the `StatefulSet` while recovering | X | false | :::note