Updates for Rancher.

This commit is contained in:
Alex Ellis
2017-09-03 08:06:35 +01:00
committed by GitHub
parent c6739d52ff
commit 542da59c39

View File

@ -22,6 +22,29 @@ Here are some ideas:
If you would like to write your own back-end for `X` then you can write your own microservice that conforms to the [Swagger API](https://github.com/alexellis/faas/tree/master/api-docs) here. If you would like to write your own back-end for `X` then you can write your own microservice that conforms to the [Swagger API](https://github.com/alexellis/faas/tree/master/api-docs) here.
### How does my back-end work?
In order to support a new back end you will write a new "external_provider" and configure this on the API Gateway. The API Gateway will then proxy any requests to your new microservice. The first "external_provider" was the Kubernetes implementation [faas-netes](https://github.com/alexellis/faas-netes):
![](https://camo.githubusercontent.com/c250e0dc975e50b6fae3fc84ba5cdc0274bc305c/68747470733a2f2f7062732e7477696d672e636f6d2f6d656469612f44466837692d5a586b41415a6b77342e6a70673a6c61726765)
### Automatically compatible OpenFaaS
The following are fully compatible with any additional back-ends:
* API Gateway
* Promethes metrics (tracked through API Gateway)
* The built-in UI portal (hosted on the API Gateway)
* The Function Watchdog and any existing OpenFaaS functions
* The [CLI](https://github.com/alexellis/faas-cli)
* Asynchronous function invocation
Dependent on back-end:
* Secrets or environmental variable support
* Windows Containers function runtimes (i.e. via W2016 and Docker)
* Scaling - dependent on underlying API (available in Docker & Kubernetes)
#### Backend endpoints: #### Backend endpoints:
* List / Create / Delete a function * List / Create / Delete a function
@ -48,9 +71,21 @@ Method(s): POST
Method(s): POST Method(s): POST
### Examples / documentation ### Examples / documentation
* See the [Swagger API](https://github.com/alexellis/faas/tree/master/api-docs) as a starting point.
#### faas-netes (Kubernetes)
The Kubernetes integration was written by Alex Ellis and is officially supported by the project.
* See the [FaaS-netes handlers](https://github.com/alexellis/faas-netes/tree/master/handlers) for examples of how to implement each endpoint. * See the [FaaS-netes handlers](https://github.com/alexellis/faas-netes/tree/master/handlers) for examples of how to implement each endpoint.
* See the [Swagger API](https://github.com/alexellis/faas/tree/master/api-docs) #### Rancher / Cattle (community)
This work is by Ken Fukuyama from Japan.
* [Blog post](https://medium.com/@kenfdev/openfaas-on-rancher-684650cc078e)
* [faas-rancher](https://github.com/kenfdev/faas-rancher) implementation in Golang