faas-provider Interface

The faas-provider provides the CRUD API for Functions as well as the invoke capabilities.

The faas-provider is an SDK written in Go which conforms to the OpenFaaS provider’s HTTP REST API. Providers which implement the interface should be compatible with the OpenFaaS toolchain and ecosystem, including the UI, CLI, Function Store, Template Store and OpenFaaS Cloud.

Conceptual diagram

Each provider implements the following behaviours:

  • CRUD for Functions (or microservices)
  • Invocation of Functions via a proxy
  • Scaling of Functions
  • CRUD for Secrets (optional)
  • Log streaming (optional)

Official Providers

Kubernetes Provider

faas-netes is the official OpenFaaS provider for Kubernetes bundled with the Helm chart. It also provides a Function CRD using the -operator=true flag.

faasd providers

faasd OpenFaaS for a single node, without clustering. It’s very fast cold-starts, very cheap to run.

Docker Swarm Provider (deprecated)

faas-swarm is the official OpenFaaS provider for Docker Swarm.

faas-memory (example)

The faas-memory provider uses an in-memory store for state and is provided for for testing purposes and and as an example.

Community Providers

View a list of Community Providers here