Skip to content

ZEISS/typhoon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

typhoon

Test & Lint Go Report Card Taylor Swift Volkswagen License

An event bridge for applications and services build on top of NATS.io and Knative Eventing/Serving.

Open in GitHub Codespaces

Why

AWS EventBridge is a great service to bridge events between different sources and targets in your enterprise. However, it is not a cloud-native solution and it is not open-source.

It is the goal to create a cloud-native and open-source alternative that works on-premise and in the cloud and that has a focus on enterprise-readyness.

Design

  • Event mesh. The system is capable to route events from producers to consumers in hybrid cloud environemts.
  • Streaming. The system is capable to stream events from producers to consumers. That means it is capable of replaying events not only queueing them.
  • Event bridging. The system is capable to bridge events from different sources to different targets, also transforming them. Furthermore, this should use a declarative approach.
  • Scalability. The system is capable to scale horizontally and vertically.
  • Resilience. The system is capable to recover from failures.
  • Security. The system is capable to secure the communication between producers and consumers.
  • Open standards. The system is based on open standards like NATS.io and Knative Eventing.

Overview

Typhoon is built on top of NATS.io and Knative Eventing. It provides a control plane for managing event sources, triggers, and targets.

The accounting should be done via the Operator for NATS Accounting that we provide to configure NATS.io accounts and users.

Sources

Targets

Installation

Helm can be used to install Typhoon to your Kubernetes cluster.

helm repo add typhoon https://zeiss.github.io/typhoon
helm repo update
helm search repo typhoon

Install Typhoon to your cluster and wait for the deployment to finish.

helm install typhoon typhoon/typhoon --wait

Prerequisites

  • Kubernetes v1.28 or newer
  • Knative Eventing v1.16 or newer
  • Knative Serving v1.16 or newer
  • Helm 3.0 or newer

The prerequisites can be installed via the ZEISS Charts.

Installation

Typhoon depends on Knative Eventing and NATS.

Development

You can use minikube to run a local Kubernetes cluster.

sh scripts/setup-minikube.sh

Run the following Makefile target to deploy Typhoon to your local Kubernetes cluster.

make deploy

License

Apache 2.0