From e2cf3732e1ff6ef4863a0653f212f898a8e947b5 Mon Sep 17 00:00:00 2001 From: "Alex Ellis (OpenFaaS Ltd)" Date: Sat, 21 Dec 2019 09:10:40 +0000 Subject: [PATCH] Update backlog Signed-off-by: Alex Ellis (OpenFaaS Ltd) --- README.md | 39 +++++++++++++++++++++++++++++++++++++-- 1 file changed, 37 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 3953c72..9a1cc43 100644 --- a/README.md +++ b/README.md @@ -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) +