Releases: OT-CONTAINER-KIT/redis-operator
Releases · OT-CONTAINER-KIT/redis-operator
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...
v0.15.1 - September 24, 2023
🪲 Bug Fixes
- Added Custom EnvVars support #631
- Fix the backup and restore script and manifest #624
- e2e test for Redis Cluster #623
- Nil pointer de-reference in conversion webhook #615
- Fixes Restore script #609
- Close redis client to avoid resource leak #572
- fix:resize cluster’s pvc with wrong label #562
- Hardcoded 1Mi size of node-conf PVC in RedisCluster #552
- Cluster leader failover loop if there is only a single leader #542
🎉 Features
- e2e test for Redis Cluster #623
- Support ENABLE_WEBHOOKS env which cloud disable webhook server locally #617
- Status Field to Redis Cluster #612
- Support recreate statefulset of redissentinel #607
- Add support for multiple versions #592
🎉 Refactors
- Track examples/docs refactoring v1beta2 #633
- Refactor the backup and restore script and manifest #624
- Optional Volume split #603 ( Breaking Change )
- kustomize install not working #602
- Support apply crds by kubectl apply --server-side #601
- Fix image path #591
- Add RBAC for redisreplications and redissentinels. #590
- Write the docs for the restore and backup #588
- Support redis sentinel pdb #589
- Migrate the Pipeline from Azure to Github actions #571
- Fix log pollution #585
v0.15.0 - July 17, 2023
🪲 Bug Fixes
- Fix Linter Issue #479
- Fix exporter ports enabled even when exporters disabled #484
- Corrected scenario "go-get-tool" in makefile #499
- Operator Crash when persistence is false/Disabled #519 -- Breaking Change
- call of func checkAttachedSlave for 1 Master Replication #523
- Only created /node-conf VolumeMount for clusters #532
- Redis Sentinel Exporter ports in Env Vars #533
- Init Container tried to mount invalid volume name #538
- Cluster leader failover loop if there is only a single leader #542
🎉 Features
- Add RedisExporter for sentinel #440
- Add InitContainer Field #458
- ACL redis via secret #486
- Adding Custom TerminationGracePeriodSeconds and additional fields for Sidecar #487
- Enable Support for Backup and Restore via script #489
- Support Scaling for Redis Cluster #531 -- Breaking Change
🎉 Refactors
- Fixed StatefulSet(sentinel) Label for Service(Selector) #442
- Declare Module Correctly On sentinel #478
- Manage (Pod and Container) security Context explicitly #518
- Add watchnamespace function as per operator hub #520
- Remove sentinel default validation not effect #535
- Remove sentinel cluster size validation no effect #536
v0.14.0 - Feburary 13, 2023
🪲 Bug Fixes
- Added check for persistent volume nil condition
- Fix crash with go panic
- Fix memory address bug and nil pointer
- CR annotations fixes w.r.t. to stateful set
- Fix issues with ARM64 support
🎉 Features
- Added serviceType functionality for redis standalone and cluster
- Added feature for additional volume mounts
- Added nodeSelectory and tolerations for redis cluster
- Added recreation logic for redis stateful sets
- Added replication mode support for the redis cluster
- Added sentinel support for replication failover
v0.13.0 - November 10, 2022
🪲 Bug Fixes
- Fixed multiple follower logic for the redis cluster
🎉 Features
- Updated all examples for Redis v7
- Revamped documentation with the latest information
- Added pause option for reconciliations
- Added support for arm64
- Added update strategy for statefulset
- Added logic for updating follower replicas
- Added TLS feature for standalone