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
- Choco
brew install typestreamio/tap/typestream
# TODO
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.