Skip to content
Managed OpenFaaS for teams
Go JavaScript HTML Dockerfile CSS Shell Makefile
Branch: master
Clone or download
utsavanand2 and alexellis Update travis badge link from .org to .com
Signed-off-by: Utsav Anand <utsavanand2@gmail.com>
Latest commit 217cf84 Dec 10, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Add faas version to issue template Sep 28, 2018
audit-event Add descriptions for other functions Oct 5, 2018
buildshiprun Rename tests in buildshiprun Dec 8, 2019
contrib Update YAML files for 1.16 Oct 24, 2019
dashboard Rename system-metrics to metrics #551 Dec 8, 2019
docs Rename system-metrics to metrics #551 Dec 8, 2019
edge-auth Rename system-metrics to metrics #551 Dec 8, 2019
edge-router Bump edge-router and dashboard Nov 5, 2019
function-logs Update the log dashboard to pull 30 mins of logs Nov 11, 2019
garbage-collect Update verbosity of functions Nov 10, 2019
git-tar Initial ECR support Oct 28, 2019
github-event Fix issue with repo deletion event on GitHub Jun 13, 2019
github-push Change message when refusing to build Apr 26, 2019
github-status Vendor the HMAC from SDK Jan 4, 2019
gitlab-event Add comments above handlers Dec 4, 2018
gitlab-push Add building from different branch GitLab Apr 26, 2019
gitlab-status Moved creation of http client outside of sendReport Jan 3, 2019
import-secrets Update YAML files for 1.16 Oct 24, 2019
list-functions Update list-functions to use struct from SDK Nov 9, 2019
metrics Rename system-metrics to metrics #551 Dec 8, 2019
of-builder Update hints in local.md Oct 28, 2019
pipeline-log Add comments above handlers Dec 4, 2018
register-image Update verbosity of functions Nov 10, 2019
sample-json Allow usage of shared public Docker Repository May 25, 2018
sdk Add Function to SDK Nov 9, 2019
yaml Bump stack and edge-auth versions Nov 11, 2019
.DEREK.yml Redirect Derek file to openfaas/faas file Jun 16, 2018
.gitignore Split out aws.yml file Oct 28, 2019
.travis.yml Ammend CI for pre-install Apr 20, 2018
CONTRIBUTING.md Update usage / terms May 15, 2018
CUSTOMERS Update CUSTOMERS Dec 8, 2019
LICENSE Update PRIVACY/LICENSE Apr 4, 2019
Makefile Add Makefile to supress Travis go/get Apr 20, 2018
PRIVACY.md Update privacy policy to clarify operator Jun 21, 2019
README.md Update travis badge link from .org to .com Dec 10, 2019
aws.yml Update verbosity of functions Nov 10, 2019
buildshiprun_limits.yml Add CPU limiting Apr 7, 2019
gateway_config.yml Update GitLab function versions Aug 28, 2019
github.yml Move stack.yml Docker hub account Aug 31, 2018
gitlab.yml Update list-functions to use struct from SDK Nov 9, 2019
slack.yml Move slack audit to use K8s namespace Jun 28, 2018
stack.yml Rename system-metrics to metrics #551 Dec 8, 2019

README.md

OpenFaaS Cloud

Managed OpenFaaS for teams

https://pbs.twimg.com/media/DacWCtZVMAAJQ-u.jpg

Announcement from Cisco's DevNet Create in Mountain View

KubeCon 2019 talk 🌮

Watch the latest conference talk from KubeCon:

OpenFaaS Cloud + Linkerd: A Secure, Multi-Tenant Serverless Platform - Charles Pretzer & Alex Ellis

Description

Build Status

OpenFaaS Cloud introduces an automated build and management system for your Serverless functions with native integrations into your source-control management system whether that is GitHub or GitLab.

With OpenFaaS Cloud functions are managed through typing git push which reduces the tooling and learning curve required to operate functions for your team. As soon as OpenFaaS Cloud receives a push event from git it will run through a build-workflow which clones your repo, builds a Docker image, pushes it to a registry and then deploys your functions to your cluster. Each user can access and monitor their functions through their personal dashboard.

Features:

  • Portable - self-host or use the hosted Community Cluster (SaaS)
  • Multi-user - use your GitHub/GitLab identity to log into your personal dashboard
  • Automates CI/CD triggered by git push (also known as GitOps)
  • Onboard new git repos with a single click by adding the GitHub App or a repository tag in GitLab
  • Immediate feedback on your personal dashboard and through GitHub Checks or GitLab Statuses
  • Sub-domain per user or organization with HTTPS
  • Runtime-logs for your functions
  • Fast, non-root image builds using Docker's buildkit

The dashboard page for a user:

Dashboard

The details page for a function:

Details page

Requirements

  • OpenFaaS (0.9.10 or greater is recommended)
  • Docker Swarm or Kubernetes

Note: other OpenFaaS providers may work, but have not been tested

Blog post

Read my introducing OpenFaaS Cloud blog post for an overview of the idea with examples, screenshots and background on the project.

Conceptual architecture diagram

This conceptual diagram shows how OpenFaaS Cloud integrates with GitHub/GitLab through the use of an event-driven architecture.

Main flows:

  1. User pushes code - GitHub/GitLab push event is sent to github-event/gitlab-event function triggering a CI/CD workflow
  2. User removes GitHub/GitLab app from one or more repos - garbage collection is invoked removing 1-many functions
  3. User accesses function via router using "pretty URL" format and request is routed to function via API Gateway

See also: COMPONENTS.md for detailed information on each component.

Roadmap & Features

See the Roadmap & Features

Get started

You can set up and host your own OpenFaaS Cloud or contact alex@openfaas.com for instructions on how to participate in a public trial of a fully-hosted service (a.k.a. Community Cluster).

Option 1: Automated deployment (self-hosted)

You can set up your own OpenFaaS Cloud with authentication and wildcard certificates using ofc-bootstrap in around 100 seconds.

Get started: ofc-bootstrap

This method assumes you are using Kubernetes and have a public IP available. Some basic knowledge of how to setup a GitHub App and GitHub OAuth App along with a DNS service account on Google Cloud DNS or AWS Route53.

Option 2: Community Cluster (SaaS)

The OpenFaaS Community Cluster is a hosted version of OpenFaaS Cloud for community use and for evaluation.

Option 3: Manual deployment (self-hosted)

The manual deployment takes longer, but covers all the requirements in detail and is the most flexible option. You may follow this guide if you are contributing to the project, or if you want to use Swarm.

Read the developer's guide to find out more about the functions and to start hacking on OpenFaaS Cloud.

Getting help

For help join #openfaas-cloud on the OpenFaaS Slack workspace.

You can’t perform that action at this time.