Skip to content
This repository has been archived by the owner on Feb 2, 2021. It is now read-only.

openfaas/ofc-bootstrap

Repository files navigation

ofc-bootstrap

Provide a managed OpenFaaS experience for your team

How? By automating the whole installation of OpenFaaS Cloud on Kubernetes into a single command and CLI.

Build Status

What is this and who is it for?

You can use this tool to configure a Kubernetes cluster with OpenFaaS Cloud. You just need to complete all the pre-requisites and fill out your init.yaml file then run the tool. It automates several pages of manual steps using Golang templates and bash scripts so that you can get your own OpenFaaS Cloud in around 1.5 minutes.

Experience level: intermediate Kubernetes & cloud.

The ofc-bootstrap will install the following components:

  • OpenFaaS installed with helm
  • Nginx as your IngressController - with rate-limits configured
  • SealedSecrets from Bitnami - store secrets for functions in git
  • cert-manager - provision HTTPS certificates with LetsEncrypt
  • buildkit from Docker - to building immutable Docker images for each function
  • Authentication/authorization - through OAuth2 delegating to GitHub/GitLab
  • Deep integration into GitHub/GitLab - for updates and commit statuses
  • A personalized dashboard for each user

Conceptual design

The ofc-bootstrap tool is used to install OpenFaaS Cloud in a single click. You will need to configure it with all the necessary secrets and configuration beforehand using a YAML file.

ofc-bootstrap packages a number of primitives such as an IngressController, a way to obtain certificates from LetsEncrypt, the OpenFaaS Cloud components, OpenFaaS itself and Minio for build log storage. Each component is interchangeable.

Video demo

View a video demo by Alex Ellis running ofc-bootstrap in around 100 seconds on DigitalOcean.

View demo

Roadmap

See the ROADMAP.md for features, development status and backlogs.

Get started

Follow the user guide.

Join us on Slack

Got questions, comments or suggestions?

Join the team and community over on Slack