ITISFoundation / cookiecutter-osparc-service

A cookiecutter for integrating services in oSparc simcore platform
MIT License
0 stars 5 forks source link

Adapt cookiecutter to dynamic services #11

Closed sanderegg closed 5 months ago

sanderegg commented 5 years ago

Differences to computational services:

@odeimaiz from dash services

sanderegg commented 5 years ago

also update the latest Makefile/docker-compose practices

KZzizzle commented 5 years ago

Based on an epic debug session with Sylvain and Pedro, we learned a few things

  1. Line endings are VERY important. VERY VERY VERY IMPORTANT. Make sure everything is LF ant not CRLF
  2. For ubuntu, we need the bash shell instead of sh, which may throw off some cookie cutter template commands
  3. String formatting might be an issue depending on the service (i.e. with or without quotes when passing to the Docker container): ${VARSTRING_WITH_QUOTES//"} will give the string without quotes
  4. There are problems looming about the user permissions when we create user scu. Some services may need root access: our solution was to give the absolute path of the command which would save a file into a local directory
  5. In WSL, temporary folders cannot be mounted, which will be problematic for input/output folders.
KZzizzle commented 5 years ago
  1. For some weird reason, bumpversion and WSL do not play nicely together (but perhaps only on my computer)
KZzizzle commented 5 years ago
  1. .pylintrc is missing from the repo
KZzizzle commented 4 years ago
  1. Travis integration is not yet in cookiecutter
pcrespov commented 4 years ago
  1. Docker base flavors:
    • alpine (??)
    • ubuntu (e.g. opncore)
    • ubuntu-matlab-exe (e.g. ELE) with BASH
  2. describe unit and integration tests based on different scenarios
  3. metadata in a single yaml file
  4. Makefile
    • make devenv
    • make build test
    • make publish
  5. keep track two versions
  6. metadata with cwl standard
sanderegg commented 4 years ago
KZzizzle commented 4 years ago

image.png

A few "flavors" offered by codeocean - maybe we can copy them? We already have python and ubuntu, maybe R would be good to have in the future.

pcrespov commented 2 years ago

@GitHK once we have the pilot projects in place, we could update this cookie-cutter

elisabettai commented 1 year ago

@pcrespov, do you remember what you had in mind for the pilot projects you mentioned more than a year ago?

I'm about to create a new dynamic service (based on plotly dash) and I'm thinking to start with the cookiecutter for comp service and hybridize it with Jupyter Math (to get the compatibility with dy-sidecar). I'm wondering if by doing so I can help making a cookiecutter for dynamic services.

pcrespov commented 1 year ago

@pcrespov, do you remember what you had in mind for the pilot projects you mentioned more than a year ago?

@elisabettai pilot project? You mean the "capsules" concept?

I'm about to create a new dynamic service (based on plotly dash) and I'm thinking to start with the cookiecutter for comp service and hybridize it with Jupyter Math (to get the compatibility with dy-sidecar). I'm wondering if by doing so I can help making a cookiecutter for dynamic services.

IMO the dynamic service should not have a different cookie-cutter. Every new repository is very difficult to maintain and you need to have strong justifications to go that way.

I think it is better to talk offline