EikenDram / kube-r

Service for processing report requests from RabbitMQ queue by running R scripts
MIT License
0 stars 0 forks source link

KubeR #1

Open EikenDram opened 1 year ago

EikenDram commented 1 year ago

Components:

r-api

r-ver based container with installed plumber and nginx reverse proxy with basic auth, entrypoint is a tool that will make plumber configuration from templates based on config.json file (which will be mounted in container later from helm chart, along with all the R scripts) and then starts the plumber

worker-api

go background service that will wait for messages from rabbitmq and run plumber api on server

result will be saved on manager node

worker-r

go background service on r-ver container that will wait for messages from rabbitmq and run R scripts on same node

result will be saved on manager node

manager

go web api that will accept calls from applications and sends messages into rabbit mq for workers to process

also backend api for web-ui

web-ui

vue+vuetify single page application for managing and monitoring

EikenDram commented 1 year ago

I need to do proof of concept first before doing this properly

EikenDram commented 1 year ago

maybe make an option to use either tidyverse or r-ver as base for server component? tidyverse would be nice to have to develop scripts in dev env at least

EikenDram commented 1 year ago

think i'll do basic structure now, and finish this after i have template app to do full cycle of report