Skip to content

samaitra/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 on Minikube or Getting started on GKE 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

Setup for development

If you want to quickly standup a development copy of riff:

Note
Starting with with Minikube v0.26.0 the default for Minikube is to use the kubeadm bootstrapper which enables RBAC. The older localkube bootstrapper is now deprecated. The following instructions assume that your cluster is running with RBAC enabled. It is still possible to install riff without RBAC roles by omitting the rbac target from the make command.
make dev-setup rbac

Which will:

  • Create a riff-system namespace

  • Deploy a non-replicated Kafka broker

  • Install riff CRDs and system components

  • Create a riff service account

  • Install riff roles and rolebindings

To tear it all down

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

make teardown

Try Some Samples

Sample functions are typically found in the corresponding invoker repositories. See the projectriff invoker repositories for example.

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 95.6%
  • Makefile 2.3%
  • Shell 1.1%
  • Other 1.0%