Casa-Distro¶
If you want to install simply casa-distro as a user, you can directly see the BrainVisa download / install section.
Overview¶
What is CASA ?¶
When these two projects decided to use the same development and software delivery environment, the name CASA was chosen to name this environment.
What is Casa-Distro ?¶
Short answer: it’s the way to run or develop BrainVISA software in a containerized environment or a virtual machine.
Longer answer:
It’s a cross-platform environment which is used by users to install/use BrainVisa and CATI environments, and by developers to provide a common working development environment for BrainVISA and CATI tools. It avoids the manual installation of required development software and libraries, which can cause the use of different versions on different systems. It was not unusual to discover differences of behaviour in software that was only due to diferrences between development environments. The more developers were involved in the projects, the more difficulties were encountered. It was become too difficult to maintain good quality software without a unified development environment.
Therefore, it was decided to create casa-distro to provide a complete development environment using a virtual appliance to host the compilation system. casa_distro will support two container technologies, Singularity and Docker (soon) and one virtual machine technology : VirtualBox.
Note: in version 3.0 the support for Docker has been temporarily dropped (but should come back as soon as possible).
Singularity (version 3.x) |
Docker |
VirtualBox |
|
Linux |
✓ |
X |
✓ |
Windows |
(✓ (1)) |
(X) |
✓ |
Mac OS |
✓ (2) |
(X) |
✓ (3) |
Casa-Distro for users¶
Users will use Casa-Distro to install and run BrainVISA software.
See the BrainVisa download / install section explains how to install it.
The containerization allows to have a single binary distribution for all host operating systems and versions.
Casa-Distro for developers¶
What Casa-Distro is not¶
Casa-Distro is not a build system: this is the job of BrainVisa-Cmake. Casa-distro brings a wrapper for the build system: it provides Docker images of Linux systems which contain BrainVisa-Cmake and many other thirdparty development tools and libraries, which are already setup for development and distribution of tools.
The user will be able to use the build system (bv_maker), inside Singularity, Docker, or VirtualBox, in a way that ensures to build, run, and ship software that is compatible with public distributions of BrainVisa.
See the Developping in the Casa-Distro BrainVISA environment documentation.
Installation and setup¶
Follow roughly the same procedure as for user setup, as axplained in: BrainVisa download / install section.
3 main commands¶
The bv command¶
The bv command is the lightest, user-oriented command in casa-distro. It supports a single environment and allows the minimum required to configure and run commands (or open a shell) in an installed environment container.
The casa_distro command¶
The casa_distro command supports multiple environments using selection parameters (see Casa-distro concepts) and allows also to run commands inside containers, but also to setup / install, manage, delete environments and container images.
The casa_distro_admin command¶
The casa_distro_admin command is used to create new container images and publish them on a web server for other users.
Contents¶
- Casa-distro concepts
- Technical issues
- Developping in the Casa-Distro BrainVISA environment
- The
bv
command - The casa_distro command
- The casa_distro_admin command
- Automated tests with bbi_daily