rmorgan / riff

riff is for functions

Home Page:https://projectriff.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

Setup for development

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

make dev-setup

Which will:

  • Create a riff-system namespace

  • Deploy a non-replicated Kafka broker

  • Install riff CRDs and system components

Deploying with RBAC

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

kubectl apply -n riff-system -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:

make teardown

Try Some Samples

Sample functions have moved into their respective invoker repositories.

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

https://projectriff.io

License:Apache License 2.0


Languages

Language:Go 93.2%Language:Shell 2.4%Language:Makefile 2.4%Language:Batchfile 1.0%Language:Smarty 0.5%Language:JavaScript 0.5%Language:Gnuplot 0.1%