riff

command module
v0.0.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 6, 2018 License: Apache-2.0 Imports: 7 Imported by: 0

README

= riff is for functions image:https://travis-ci.org/projectriff/riff.svg?branch=master["Build Status", link="https://travis-ci.org/projectriff/riff"]

image::logo.png[riff logo, link=https://projectriff.io/]
A FaaS for Kubernetes

== Installation of the latest release

See link:Getting-Started.adoc[Getting Started] for how to install riff with a Helm Chart,
and how to install the riff CLI.

== Developer installation

See link:Development-Helm-install.adoc[Installing the riff development version using Helm] to install the latest unreleased builds (git master branch) of riff.

== [[manual]] 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

[source, bash]
----
eval $(minikube docker-env)
----

=== Get the main riff repo and install the CLI

[source, bash]
----
go get github.com/projectriff/riff
----

=== Build the riff core components

[source, bash]
----
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:

[source, bash]
----
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:

[source, bash]
----
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:

[source, bash]
----
make teardown
----

== [[samples]]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:

[source, bash]
----
KAFKA_BROKERS=localhost:9092 KAFKA_BROKER=localhost:9092 make test
----


== Contributing to riff

Please refer to the link:CONTRIBUTING.adoc[Contributors' Guide].

== Maintaining riff

Please refer to the link:MAINTAINING.adoc[Maintainers' Guide].

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
function-controller
cmd command
mocks
Code generated by mockery v1.0.0 Code generated by mockery v1.0.0 Code generated by mockery v1.0.0 Code generated by mockery v1.0.0 Code generated by mockery v1.0.0
Code generated by mockery v1.0.0 Code generated by mockery v1.0.0 Code generated by mockery v1.0.0 Code generated by mockery v1.0.0 Code generated by mockery v1.0.0
pkg/controller/autoscaler/mockautoscaler
Code generated by mockery v1.0.0
Code generated by mockery v1.0.0
function-sidecar
cmd command
pkg/dispatcher/grpc/function
Package function is a generated protocol buffer package.
Package function is a generated protocol buffer package.
pkg/dispatcher/mockdispatcher
Code generated by mockery v1.0.0
Code generated by mockery v1.0.0
http-gateway
cmd command
kubernetes-crds
pkg/apis/projectriff.io/v1alpha1
Package v1 contains the v1 version of API types corresponding to riff Custom Resource Definitions.
Package v1 contains the v1 version of API types corresponding to riff Custom Resource Definitions.
pkg/client/clientset/versioned
This package has the automatically generated clientset.
This package has the automatically generated clientset.
pkg/client/clientset/versioned/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
pkg/client/clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
pkg/client/clientset/versioned/typed/projectriff/v1alpha1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
pkg/client/clientset/versioned/typed/projectriff/v1alpha1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
message-transport
pkg/message
Package message defines an abstract message type with a simple concrete implementation.
Package message defines an abstract message type with a simple concrete implementation.
pkg/transport
Package transport provides interfaces for sending and receiving messages.
Package transport provides interfaces for sending and receiving messages.
pkg/transport/kafka
Package kafka provides an implementation of the transport interface for Apache Kafka.
Package kafka provides an implementation of the transport interface for Apache Kafka.
pkg/transport/metrics
Package metrics provides message transport metrics.
Package metrics provides message transport metrics.
pkg/transport/metrics/kafka_over_kafka
kafka_over_kafka emits metrics from Kafka producers and consumers to Kafka (acting as a "metrics collector").
kafka_over_kafka emits metrics from Kafka producers and consumers to Kafka (acting as a "metrics collector").
pkg/transport/metrics/mockmetrics
Code generated by mockery v1.0.0
Code generated by mockery v1.0.0
pkg/transport/mocktransport
Code generated by mockery v1.0.0 Code generated by mockery v1.0.0 Code generated by mockery v1.0.0
Code generated by mockery v1.0.0 Code generated by mockery v1.0.0 Code generated by mockery v1.0.0
riff-cli
cmd
pkg/docker
Code generated by mockery v1.0.0
Code generated by mockery v1.0.0
pkg/functions
* Copyright 2018 the original author or authors.
* Copyright 2018 the original author or authors.
pkg/kubectl
Code generated by mockery v1.0.0
Code generated by mockery v1.0.0
pkg/minikube
Code generated by mockery v1.0.0
Code generated by mockery v1.0.0
pkg/options
* Copyright 2018 the original author or authors.
* Copyright 2018 the original author or authors.
topic-controller
cmd command
pkg/topic/provisioner
Package provisioner provides utilities to allow creation of destinations in middlewares, such as queues and topics.
Package provisioner provides utilities to allow creation of destinations in middlewares, such as queues and topics.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL