With a build once, run anywhere approach, ChRIS in a Box allows the ability to access and use ChRIS on Edge Computing Devices that are deployed in facilities who would like to leverage the capabilities of ChRIS.
ChRIS in a box is intended to run the components of ChRIS application as containers using Podman and Microshift depending on the choice of deployment.
The folder podman provides YAML files which can be read by podman play kube
to run ChRIS.
At the moment it is insecure and not be used in production. However, we aim for make changes so that it can run in production. This is a good starting point for writing production-ready configurations of ChRIS.
ChRIS in a box runs applications in “production mode” (where applicable) To use a specific backend service please refer to the project source repositories instead, e.g. https://github.com/FNNDSC/ChRIS_ultron_backEnd
Image tags are pinned to stable versions, so chris in a box may be out-of-date with development versions of ChRIS components.
ChRIS in a box requires Podman version 4.3 or above. We aim to support “out-of-the-box” setups of rootless Podman (using slirp4netns).
CPU: x4 cores
RAM: 16GB
Storage: ~500GB
Supported OS: Fedora Silverblue 37, Ubuntu 22.04, Arch Linux
Whether you’re using Podman or Kubernetes, make sure your system is mostly not running anything which might interfere with miniChRIS.
podman ps -a
or kubectl get pods
is empty-ish../podman/minichris.sh up
./podman/minichris.sh down
This is a work in progress
On a fast computer with good internet speed, running ./podman/minichris.sh up
for the first time (pulls images) takes about 1.5 to 2 minutes.
Subsequent runs will be faster, about 40 seconds.
Work in Progress
YAML files in podman/kube
should be interoperable between Podman and Kubernetes.
Podman supports a subset of the Kubernetes manifest spec:
Pod, Deployment, PersistentVolumeClaim, ConfigMap
Ideally, to add pfcon to CUBE we should be using the pod name of pfcon http://minichris-pfcon:5005/api/v1/
but it won’t work.
For more information please go to https://github.com/FNNDSC/ChRIS_ultron_backEnd/issues/505
There is an undocumented behavior of Podman where the host is visible to the container
via the name host.containers.internal
, and we’re able to talk to pfcon via the bound
host port.
https://console-openshift-console.apps.edge-mgr.nerc.mghpcc.org/