Releases: OT-CONTAINER-KIT/redis-operator
Releases · OT-CONTAINER-KIT/redis-operator
v0.25.0
Changes
- fix(sentinel): mount config emptyDir volume so sentinel.conf persists across container restarts (#1725) (@deepanshumishra)
- fix: prevent crash loop when all replication pods restart with empty realMaster (#1720) (@deepanshumishra)
- chore: bump version of redis-replication chart to 0.17.0 (#1721) (@SvenMark)
- docs: add RedisReplication configuration documentation (#1707) (@Sanjana272621)
- docs: update migration guides for v0.24.0 upgrade, including TLS CA certificate changes and webhook configuration updates (#1718) (@shubham-cmyk)
- chore: update version to 0.24.0 (#1660) (@naimadswdn)
v0.24.0
Changes
- fix: do not create empty PVC when storage has only volumeMount (#1653) (@aa1ex)
- feat: Added functionality to expose redis standalone defined on kubernetesConfig serviceType (#1687) (@navneet066)
- feat(client): add support for IPv6 in Redis cluster commands and mocks (#1703) (@shubham-cmyk)
- feat(chart): add support for customizable annotations for redis, redis-cluster, sentinel, replication (#1593) (@hanbing204)
- fix(chart): update redisConfig conditions for externalConfig and maxMemoryPercentOfLimit (#1700) (@shubham-cmyk)
- fix(replication): Headless service additional annotations is missed on operator code (#1573) (@ami-descope)
- chore(deps): bump actions/stale from 9 to 10 (#1553) (@dependabot[bot])
- chore(deps): bump actions/setup-python from 5 to 6 (#1555) (@dependabot[bot])
- chore(deps): bump hadolint/hadolint-action from 3.1.0 to 3.3.0 (#1554) (@dependabot[bot])
- fix: default leader/follower replicas to clusterSize (#1681) (@arpan57)
- fix: aggregate operator ClusterRole into admin (#1672) (@arpan57)
- fix!: use ca.crt instead of ca.key, resolve startup failure when using cert-manager (#1644) (@ryan4yin)
- docs: fix example redisSecret indentation (#1675) (@arpan57)
- fix: Skip PVC shrink attempts in HandlePVCResizing (#1669) (@arpan57)
- feat(metrics): Add Redis Exporter metrics service for cluster, replication, sentinel, and standalone setup (#1658) (@naimadswdn)
- docs: add nodeConfVolume to cluster example (#1670) (@arpan57)
- fix: respect persistenceEnabled for initContainer (#1671) (@arpan57)
- fix: race condition with global serviceType variable (#1696) (@JulianPaulus)
- fix: correct namespaces RBAC resource (#1673) (@arpan57)
- fix: Make RedisCluster scaling resilient to failover and open slots (#1647) (@shubham-cmyk)
- feat: Add sentinel support to redis-replication chart (#1684) (@vvyushmanov)
- docs: fix minor typos (#1674) (@arpan57)
- docs: update architecture diagram with Meshery design (#1686) (@Mohamed-Magdy-Dewidar)
- fix: Fix ACL SAVE when using ACL from PVC (#1645) (@naimadswdn)
- fix: RedisCluster - make scale-out resilient by waiting for node convergence and blocking rebalance/add-node while slots are open (#1629) (@simonnorra-sap)
- fix!: update mutating webhook configuration name to include release name prefix (#1651) (@shubham-cmyk)
- docs: fix typos in Overview documentation (#1650) (@sertxudev)
- fix: set REDIS_MAX_MEMORY when maxMemoryPercentOfLimit is used (#1646) (@naimadswdn)
- feat: update redis helm charts to support already implemented properties (#1648) (@naimadswdn)
- fix: webhook-server-cert secret not found (#1628) (@majiayu000)
- fix(dashboards): Fix typo in datasource variable (#1632) (@clement-gautier-cko)
v0.23.0
Changes
- feat: add connectionInfo to RedisReplication status (#1627) (@drivebyer)
- fix: check return of probes to ensure Redis is returning responses (#1626) (@lilatomic)
- feat: add livenessProbe and readinessProbe configuration (#1625) (@deepanshumishra)
- fix: Propagate manager QPS setting to generated client config (#1615) (@simonnorra-sap)
- feat: Add Sentinel support for RedisReplication (#1610) (@drivebyer)
- feat: Add generic reconciler helper for resource management (#1609) (@drivebyer)
- docs: Fix installation guide (#1606) (@drivebyer)
- fix: Centralize skip-reconcile metrics management and fix RedisCluster metric bug (#1605) (@drivebyer)
- fix: Correct sidecars format from object to array (#1604) (@drivebyer)
- feat: Added functionality to expose redis defined on kubernetesConfig serviceType (#1596) (@navneet066)
- fix: Prevent failover label update failure on unreachable pods (#1602) (@drivebyer)
- feat: Allow user config to override cluster-announce settings (#1601) (@drivebyer)
- feat: Add support for changing Rolling Update strategy (#1595) (@bitc0d)
- docs: update compatibility matrix and standardize example images to latest
- feat: Add support for ACL from PVC (#1582) (@naimadswdn)
- fix: Requeue immediately after status update conflict (#1589) (@drivebyer)
- fix: Chart should cast maxMemoryPercentOfLimit to int (#1587) (@drivebyer)
- fix: Chart should cast redisCluster.maxMemoryPercentOfLimit to int (#1585) (@yabberyabber)
- feat: support runtime configuration of init container image (#1586) (@drivebyer)
- fix: Reload RedisCluster instance after status updates (#1583) (@naimadswdn)
- feat: add configurable Kubernetes service DNS domain (#1580) (@drivebyer)
v0.22.2
Changes
- feat: improve RedisCluster health check with retry and multi-node validation (#1575) (@naimadswdn)
- fix: label rendering for non-string values. (#1543) (@atuk721)
- fix: Operator crash when PDB defined only for Redis follower (#1563) (@naimadswdn)
- fix: include external-config in config initContainer (#1566) (@lilatomic)
- fix: support cluster creation/scale with NodePort and TLS enabled (#1568) (@drivebyer)
- fix: service account name for matching references on operator chart (#1558) (@pando85)
- fix: maxMemoryPercentOfLimit missing in helm charts (#1559) (@tingwei628)
v0.22.1
Changes
- chore: Add context timeout to GetLocalIP (#1536) (@mjtrangoni)
- fix: ServiceMonitor defaults to release.Namespace instead of monitoring namespace (#1507) (#1537) (@mjtrangoni)
- chore(grafana): Update redis-operator-cluster.json dashboard from grafana v8 to v12 (#1539) (@mjtrangoni)
- fix: avoid updating the local store status (#1538) (@drivebyer)
- fix: reset sentinel config on reconcile (#1533) (@drivebyer)
- fix: Set correct operator image in init containers (#1530) (@drivebyer)
- fix: Fixes init-config container resources to match main container. (#1515) (@chris-gooch)
Release v0.22.0
Changes
- docs: Improve Readme (#1506) (@Kilian Ries)
- fix: Prevent data loss by removing dangerous failover operation (#1505) (@yangw)
- chore(deps): bump actions/checkout from 4 to 5 (#1497) (@dependabot[bot])
- fix: Unassigned slots and abnormal status in single-node cluster (#1483) (@Tian)
- feat: add nodeport value for external service (#1488) (@yann Ponzoni)
- fix: cluster TLS configuration for init-config container (#1489) (@yangw)
- fix: improve kubeClientQPS type consistency in operator chart (#1485) (@yangw)
- fix: do not remove default config volume when providing additional config (#1480) (@daniel Goldman)
- fix: Fix the issue where Sentinel fails to monitor one replica replication (#1481) (@Tian)
- feat: Add SecurityContext to init-config when behind GenerateConfigInInitContainer feature flag (@jeffrey Boehm)
- docs: Rename Size to ClusterSize in RedisClusterSpec and update related comments (#1475) (@yangw)
- fix: Recover redisreplication from master pod deletion without sentinel(#1449) (@dcaputo-harmoni)
- feat: Add kubeClientQPS and kubeClientTimeout configuration options (#1473) (@yangw)
- chore(deps): bump sigstore/cosign-installer from 3.9.1 to 3.9.2 (#1465) (@dependabot[bot])
- fix: tls connection broken in replication with sentinel (#1472) (@yangw)
- feat: Add PDB values in redis replication (#1461) (@yangw)
- fix: missing generate common types in api reference (#1460) (@yangw)
- feat: Add API doc generation tools and update Makefile (#1459) (@yangw)
- feat: Implement RedisCluster clusterSize validation webhook (#1458) (@yangw)
- docs: Fix obsolete links (#1457) (@michel Zehnder)
- docs: Update release history (#1453) (@michel Zehnder)
- docs: Update CHANGELOG.md with latest information (#1454) (@michel Zehnder)
- docs: Sentinel recommendations and update security context fields (#1450) (@yangw)
- feat: Add PersistentVolumeClaimRetentionPolicy support (#1448) (@dee Kryvenko)
- chore(deps): bump golang.org/x/oauth2 from 0.24.0 to 0.27.0 (#1447) (@dependabot[bot])
- chore(deps): bump golangci/golangci-lint-action from 6 to 8 (#1311) (@dependabot[bot])
- docs: Update Redis Operator README and Sentinel documentation (#1439) (@yangw)
- docs: Add controller metrics guide and Grafana dashboard for Redis Operator (#1438) (@fatih Sarhan)
- docs: Update slack channel link and improve sharding section clarity (#1437) (@fatih Sarhan)
- docs: update Redis API documentation for security context fields (#1435) (@yangw)
- fix: sentinel controller should reconcile on statefulset updated (#1432) (@stephen Greenham)
- docs: Update edit URL path (#1434) (@fatih Sarhan)
- feat: add pprof configuration for performance profiling (#1431) (@yangw)
- feat: RedisCluster controller: attempt to repair disconnected nodes whenever detected (#1426) (@dimitar Pavlov)
- refactor: introduce common constants and finalizer utilities for Redis controllers (#1428) (@yangw)
- chore(deps): bump github.com/redis/go-redis/v9 from 9.9.0 to 9.11.0 (#1423) (@dependabot[bot])
- chore(deps): bump sigstore/cosign-installer from 3.8.2 to 3.9.1 (#1419) (@dependabot[bot])
- refactor: remove dynamic client usage and streamline Kubernetes client interactions (#1420) (@yangw)
- fix: add webhook condition to service template (#1418) (@yangw)
- chore: add sync-crds target to Makefile (#1417) (@yangw)
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