Yeah that's pretty much it -- "CGI, except containerized/as a single binary".
I guess I could make a Docker image that had a CGI-compliant server and an admin endpoint where you POST'ed file contents?
The current design I went with is that you upload a .zip or .tar.gz file that contains a "manifest.json" and then your source code.
The "manifest.json" points to the entrypoint file for each function you want to deploy, and says what HTTP endpoint it should live at, and what language it is.
It supports JS/TS, Python, Ruby, WASM, and LLVM langs (C/C++/Rust/Swift/Haskell/etc):
The platform runs as a single static binary, or a JVM application (can be in a container), and it does a bunch of magic with GraalVM to convert the source code into executable functions, perform any kind of bundling/dependency library installation, etc, and finally creates the HTTP endpoints.
I guess I could make a Docker image that had a CGI-compliant server and an admin endpoint where you POST'ed file contents?
The current design I went with is that you upload a .zip or .tar.gz file that contains a "manifest.json" and then your source code.
The "manifest.json" points to the entrypoint file for each function you want to deploy, and says what HTTP endpoint it should live at, and what language it is.
It supports JS/TS, Python, Ruby, WASM, and LLVM langs (C/C++/Rust/Swift/Haskell/etc):
The platform runs as a single static binary, or a JVM application (can be in a container), and it does a bunch of magic with GraalVM to convert the source code into executable functions, perform any kind of bundling/dependency library installation, etc, and finally creates the HTTP endpoints.