Skip to content
Jennings Zhang edited this page Feb 24, 2021 · 4 revisions

Welcome to the minimake wiki!

Why?

Here are the things I do not like about ChRIS_ultron_backEnd/make.sh

Typically, the command for starting up CUBE is

./make.sh -U -I -i

Full test suite are ran by default

Sure, checks are important but they just take too long!

Unnecessary wrapping of docker-compose

Only fnndsc/chris:dev and local/chris:dev are acceptable names, and these must be configured in make.sh which in turn modifies .env affecting docker-compose.

It would be simpler for container names to be specified explicitly in docker-compose.yml instead.

Yes, docker-compose.yml -- not docker-compose_dev.yml!

Also a for-loop to pull over a duplicated array of image names is superfluous with docker-compose pull.

Use case targets backend development

In ChRIS Minimake, the backend is set to run in production mode whereas in ChRIS_ultron_backEnd it runs in debugging mode.

ChRIS Minimake does not target the audience of ChRIS backend developers. Instead, its target audience is people who want to try ChRIS, test run ChRIS plugins, or develop external services which leverage the ChRIS API.

Usage is esoteric

The default options for ./make.sh restarts the fnndsc/chris:dev container in interactive mode, which orphans the container's name from being detectable by docker-compose. Its new name looks something like chris_ultron_backend_chris_dev_run_5aa96218c581

ERROR: No container found for chris_dev_1

This is because make.sh supports pausing to wait for manual restart of its satellite services in interactive mode in separate terminal windows so that logging for all services can be viewed on the same screen in real time. Previous versions of pfcon, pman, and pfioh would spew excessive logging using print(... flush=True) hence "real-time" logging might've been useful for spotting errors as they happen before they get buried in time and space. None of this is relevant anymore since the re-implementation of pfcon and pman in Flask. Neither have I personally ever found this setup helpful (at least not on an ordinary 1080p laptop screen, and not being the author of pman).

Powerpointlessness

All of this, support for outdated options nobody uses (-a for b_swarmAdvertiseAdr, -S for b_storeBaseOverride, -e for changing compute environment name from "host" which used to not even work), and the decorative terminal output, results in code complexity. You might not feel comfortable running a black box on your personal machine, or it might even be incompatible.

Clone this wiki locally