An open API service indexing awesome lists of open source software.

https://github.com/ot-container-kit/redis-operator

A golang based redis operator that will make/oversee Redis standalone/cluster/replication/sentinel mode setup on top of the Kubernetes.
https://github.com/ot-container-kit/redis-operator

crd-controller golang hacktoberfest hacktoberfest-accepted helm kubernetes monitoring openshift operator-framework opstreesolutions prometheus redis redis-cluster redis-operator redis-setup

Last synced: about 1 month ago
JSON representation

A golang based redis operator that will make/oversee Redis standalone/cluster/replication/sentinel mode setup on top of the Kubernetes.

Awesome Lists containing this project

README

          





CI Pipeline


GoReportCard


GitHub go.mod Go version (subdirectory of monorepo)


made-with-Go


Docker


License

A Golang-based Redis operator that will make/oversee Redis standalone and cluster mode setup on top of Kubernetes. It can create a Redis cluster setup with best practices on Cloud as well as the bare metal environment. Also, it provides an in-built monitoring capability using redis-exporter.

For documentation, please refer to

Organizations that are using Redis Operator to manage their Redis workload can be found [here](./USED_BY_ORGANIZATIONS.md). If your organization is also using Redis Operator, please feel free to add by creating a [pull request](https://github.com/OT-CONTAINER-KIT/redis-operator/pulls)

This operator only supports versions of Redis `>=6`.

## Architecture



## Purpose

There are multiple problems that people face while setting up Redis setup on Kubernetes, especially cluster type setup. The purpose of creating this operator is to provide an easy and production-ready interface for Redis setup that includes best-practices, security controls, monitoring, and management.

## Supported Features

Here are the features which are supported by this operator:

- Redis cluster and standalone mode setup
- Redis cluster failover and recovery
- Inbuilt monitoring with redis exporter
- Password and password-less setup of Redis
- TLS support for additional security layer
- IPv4 and IPv6 support for Redis setup
- Detailed monitoring Grafana dashboard

Check the [Installation](https://redis-operator.opstree.dev/docs/installation/) to deploy your first cluster with operator.

## Image Compatibility

The operator supports Redis versions `>=6.x`. However, **it is strongly recommended to use the latest stable version** to ensure you have the latest security fixes and bug patches from upstream.

**Container Images:**
- **Redis**: `quay.io/opstree/redis`
- **Sentinel**: `quay.io/opstree/redis-sentinel`
- **Exporter**: `quay.io/opstree/redis-exporter`

## Monitoring with Prometheus

To monitor Redis performance we will be using Prometheus. In any case, extra Prometheus configuration will not be required because we will be using the Prometheus service discovery pattern. For that we already have set these annotations:

```yaml
annotations:
redis.opstreelabs.in: "true"
prometheus.io/scrape: "true"
prometheus.io/port: "9121"
```

In addition to the annotations you have the possibility to deploy a `ServiceMonitor` for each of the Redis installations (configurable via Helm values file).

## Contribution

Please see our [CONTRIBUTING.md](./CONTRIBUTING.md) for details.

## Release History

Please see our [Release History](https://redis-operator.opstree.dev/docs/release-history/) for details.

## Contact Information

This project is managed by [OpsTree Solutions](http://opstree.com). For any queries or suggestions, you can reach out to us at [opensource@opstree.com](mailto:opensource@opstree.com).

Join our Slack Channel: [#redis-operator](https://join.slack.com/t/opstree/shared_invite/zt-3o8jp35x-UGMU2Cy0WSBk3Lbzqa2wVw).