Skip to main content

Installation

The purpose of this guide is to help you install TypeStream locally so you can start writing your own data pipelines.

If you're looking to run TypeStream in production, refer to the deployment guide.

TypeStream can run in two different modes:

  • Local mode: This mode is intended for development purposes. Every feature is available, but long running processes aren't persisted anywhere. It's not recommended to use local mode in production.
  • Kubernetes mode: This mode is intended for production purposes. Every feature is available and long running processes are run as Kubernetes jobs. It's the recommended way to run TypeStream in production.

To help you install TypeStream, the official CLI has two groups of commands to help you with the process of installing TypeStream locally. So let's install the CLI first:

brew install typestreamio/tap/typestream

Then check if TypeStream is installed correctly:

typestream --version
typestream version 2023.09.28.0

If you see something like that, you're all set 🎉

Local mode

Pre-requisites:

You can start TypeStream in local mode by running:

typestream local start

You should see something like this:

2023/06/27 10:19:33 INFO 🚀 starting TypeStream server
2023/06/27 10:19:33 INFO 🛫 starting server
2023/06/27 10:19:33 INFO 🛫 starting redpanda
2023/06/27 10:19:33 INFO ✨ redpanda started
2023/06/27 10:19:33 INFO ✨ server started
2023/06/27 10:19:34 INFO ✅ server healthy
2023/06/27 10:19:39 INFO ✅ redpanda healthy
2023/06/27 10:19:39 INFO 🎉 TypeStream server started

If you have an existing docker compose file, you can add a typestream service to it. Run typestream local show to get the docker compose snippet you need to add to your existing docker compose file.

Kubernetes mode

Pre-requisites:

The first thing we need to do know is to create a cluster minikube:

minikube start --cpus=4 --memory=8192 --addons=registry --profile=typestream --insecure-registry="10.0.0.0/24"

Then install TypeStream:

typestream k8s create --redpanda

This command installs TypeStream in the typestream namespace. You can check if everything is installed correctly by running:

kubectl get pods -n typestream

If you see something like this:

NAME                            READY   STATUS    RESTARTS   AGE
pod/redpanda-858d6cbf4c-sggwc 1/1 Running 0 87s
pod/server-5d97446fd8-w6bnk 1/1 Running 0 87s

NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/redpanda ClusterIP 10.106.233.203 <none> 18081/TCP,18082/TCP,19092/TCP,19644/TCP 87s
service/server ClusterIP 10.104.133.184 <none> 4242/TCP 87s

NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/redpanda 1/1 1 1 87s
deployment.apps/server 1/1 1 1 87s

NAME DESIRED CURRENT READY AGE
replicaset.apps/redpanda-858d6cbf4c 1 1 1 87s
replicaset.apps/server-5d97446fd8 1 1 1 87s

You're all set now 🎉

Where to go from here

If it's the first time you're around here, we recommend the getting started guide.