-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ROADMAP #19
Comments
✅ Need to haveCassic watchdog:
of-watchdog:
Good to haveRserve and alikes❗ Rserve branchWould be nice to have a bare bones solution with Rserve. ❗ RestRserve: issue | branch
Having JSON POST issues. httpuv and alikes❌ RookRook serves web apps using R's help server and forces the routes to prepend
✅ httpuv: issue | branch
✅ beakr: issue | branchA nice minimalist framework, somewhere between httpuv and fiery in terms of complexity.
✅ fiery: issue | branch
❌ OpenCPU: issue | branchUse local server, as a microservice. GET works, POST has similar JSON issues as RestRserve. |
Lack of websocket connection can be behind the problems identified (openfaas/of-watchdog#20). Closing this for now. |
As it turns out, Rserve, RestRserve and opencpu works fine. |
This is the roadmap for revising the R/rstats templates for OpenFaaS.
Base images
We need the following base image options (BASEIMAGE below):
rocker/r-base
: consistency for most adopted base images, call this base;rocker/r-ubuntu
: long term support can be important in corporate context and it jives with RSPM, call this ubuntu;r-hub/r-minimal
: small size is always a good thing, call this minimal.Watchdog version
Existing server frameworks
The following are server frameworks capable of running R based APIs:
Template structure and workflows
template.yml
: yaml file for OpenFaaS, docker user, function name etc might have to be edited, see OpenFaaS config.Dockerfile
: usually does not need editing.index.R
: this file abstracts the server framework. Templates are set up for JSON in JSON out re/res types. This file only needs to be edited if the mime type depends on different midlewear, headers need to be changed etc.function/PACKAGES
: file listing required packages and remotes to be installed for thefunction/handler.R
file, plus additional sysreqs.function/handler.R
: R script implementing the handler:handle = function(req, res) { ... }
function called byindex.R
.I really like how the r-minimal image implements
remotes::install_deps()
with the_R_SHLIB_STRIP_=true
envvar. This behavior should be implemented for other templates through the Dockerfile as added by @mrchypark for the r-minimal template.The text was updated successfully, but these errors were encountered: