Skip to content

opendi/typesense-operator

 
 

Repository files navigation

TyKO Logo

TypesenseSupportedVersions KubernetesSupportedVersions License Go GitHub Release Stars

🎯 Why TyKO?

Simplify the deployment, scaling, and management of Typesense clusters in Kubernetes.

  • Deploy highly-available Typesense clusters with a single declarative YAML manifest
  • Automates Typesense lifecycle management (config maps, secrets, volumes, statefulsets, services, ingress, metrics, scrapers)
  • Automates Raft quorum configuration, discovery and recovery without additional sidecars or manual interventions
  • Built with Go & Operator SDK — lightweight, Kubernetes-native, and flexible
  • Community-driven, with plethora of examples for Kind, CCE, AKS, EKS, and more

⚡ Get Started

# Install the Operator
helm repo add tyko https://akyriako.github.io/typesense-operator/
helm repo update

helm upgrade --install typesense-operator tyko/typesense-operator -n typesense-system --create-namespace
Quick example for Open Telekom Cloud CCE
apiVersion: ts.opentelekomcloud.com/v1alpha1
kind: TypesenseCluster
metadata:
  labels:
    app.kubernetes.io/name: typesense-operator
    app.kubernetes.io/managed-by: kustomize
  name: ts-cce
spec:
  image: typesense/typesense:29.0
  replicas: 3
  storage:
    storageClassName: csi-disk
Quick example for Kind
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: typesense-local-path
provisioner: rancher.io/local-path
reclaimPolicy: Delete
allowVolumeExpansion: true
volumeBindingMode: WaitForFirstConsumer
---
apiVersion: ts.opentelekomcloud.com/v1alpha1
kind: TypesenseCluster
metadata:
  labels:
    app.kubernetes.io/name: typesense-operator
    app.kubernetes.io/managed-by: kustomize
  name: ts-kind
spec:
  image: typesense/typesense:29.0
  replicas: 3
  storage:
    size: 150Mi
    storageClassName: typesense-local-path
Quick example for AWS EKS
apiVersion: ts.opentelekomcloud.com/v1alpha1
kind: TypesenseCluster
metadata:
  labels:
    app.kubernetes.io/name: typesense-operator
    app.kubernetes.io/managed-by: kustomize
  name: ts-aws
spec:
  image: typesense/typesense:29.0
  replicas: 3
  storage:
    size: 100Mi
    storageClassName: gp2
Quick example for Azure AKS
apiVersion: ts.opentelekomcloud.com/v1alpha1
kind: TypesenseCluster
metadata:
  labels:
    app.kubernetes.io/name: typesense-operator
    app.kubernetes.io/managed-by: kustomize
  name: ts-azure
spec:
  image: typesense/typesense:29.0
  replicas: 3
  storage:
    storageClassName: managed-csi

You can find more examples and analytical installation instructions in the Installation and Configuration guides.

📚 Documentation

💬 Community & Support

Join the conversation:

  • GitHub Discussions: ask questions, share feedback, submit suggestions or help others
  • Issues: report bugs or request features

📦 Project Status

TyKO is an independently maintained project (not affiliated with Typesense, Inc.).

  • Latest version: 0.3.1
  • Tested on: Kubernetes 1.33 (earliest 1.26), Typesense 29.0 (earliest 26.0)
  • Contributions welcome! See FAQ and Development

⭐ Help us Grow

  • Star the repo if you want this operator to grow
  • Try TyKO in your own infrastructure and share your feedback or list yourselves as Adopters
  • Spread the word: blog posts, tutorials, or community shoutouts help others discover it

About

Typesense Kubernetes Operator (TyKO) simplifies deploying, scaling, and managing Typesense clusters in Kubernetes

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 87.9%
  • Makefile 10.1%
  • Smarty 1.2%
  • Dockerfile 0.8%