Releases: OT-CONTAINER-KIT/redis-operator
Releases · OT-CONTAINER-KIT/redis-operator
Release v0.21.0
Redis Operator v0.21.0
Changes
- feat: Round robin where to transfer cluster shards when scaling in a Redis Cluster (#1412)
- feat: add auto max memory configuration for Redis instances (#1411)
- feat: add bus port configuration for Redis cluster services (#1406)
- feat: add automatic Redis pod role label synchronization for rediscluster (#1404)
- feat: rediscluster observability (#1392)
- chore(deps): bump github.com/redis/go-redis/v9 from 9.7.3 to 9.9.0 (#1386)
- chore(deps): bump github.com/go-logr/logr from 1.4.2 to 1.4.3 (#1388)
- refactor: reorganiz manager agent cmd package (#1383)
- fix: resolve StatefulSet selector immutability issues (#1382)
- feat: avoid sentinel restart after replication failover (#1381)
- feat: add liveness/readiness probes to values.yaml and templates (#1378)
- feat: reduce uncessary requeue when skip reconcile annotation exists (#1374)
- docs: add important notes on redisReplicationName parameter in Sentinel documentation (#1375)
- docs: update release version to 0.20.2 in config.toml (#1372)
- docs: update weight for Feature Gates documentation (#1370) (#1371)
- feat: redisreplication observability, skip reconcile or not (#1369)
- chore: add GitHub Actions workflow for automatic release creation on tag push (#1364)
- refactor: reorganize API structure and update paths (#1363)
- refactor: remove useless structure and refactor package (#1362)
- feat: add Redis Sentinel validation webhook for clusterSize (#1361)
- chore: bump version to 0.20.3 in operator Chart.yaml (#1355)
- fix: define named probe port outside webhook block (#1353) (#1354)
- refactor: reorganize command structure for Redis operator (#1351)
- chore: bump version to 0.20.2 (#1349)
v0.20.2
What's Changed
BugFixes
- fix: handle panic when retrieving StatefulSet in GetRedisNodesByRole by @shubham-cmyk in #1330
- fix: VCT resize detection logic; add support for scaling out with new VCT size by @dimpavloff in #1342
- fix: Service updated before Statefulset during Reconcilation #1347 by @jpadmin in #1348
Others
- docs: re: issues/1318 - example for authenticated RedisSentinel by @garyburgmann in #1319
- Define container port for http probes in operator chart by @mboutet in #1326
- feat: enhance environment variable management and CI workflow by @drivebyer in #1315
- chore(deps): bump golang.org/x/net from 0.36.0 to 0.38.0 by @dependabot in #1324
- chore(deps): bump github.com/redis/go-redis/v9 from 9.7.0 to 9.7.3 in /tests/data-assert by @dependabot in #1292
- feat: add data assertion generation and enhance Redis configuration commands by @drivebyer in #1331
- feat: add feature gates support for Redis Operator by @drivebyer in #1333
- chore(deps): bump github.com/onsi/gomega from 1.36.2 to 1.37.0 by @dependabot in #1336
- chore(deps): bump github.com/onsi/ginkgo/v2 from 2.22.2 to 2.23.4 by @dependabot in #1338
- chore(deps): bump sigstore/cosign-installer from 3.8.1 to 3.8.2 by @dependabot in #1335
- chore(deps): bump github.com/prometheus/client_golang from 1.19.0 to 1.22.0 by @dependabot in #1337
- chore: migrate kubebuilder go.kubebuilder.io/v3 to go.kubebuilder.io/v4 by @Pranshu-Raj in #1340
- docs: fix redis sentinel example by @mboutet in #1343
- docs: fix Redis Cluster YAML Manifest Example (#1345) by @liboshuai01 in #1346
New Contributors
- @garyburgmann made their first contribution in #1319
- @mboutet made their first contribution in #1326
- @Pranshu-Raj made their first contribution in #1340
- @dimpavloff made their first contribution in #1342
- @jpadmin made their first contribution in #1348
- @liboshuai01 made their first contribution in #1346
Full Changelog: v0.20.1...v0.20.2
v0.20.1
v0.20.0
What's Changed
Features 🎉
- feat: Sentinel - support hostname resolve and annonce by @mkl262 in #1247
- feat: add redis agent with bootstrap configuration generation by @drivebyer in #1254
- feat: Implement comprehensive Redis configuration generation for agent bootstrap by @drivebyer in #1260
- feat: Added support for hostport to allow direct connection to the pod by @MuhammadQadora in #1263
- feat: Add preStop hook for Redis Cluster failover by @fengyinqiao in #1264
- feat: Add docker-load target to Makefile for loading images into Docker by @shubham-cmyk in #1270
- feat: Sentinel - announce-ip when resolve & announce are set by @nicogigi92 in #1271
- feat: Fix PVC resizing issue and refactor PVC resizing logic by @fengyinqiao in #1268
- feat: add redisreplication observability by @husnialhamdani in #1274
- feat: add recreate-stateful-strategy, orphan, background, foreground(default) by @husnialhamdani in #1286
- feat: update Dockerfile and Makefile for unified operator binary by @drivebyer in #1294
- feat: Add support for anti affinity configuration in helm charts by @NotAndD in #1296
- feat: guarantee to avoid bad master ip on Sentinel by @husnialhamdani in #1289
- feat: add feature gates for sentinel configuration generation in init container by @drivebyer in #1300
- feat: support redis configuration generation in init container by @drivebyer in #1303
BugFixes 🐞
- fix: replace hardcoded Redis port 6379 with configurable port from cr.Spec.Port by @fengyinqiao in #1261
- fix: update references from master to main in docs and workflow files by @shubham-cmyk in #1288
- fix: svc finalizer removed. by @fengyinqiao in #1297
- fix: race condition resulting in permanently broken Redis cluster by @seeker89 in #1298
New Contributors
- @mkl262 made their first contribution in #1247
- @fengyinqiao made their first contribution in #1261
- @nicogigi92 made their first contribution in #1271
- @NotAndD made their first contribution in #1296
- @seeker89 made their first contribution in #1298
Full Changelog: v0.19.1...v0.20.0
v0.19.1
!!! Deprecation of v1beta1 API Version !!!
The v1beta1 API version will be removed in next release. Users are strongly encouraged to migrate to v1beta2, which offers enhanced features and improved stability.
What's Changed
Features 🎉
- feat: add data-assert tool for Redis data management by @drivebyer in #1204
- feat: check data consistent by external tool by @drivebyer in #1205
- feat: added actions to publish charts to github container registry by @a1994sc in #1201
- feat: add headless service configuration support by @drivebyer in #1219
- feat: update redis-operator cert manager configuration. by @drivebyer in #1220
- feat: add additional service configuration with optional enable flag by @drivebyer in #1228
- feat: enhance Redis HA and node scheduling strategy by @drivebyer in #1237
- feat: add securityContext config in chart for redis-exporter by @Hexoplon in #1238
- feat: add dynamic Redis configuration support for Redis Cluster by @drivebyer in #1241
- feat: configurable operator maxConcurrentReconciles by @husnialhamdani in #1242
BugFixes 🐞
- fix: skip-reconcile annotation still skipping reconcile even the value is false by @husnialhamdani in #1202
- fix: make recreate statefulset only trigger when value true by @husnialhamdani in #1240
- fix: improve pod label patching with error handling and retry mechanism by @drivebyer in #1231
- Changed certificate serverName to pod+namespace by @MuhammadQadora in #1221
- fix: add missing topologySpreadConstraint on RedisCluster follower by @husnialhamdani in #1218
New Contributors
- @a1994sc made their first contribution in #1201
- @MuhammadQadora made their first contribution in #1221
- @Hexoplon made their first contribution in #1238
Full Changelog: v0.19.0...v0.19.1
v0.19.0
What's Changed
Features 🎉
- feat: add PDB and probes, drop unspecified acl in sentinel helm by @Dariusch in #1123
- feat: add master/replica service to redis replication by @drivebyer in #1124
- feat: add recreateStatefulSetOnUpdateInvalid helm chart value by @drivebyer in #1127
- feat: enhance RedisReplication controller and CRD with additional status by @drivebyer in #1154
- feat: support PDB in redisreplication by @husnialhamdani in #1166
- feat(sentinel): enhance RedisSentinel reconciliation logic and update workflow. by @drivebyer in #1176
- feat: support redis-cluster topologySpreadConstraints(# 868) by @xiaozhuang-a in #1177
- feat(cluster): add event recording functionality for RedisCluster controller. by @drivebyer in #1182
- feat: support topologySpreadConstraints in replication & sentinel by @husnialhamdani in #1184
- feat: redis-cluster add podAntiAffinity(#1174 ) by @xiaozhuang-a in #1180
- feat: separate resources section for leader and follower by @husnialhamdani in #1188
- feat: enhance RedisCluster resource management by introducing separate resource handling for leader and follower by @drivebyer in #1199
BugFixes 🐞
- fix: pdb value mapping in redis-sentinel by @Dariusch in #1136
- fix: chart render error when enable initcontainer by @drivebyer in #1146
- fix: initContainer enabled properties not define in template by @drivebyer in #1152
- fix: redis-cluster unexpected downscaling (#1167) by @xiaozhuang-a in #1173
- fix: reduce the impact of Redis cluster intermediate states by @xiaozhuang-a in #1178
- fix: label selector mapping on redisreplication pdb by @husnialhamdani in #1191
New Contributors
- @Dariusch made their first contribution in #1123
- @b1gb4by made their first contribution in #1128
- @husnialhamdani made their first contribution in #1166
- @xiaozhuang-a made their first contribution in #1173
Full Changelog: v0.18.1...v0.19.0
v0.18.1
What's Changed
Features 🎉
- Support setting minReadySeconds on the stateful sets by @mattrobinsonsre in #1023
- Add tolerations to operator chart by @rhysjtevans in #1051
- Add image pull secret for redis operator by @civkule in #1053
- Add service monitor to redis sentinel chart by @drivebyer in #1071
- Add readiness/liveness probe to redis operator chart by @drivebyer in #1072
- Upgrade redis/sentinel image to 7.0.15 by @drivebyer in #1099
- Reconcile redissentinel only on master changed by @drivebyer in #1122
BugFixes 🐞
- Fix ndention error when enable additional config by @drivebyer in #1031
- Fix field validate error when enable additional config for sentinel by @drivebyer in #1033
- Fix unknown field error when upgrade chart by @drivebyer in #1034
- Fix bad indentation on redis standalone additional configs by @dschaaff in #1040
- Fix attempt to repair disconnected/failed master nodes before failing over by @nashluffy in #1105
- Fix set controller probe endpoint handler by @drivebyer in #1121
New Contributors
- @mattrobinsonsre made their first contribution in #1023
- @dschaaff made their first contribution in #1040
- @rhysjtevans made their first contribution in #1051
- @civkule made their first contribution in #1053
- @nashluffy made their first contribution in #1102
Full Changelog: v0.18.0...v0.18.1
v0.18.0 - July 11, 2024
What's Changed
Features 🎉
- Added redisReplicationPassword values to connect secured replication #1021
- Added redis/redisreplication/redissentinel/rediscluster chart #1007
- Added support for extra volume mounts for redis sentinel #994
- Added automountServiceAccountToken values for deployment and serviceaccnount #991
- Added securityContext for exporter, initcontainers and sidecars #987
- Added security context values in operator chart #973
- Added rolling update sequence from leader to follower #966
- Added support for configurable probe handlers #934
- Added redis operator helm chart and release workflow #941
- Added support for other container engines #947
CI and Test cases 🚀
- Cover Createorupdatestateful #968
- Cover getSidecars method #997
- Cluster connection must be run after ready #989
- Cover generateStatefulSetsDef method #980
- Cover generateInitContainerDef added additional env and resources #963
- Fix chart release yaml syntax #957
- Remove unuse kuttl test workflow #958
BugFixes 🐞
- Added default port to enable
SENTINEL_PORT
environment #999 - ReadyReplicas need to be checked in
IsStatefulSetReady
#993 - watchNamespace value does not take effect in chart #990
- sentinel should not reconcile until replication cluster ready #964
- return ASAP after handling finalizer #940
- check redis replication after handling finalizer #936
New Contributors
- @montaguethomas made their first contribution in #947
- @com6056 made their first contribution in #934
- @lsoica made their first contribution in #987
Full Changelog: v0.17.0...v0.18.0
v0.17.0 - May 14, 2024
What's Changed
Features 🎉
- WATCH_NAMESPACE support multi namespace #919
- Add workflow to publish image to ghcr #914
- Probe use built-in, discarded healthcheck.sh #907
- Implement redis cluster ready state #867
- add redisreplication status masterNode #849
CI and Test cases 🚀
- Added e2e testing after operator ci check #913
- Added test cover generateInitContainerDef #888
- Added test cover func enableRedisMonitoring #883
- Added yaml validation before running e2e tests #873
- Added test cover func updatestatefulset #863
- Added unit test cases #856
- Added Redis mock functionality #842
BugFixes 🐞
- Runtime panic when delete rediscluster which disable persistent #922
- Runtime panic when storage param is empty #887
- Exporter can not connect to redis when enable tls #902
- Update status if not equal #900
- Should get the really leader count when scale in #885
- ClusterSlaves result should be cut #884
- Redis cluster update as scale out #882
- Add common AddFinalizer for all api #858
New Contributors
- @k3mahesh made their first contribution in #863
- @wkd-woo made their first contribution in #902
- @teocns made their first contribution in #887
Full Changelog: v0.16.0...v0.17.0
v0.16.0 - March 27, 2024
What's Changed
- [Fix] : Missing CRD by @shubham-cmyk in #649
- [Test] : Add Test Case ( k8sutils/labels.go ) by @shubham-cmyk in #650
- [Refactor]. redis setup type in labels to constant by @titanventura in #652
- Golang ci lint action by @titanventura in #653
- Bump postcss from 8.2.9 to 8.4.31 in /docs by @dependabot in #654
- Dependencies upgrade by @Azanul in #651
- [Test] : Add Test Case ( k8sutils/statefulset.go & k8sutils/service.go ) by @shubham-cmyk in #655
- Redis SDK version update by @Azanul in #657
- [Test] : Fix e2e Flakes by @drivebyer in #658
- [Test] : e2e Fix Flakes in Redis Cluster Test by @shubham-cmyk in #659
- [Test] : e2e Redis Standalone test by @shubham-cmyk in #660
- [Fix] - make deploy target not works well by @drivebyer in #662
- [Fix] - sts will never be created by @drivebyer in #663
- [Test] : e2e Github Action Workflow by @shubham-cmyk in #661
- [Fix] : deploy can not set custom image:tag by @drivebyer in #664
- [Feat] : support ignore specify annotation key in statefulset by @drivebyer in #666
- Bump golang.org/x/net from 0.15.0 to 0.17.0 by @dependabot in #668
- [Test] : e2e Test Update Redis Image to Latest by @shubham-cmyk in #669
- [Fix] : redis exporter mismatch environment by @drivebyer in #670
- Add missing deepcopy by @shubham-cmyk in #672
- fix: typo by @testwill in #674
- [Workflow] : Add code coverage reports by @shubham-cmyk in #675
- feat: verify codgen in Makefile and Github workflow by @shubham-cmyk in #673
- [Test] : add redis replication setup case by @drivebyer in #677
- [Test] : add assert service to setup by @drivebyer in #678
- [Fix] : setup label redis_setup_type to sentinel by @drivebyer in #679
- [Fix] : wait follower statefulset ready before make cluster by @drivebyer in #680
- test : validate all the cr in the example dir by @shubham-cmyk in #684
- test : Add Unit Test for redis-standalone.yaml by @shubham-cmyk in #683
- makefile : Add Target to run e2e Test by @shubham-cmyk in #685
- test: add test for redisreplication/redissentinel/rediscluster by @drivebyer in #687
- level up log message by @drivebyer in #686
- fix: Unwanted failures in the logs by @shubham-cmyk in #690
- fix : Broken Release Pipeline image by @shubham-cmyk in #691
- Fix: Release Workflow by @shubham-cmyk in #692
- fix: Repo Secret by @shubham-cmyk in #693
- Add: qemu by @shubham-cmyk in #694
- fix: Typo in release by @shubham-cmyk in #695
- fix-env by @shubham-cmyk in #696
- test: Make Code Testable by @shubham-cmyk in #697
- Add : Mock Client by @shubham-cmyk in #699
- fix : Add client for Testing by @shubham-cmyk in #700
- test: Add secret_test.go by @shubham-cmyk in #701
- test : Add redis_test.go by @shubham-cmyk in #702
- [Fix] : redis data pvc not deleted by @drivebyer in #703
- [Fix] : cluster scaling by @drivebyer in #704
- [Fix] : returned both a non-zero result and a non-nil error by @drivebyer in #705
- fix: specify k8s version which contain darwin arm64 by @drivebyer in #719
- feat: Add Chainsaw Action in CI by @shubham-cmyk in #722
- test: try Ping cluster by @shubham-cmyk in #726
- feat: rediscluster support hostnetwork and custom port by @drivebyer in #723
- test: Try Saving Key by @shubham-cmyk in #727
- feat: support exporter custom port by @drivebyer in #728
- test: Add replication to chainsaw setup by @shubham-cmyk in #730
- test: Setting Password on Redis Cluster by @shubham-cmyk in #729
- test: Add Sentinel Setup by @shubham-cmyk in #733
- test: Try ping and save key on redis replication by @shubham-cmyk in #731
- test: HA-setup ( Replication and Sentinel ) Unsecured | Partial Secured by @shubham-cmyk in #732
- feat: Redis AUTH password by @shubham-cmyk in #734
- fix: exporter connect to custom redis port by @drivebyer in #736
- feat: support create redis cluster by nodeport service by @drivebyer in #738
- fix: exporter no auth to redis by @drivebyer in #743
- feat: add environment to customize data pvc prefix by @drivebyer in #742
- docs: add namespace creation by @MathieuCesbron in #746
- feat: generate k8s client only once by @MathieuCesbron in #750
- test: add envtest for redis standalone by @MathieuCesbron in #748
- chore: fix clinet typo by @MathieuCesbron in #751
- Generate dynamic k8s client only once by @MathieuCesbron in #752
- Add redis cluster integration tests by @MathieuCesbron in #753
- Add redis replication integration tests by @MathieuCesbron in #754
- Add redis sentinel integration tests by @MathieuCesbron in #755
- Remove useless comment by @MathieuCesbron in #758
- chore: enhance log every reconcile redis cluster by @drivebyer in #767
- ci: improve the PR semantics by @drivebyer in #770
- test: remove redundant running spec by @drivebyer in #771
- feat: add field to keep pvc after cr be deleted by @drivebyer in #772
- chore: enhance log every reconcile redis replication by @drivebyer in #780
- fix: nil pointer dereference in conversion webhook by @drivebyer in #787
- ci: bump chainsaw version by @shubham-cmyk in #789
- add: codeowners by @shubham-cmyk in #793
- ci: fmt and vet covered in golang Ci linters by default by @shubham-cmyk in #792
- ci: halt failing release by @shubham-cmyk in #794
- ci: Improve CI linting by @shubham-cmyk in #791
- test: test for acl user by @shubham-cmyk in #797
- test: Remove Dupli...