https://github.com/chideat/valkey-operator
ValKeyOperator is a Kubernetes operator designed to simplify the deployment and management of Valkey sentinel, Valkey cluster, and Valkey standalone instance.
https://github.com/chideat/valkey-operator
cache operator redis valkey
Last synced: about 1 month ago
JSON representation
ValKeyOperator is a Kubernetes operator designed to simplify the deployment and management of Valkey sentinel, Valkey cluster, and Valkey standalone instance.
- Host: GitHub
- URL: https://github.com/chideat/valkey-operator
- Owner: chideat
- License: apache-2.0
- Created: 2024-12-13T03:38:00.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-06-03T09:59:44.000Z (about 1 year ago)
- Last Synced: 2025-06-03T20:04:13.124Z (about 1 year ago)
- Topics: cache, operator, redis, valkey
- Language: Go
- Homepage:
- Size: 1.02 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# ValkeyOperator
[](https://coveralls.io/github/chideat/valkey-operator?branch=main)
[](https://goreportcard.com/report/github.com/chideat/valkey-operator)
**ValkeyOperator** is a production-ready kubernetes operator to deploy and manage high available [Valkey Sentinel](https://valkey.io/topics/sentinel/) and [Valkey Cluster](https://valkey.io/topics/cluster-spec/) instances. This repository contains multi [Custom Resource Definition (CRD)](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/#customresourcedefinitions) designed for the lifecycle of Valkey standalone, sentinel or cluster instance.
## Features
* Standalone/Sentinel/Cluster valkey arch supported.
* Valkey ACL supported.
* Nodeport/LB access supported; nodeport assignement also supported.
* IPv4/IPv6 supported.
* Online scale up/down.
* Graceful version upgrade.
* Nodeselector, toleration and affinity supported.
* High available in production environment.
## Quickstart
### Using Helm (Recommended)
If you have a Kubernetes cluster and `kubectl` configured to access it, the easiest way to install ValkeyOperator is via Helm:
```bash
# Install the ValkeyOperator (cert-manager integration is enabled by default)
# Requires cert-manager to be installed: https://cert-manager.io/docs/installation/
helm install valkey-operator charts/valkey-operator \
--namespace valkey-system --create-namespace
# Deploy a Valkey cluster
kubectl apply -f https://raw.githubusercontent.com/chideat/valkey-operator/main/docs/examples/basic/cluster.yaml
# Check the cluster status
kubectl get valkey valkey-cluster -w
```
> **Note:** The Helm chart uses [cert-manager](https://cert-manager.io/docs/installation/) to manage webhook TLS by default. Ensure cert-manager is installed before running `helm install`. Alternatively, disable webhooks with `--set webhook.enabled=false` if you don't need them.
### Using Kustomize
```bash
# Install the ValkeyOperator
kubectl apply -k https://github.com/chideat/valkey-operator/config/default
```
For detailed installation and configuration instructions, see the [User Guide](./docs/guides/user-guide.md).
## Supported Versions
| Version | K8s Versions | Supported |
|---------|:-------------|-----------|
| 7.2.x | 1.31 | Yes |
| | 1.32 | Yes |
| 8.0.x | 1.31 | Yes |
| | 1.32 | Yes |
| 8.1.x | 1.31 | Yes |
| | 1.32 | Yes |
## Documentation
ValkeyOperator is covered by comprehensive documentation:
* **[Operator Overview](./docs/guides/operator-overview.md)** - Architecture and core concepts
* **[User Guide](./docs/guides/user-guide.md)** - Complete installation and usage guide
* **[API Reference](./docs/api/index.md)** - Detailed API documentation
* **[Examples](./docs/examples/)** - Ready-to-use configuration examples
For a complete list of features and configuration options, see the [documentation directory](./docs/).
In addition, practical [examples](./docs/examples) and [configuration samples](./config/samples) can be found in this repository.
## Contributing
This project follows the typical GitHub pull request model. Before starting any work, please either comment on an [existing issue](https://github.com/chideat/valkey-operator/issues), or file a new one. For more details, please refer to the [CONTRIBUTING.md](./CONTRIBUTING.md) file.
## Releasing
To release a new version of the ValkeyOperator, create a versioned tag (e.g. `v0.1.0`) of the repo, and the release pipeline will generate a new draft release, along side release artefacts.
## License
[Licensed under Apache 2.0](LICENSE)