An operator for Typesense written in Python. Provides a way to manage Typesense in various deployment configurations. It is currently being worked on to be made production ready.
Please report an issue for improvement suggestions/feedback. This operator is being written with the help of KOPF framework.
The general idea is to make deployment of Tyepsense on kubernetes easy by automating the entire process involved in creation of Typesense cluster
kubectl create -f operator-config.yaml
cd deploy
Deploy the Custom Resource Definition
kubectl create -f crd.yaml
kubectl create -f rbac.yaml
kubectl create -f operator.yaml
kubectl get pods
# Get Typesense pod status
kubectl get pods -n <namespace>
operator-config.yaml
spec
or config
spec
replicas
: Number of replicas of typesense. default is 3
namespace
: Namespace to be used for deployment. default namespace is typesense
image
: Typesense production ready docker image. List can be found here. By default latest
tag will be pulledresources
: Resources for cpu and memory.resources:
requests:
memory: 100Mi
cpu: "64m"
limits:
memory: 256Mi
cpu: "512m"
nodeSelector
: Node to which pod has to be scheduled. if not specified, it picks up the node with available resourcesstorageClass
: Provides a way to administor the storage. Create a storage class with the provider of your choice and add it to the operator config.name
and size
name
: Name of the storageClass that the operator should consider for volume mount.size
: Size of the volume to be allocated to each typesense replica.startupProbe
: Protect slow starting containers with startup probes failureThreshold
and periodSeconds
livenessProbe
: Kubernetes provides liveness probes to detect and remedy such situations. failureThreshold
and periodSeconds
config
password
: Typesense authentication is done using a password. defaults to 297beb01dd21c
kubectl create -f operator-config.yaml
kubectl apply -f operator-config.yaml
operator.yaml
filekubectl apply -f <your operator config file yaml>
kubectl delete -f operator-config.yaml
kubectl delete -f deploy/crd.yaml
kubectl delete -f deploy/operator.yaml
kubectl delete -f deploy/rbac.yaml
If you encounter any issues while using the operator, you can get help by:
You can contribute by:
Typesense operator is licensed under the Apache License