Skip to content

scostache/riff

 
 

Repository files navigation

Prerequisites

a running 1.7 Kubernetes cluster (instructions assume minikube for now)

Build

eval $(minikube docker-env)
./mvnw clean package
./mvnw docker:build -pl ./topic-controller
./mvnw docker:build -pl ./topic-gateway
./mvnw docker:build -pl ./function-dispatcher

Create Kafka/Zookeeper

kubectl apply -f config/kafka

Deploy

kubectl apply -f config/

Create a Handler

kubectl create -f samples/shell-handler.yaml

Create a Topic

kubectl create -f samples/words-topic.yaml

Create a Function

kubectl create -f samples/echo-function.yaml

Publish a Message to the Topic

curl -H "Content-Type: text/plain" $(minikube ip):30111/messages/words -d hello

Watch Results on Minikube

minikube ssh
tail -f /messages/words.log

Tear it all down

kubectl delete functions/echo
kubectl delete topics/words
kubectl delete handlers/shell
kubectl delete all -l app=topic-controller
kubectl delete all -l app=topic-gateway
kubectl delete all -l app=function-dispatcher
kubectl delete crd/functions.extensions.sk8s.io
kubectl delete crd/topics.extensions.sk8s.io
kubectl delete crd/handlers.extensions.sk8s.io
kubectl delete jobs -l function=echo
kubectl delete all -l app=kafka

About

riff is for functions

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published