Usage and Set-Up

CLI

All Faasm instances are accessible through the containerised CLI, whichcan be started with cli.sh, i.e.

  1. ./bin/cli.sh

This will mount your current project root inside the container and set up theFaasm CLI environment. From inside this container you can perform allinteractions with a Faasm deployment.

The Faasm CLI uses Invoke, and a list of theavailable commands can be shown with:

  1. inv -l

They are loosely collected into namespaces (of the format xxx.yyy) andthere is tab completion (but it's a bit slow).

Local cluster

To start a local deployment, you can run:

  1. docker-compose up

which creates the containers defined in docker-compose.yml:

  • worker - one or more instances of the Faasm runtime
  • upload - container exposing the Faasm HTTP API
  • nginx - simple load balancer for the Faasm runtime instances
  • redis-state - Redis instance for holding shared state
  • redis-queue - Redis instance for handling queueing of messages between Faasm instances

Faasm will generate machine code from all WebAssembly it encounters. This isstored in the machine-code directory at the root of this project.

Writing and deploying functions

See the language-specific docs for C/C++ and Python.