# Speculator: Redis Operator

![](https://3507371663-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MFROMngQbx5IGrLZR-g%2F-MFROP5SFffhX9AX-LAR%2F-MFROuWngEXGngu4yCyr%2Fimage.png?alt=media\&token=c1561fe4-9740-4f34-99e2-bee924100fe7)

A Golang based redis operator that will make/oversee Redis standalone/cluster mode setup on top of the 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.

### Architecture

![](https://3507371663-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MFROMngQbx5IGrLZR-g%2F-MFROP5SFffhX9AX-LAR%2F-MFRPG8esnusdt9g9Nqq%2Fimage.png?alt=media\&token=994381d7-fc82-4c85-93da-68db67172d12)

### Purpose

The purpose of creating this operator was to provide easy and production-grade setup of Redis on Kubernetes. It doesn't care if you have a plain on-prem Kubernetes or cloud-based.

### Supported Features

Here the features which are supported by this operator:-

* Redis cluster/standalone mode setup
* Inbuilt monitoring with Prometheus exporter
* Dynamic storage provisioning with PVC template
* Resources restrictions with k8s requests and limits
* Password/Password-less setup
* Node selector and affinity
* Priority class to manage setup priority
* SecurityContext to manipulate kernel parameters
