Here you can find examples of EDGELESS workflows using the functions shipped with the repository in functions and showcasing some of the key features provided by the platform.
container
: shows how to deploy a mixed workflow consisting of a function instance running in WASM, another as a container, and a resourceesp32_resources
: shows how to use ascd30-sensor
resourcefile_log
: shows how to use a resource that appends the function arguments to a file local to the nodehttp_egress
: shows the HTTP egress feature of the e-Balancer by periodically issuing a GET to an external serverhttp_ingress
: shows the HTTP ingress feature of the e-Balancer by waiting for POST commands, to which the function replies with an OK message with fixed body, see tutorialkafka_egress
: shows host to use a resource that streams messages to an Apache Kafka servermatrix_mul
: shows how to create a single function or a chain of three functions performing multiplication of two internal matrices to increase the CPU loadnoop
: minimal workflow with a single function that does nothing, which can be used as a template to create more interesting stuff, see tutorialollama
: workflow that lets you interact via curl (http-ingress
resource) with an ollama server (ollama
resource), saving the responses to a file (file-log
resource)ping_pong
: shows how functions can be combined in a chain and how to access a shared state, see tutorialping_pong_cast
: same as above, but uses CAST instead of CALL eventsredis
: shows how to use a resource that updates values on a Redis serversimple_workflow_http
: shows function chaining with external HTTP source/sinktutorial-01
: shows how to create a DAG of functions/resourcesvector_mul
: shows how to create a single function or a chain of three functions performing multiplication of an internal matrix by an input vector
Before running the examples you must build the system, see building instructions.
You may run all (well, most of) the examples with a single command by using the following script:
scripts/run_all_examples.sh
Some examples require the installation of external components and, thus, are not run by default with the command above. If you want to run all the examples then run:
RUN_SPECIALIZED_WORKFLOWS=1 scripts/run_all_examples.sh