2022-07-16 19:56:35 +00:00
|
|
|
# WHAT?
|
|
|
|
|
2022-07-16 13:08:33 +00:00
|
|
|
Automate creating a [Faasd](https://github.com/openfaas/faasd/) image.
|
2022-07-16 11:50:45 +00:00
|
|
|
|
2022-07-16 13:08:33 +00:00
|
|
|
Goal is to run this image via
|
2022-07-16 11:50:45 +00:00
|
|
|
[ignite](https://github.com/weaveworks/ignite) which runs it in a
|
|
|
|
[firecracker](https://firecracker-microvm.github.io) microvm.
|
|
|
|
|
2022-07-16 19:56:35 +00:00
|
|
|
# WHY?
|
|
|
|
|
2022-07-16 11:52:27 +00:00
|
|
|
I need to do this because I need to run Faasd in the same machine as
|
|
|
|
dockerized services and according to its documentation that shouldn't
|
|
|
|
be done because both use incompatible versions of underlying dependencies.
|
|
|
|
|
|
|
|
Also in this way resource usage of Faasd and all "lambdas" in it is capped
|
2022-07-16 11:50:45 +00:00
|
|
|
by the VM resources, and the rest of the system is sort-of-protected
|
|
|
|
by the VM sandbox.
|
2022-07-16 19:56:35 +00:00
|
|
|
|
|
|
|
# HOW?
|
|
|
|
|
|
|
|
Assuming you have ignite and faas-cli installed:
|
|
|
|
* replace `id_rsa.pub` with yours
|
|
|
|
* run setup.sh
|
|
|
|
|
|
|
|
You will end up with:
|
|
|
|
|
|
|
|
* A running ubuntu-based VM with faasd installed and running
|
|
|
|
* Ssh enabled and accessible via that key
|
|
|
|
* The faasd port exposed as localhost:8082
|
|
|
|
* Your account logged into faasd
|
|
|
|
* The figlet function installed and working
|