An event bridge for applications and services build on top of NATS.io and Knative Eventing/Serving.
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.
- 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.
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.
- CloudEvents
- HTTP Poller
- Kafka
- Salesforce
- WebHook
- CloudEvents
- DataDog
- JIRA
- NATS
- Salesforce
- ServiceNow
- Splunk
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
- 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.
Typhoon depends on Knative Eventing and NATS.
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