Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed-off-by: Alex Ellis (OpenFaaS Ltd) <alexellis2@gmail.com>
- Loading branch information
Showing
1 changed file
with
37 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,37 @@ | ||
# faasd | ||
faasd | ||
# faasd - serverless with containerd | ||
|
||
faasd is a Golang supervisor that bundles OpenFaaS for use with containerd instead of a container orchestrator like Kubernetes or Docker Swarm. | ||
|
||
## About faasd: | ||
|
||
* faasd is a single Golang binary | ||
* faasd is multi-arch, so works on `x86_64`, armhf and arm64 | ||
* faasd downloads, starts and supervises the core components to run OpenFaaS | ||
|
||
## What does faasd deploy? | ||
|
||
* [faas-containerd](https://github.com/alexellis/faas-containerd/) | ||
* [Prometheus](https://github.com/prometheus/prometheus) | ||
* [the OpenFaaS gateway](https://github.com/openfaas/faas/tree/master/gateway) | ||
|
||
You can use the standard [faas-cli](https://github.com/openfaas/faas-cli) with faasd along with pre-packaged functions in the Function Store, or build your own with the template store. | ||
|
||
### faas-containerd supports: | ||
|
||
* `faas list` | ||
* `faas describe` | ||
* `faas deploy --update=true --replace=false` | ||
* `faas invoke` | ||
|
||
Other operations are pending development in the provider. | ||
|
||
## Backlog | ||
|
||
* Use CNI to create network namespaces and adapters | ||
* Inject / manage IPs between core components for service to service communication - i.e. so Prometheus can scrape the OpenFaaS gateway | ||
* Monitor and restart any of the core components, if they crash | ||
* Configure `basic_auth` to protect the OpenFaaS gateway and faas-containerd HTTP API | ||
* Self-install / create systemd service on start-up using [go-systemd](https://github.com/coreos/go-systemd) | ||
* Bundle/package/automate installation of containerd - [see bootstrap from k3s](https://github.com/rancher/k3s) | ||
* Create [faasd.service](https://github.com/rancher/k3s/blob/master/k3s.service) | ||
|