All the runtimes in a single place using the Go proxy and ActionLoop.
runtimes are docker images, and they all use a proxy in go and some scripts for execution.
Go Proxy code is in folder openwhisk
and the main is proxy.go
in top level.
You can compile it with go build -o proxy
.
Tests are in openwhisk folder, test it with cd opewhisk ; go test
Runtime sources are under runtimes/<plang>/<version>
(<plang>
is programming languate)
Special case is runtime/common/<version>
that contains the proxy itseself, it is used as base image for the others and must be build first.
Build and push the common runtime with task build-common
. Also ensure the image is public.
Then you can build a single runtime specifingh the dir:
Build a single runtime: task build-runtime DIR=nodejs/v18