actualizar readme para reflejar código actual

This commit is contained in:
Cat /dev/Nulo 2023-06-23 17:50:29 -03:00
parent 5ed0f62abf
commit 67784da199

View file

@ -1,18 +1,27 @@
## setup # fireactions
```sh ¡WIP!
sudo env GOBIN=/opt/cni/bin go install github.com/awslabs/tc-redirect-tap/cmd/tc-redirect-tap@latest
sudo dnf install containernetworking-plugins una API para correr cosas aisladas en una VM [firecracker] que inicia rápido a partir de una imágen de contenedor OCI. inspirado en [Fly Machines] y otras cosas.
```
[firecracker]: <https://github.com/firecracker-microvm/firecracker>
[Fly Machines]: <https://fly.io/docs/reference/machines/>
## setup
```sh ```sh
# build rootfs image (incl. agent) # build rootfs image (incl. agent)
(cd rootfs; pnpm install) (cd rootfs; pnpm install)
node rootfs/index.js node rootfs/index.js
# build & run daemon # run daemon
go build && sudo ./fireactions (cd server; pnpm install && pnpm start) &
# run VM # run VM
curl --data-raw "#!/bin/sh"\n"echo hi" localhost:8080/run curl "localhost:8080/run?image=gitea.nulo.in/nulo/super-image:3.18"
# inspect VM tty
tail -f /tmp/std*
``` ```
## componentes
1. `server` es el servidor de api (JavaScript/TypeScript) que recibe pedidos, descarga imagenes OCI y inicia firecracker con los parametros apropiados.
1. `rootfs` es el código (JavaScript/TypeScript) que genera el rootfs con todo lo necesario para configurar la vm (red (WIP), mounts básicos, etc) y montar la imágen.
1. `rootfs/init` es un programa (Rust) que hace las cosas básicas antes de y para montar la imágen OCI y hace chroot.