Skip to content

chideat/valkey-operator

Repository files navigation

ValkeyOperator

Coverage Status Go Report Card

ValkeyOperator is a production-ready kubernetes operator to deploy and manage high available Valkey Sentinel and Valkey Cluster instances. This repository contains multi Custom Resource Definition (CRD) 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:

# 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 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

# Install the ValkeyOperator
kubectl apply -k https://github.com/chideat/valkey-operator/config/default

For detailed installation and configuration instructions, see the User Guide.

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:

For a complete list of features and configuration options, see the documentation directory.

In addition, practical examples and configuration 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, or file a new one. For more details, please refer to the 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

About

ValKeyOperator is a Kubernetes operator designed to simplify the deployment and management of Valkey cluster, Valkey failover, and Valkey replica instance.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages