Skip to content

josephburnett/riff

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

riff is for functions Build Status

riff logo

A FaaS for Kubernetes

Installation of the latest release

See Getting Started for how to install riff with a Helm Chart, and how to install the riff CLI.

Developer installation

See Installing the riff development version using Helm to install the latest unreleased builds (git master branch) of riff.

Manual build

This is the best option if you want to modify the riff components.

Prerequisites

You need:

  • A working Go environment

  • A local 1.7+ Kubernetes cluster

  • A docker daemon

To build images with docker in minikube use

eval $(minikube docker-env)

Get the main riff repo and install the CLI

go get github.com/projectriff/riff

Build the riff core components

cd $(go env GOPATH)/src/github.com/projectriff/riff
make dockerize

Deploy Kafka

Create the riff-system namespace:

kubectl create namespace riff-system

Install the kafka/zookeeper deployments and services:

kubectl apply -n riff-system -f config/kafka

Deploy the riff Custom Resource Definitions and deploy the riff core components

This creates the the topic and function CRDS, then deploys the HTTP Gateway, Topic Controller, and Function Controller:

make kubectl-apply

If your cluster has RBAC enabled, then you also need to create a Role and a RoleBinding:

kubectl apply -f config/rbac

To tear it all down

Once you’re done playing with riff (see samples below), you can destroy everything created above by running:

./teardown

Try Some Samples

With riff running try some of the samples.

Running the tests

To run all riff’s unit and integration tests, ensure Kafka (with auto.create.topics.enable=true, which is the default) and Zookeeper are running locally, then issue:

KAFKA_BROKERS=localhost:9092 KAFKA_BROKER=localhost:9092 make test

Contributing to riff

Please refer to the Contributors' Guide.

Maintaining riff

Please refer to the Maintainers' Guide.

About

riff is for functions

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 90.5%
  • Shell 3.0%
  • Makefile 2.6%
  • JavaScript 2.3%
  • Batchfile 1.2%
  • Smarty 0.4%