faas-federation is an implementation of the faas-provider which can be used to unify one or more OpenFaaS clusters under a single API.
This project exists to join together two or more distinct OpenFaaS clusters.
- Multi-region - east/west
Get a single API / control-plane for one or more clusters split by location, such as east/west.
- Edge locations
You may have one or more edge locations (or even ARM/IoT OpenFaaS installations). You can join them together under a single set of credentials and control plane.
- Varying provider types
You can connect two or more different OpenFaaS provider types together. For instance: Kubernetes (faas-netes) and Lambda (faas-lambda). This means you can have a single, centralized control-plane but deploy to both AWS Lambda and Kubernetes at the same time.
faas-federation
can replace your provider in your existing OpenFaaS deployment.
More coming soon.
Coming soon: deploy OpenFaaS with two separate faas-memory
providers.
See also: example of Kubernetes and AWS Lambda federated configuration in the sample helm chart.
To route to one gateway or another, simply set com.openfaas.federation.gateway
to the name you want to pick.
Annotation | Description |
---|---|
com.openfaas.federation.gateway |
route the request based on the provider name i.e. faas-netes , faas-lambda |
All configuration is managed using environment variables
Option | Usage | Default | Required |
---|---|---|---|
providers |
comma separated list of provider URLs i.e. http://faas-netes:8080,http://faas-lambda:8080 |
- | yes |
default_provider |
default provider URLs used when no deployment constraints are matched i.e. http://faas-netes:8080 |
- | yes |
Idea by Alex Ellis and Edward Wilde.
MIT