Giter Site home page Giter Site logo

mikebywater / openfaas-cloud Goto Github PK

View Code? Open in Web Editor NEW

This project forked from openfaas/openfaas-cloud

0.0 2.0 0.0 27.24 MB

OpenFaaS Cloud: multi-user serverless functions managed with git

Home Page: https://blog.alexellis.io/introducing-openfaas-cloud/

License: MIT License

Makefile 0.24% Go 77.53% Shell 0.43% HTML 4.53% CSS 0.92% JavaScript 15.41% Dockerfile 0.93%

openfaas-cloud's Introduction

OpenFaaS Cloud

OpenFaaS Cloud: multi-user serverless functions managed with git

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

Announcement from Cisco's DevNet Create in Mountain View

Description

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
  • 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 [email protected] 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, wildcard certificates using the ofc-bootstrap tool

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: 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.

Option 3: Community Cluster (SaaS)

There are a limited amount of spots available on the OpenFaaS Community Cluster. To apply contact [email protected] with what you plan to run on the environment. Read the privacy statement and terms and conditions for the hosted version of OpenFaaS Cloud.

Getting help

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

openfaas-cloud's People

Contributors

acornies avatar akihirosuda avatar alexellis avatar amn41 avatar bartsmykla avatar burtonr avatar doowb avatar ericstoekl avatar ivanayov avatar jagreehal avatar jaigouk avatar johnmccabe avatar k33g avatar kenfdev avatar kvuchkov avatar martindekov avatar matipan avatar nabheetcloud avatar padiazg avatar rajatjindal avatar rdimitrov avatar rgee0 avatar richsanders avatar roncrivera avatar rorpage avatar rvanzon avatar ryanbascom avatar s8sg avatar viveksyngh avatar zeerorg avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.