DeMi - ATLAS ITk Pixel System Test Microservices
Introduction
The itk-demo-sw
and DeMi GitLab groups contain the evolving high-level online software for ITk, also known as DeMi (Detector Microservices).
The general architecture is based on containerized microservices, adapted to the specific needs of the ATLAS ITk system test community.1
Status of adoption in ATLAS
DeMi has been adopted as top-level software for the qualification of the Loaded Local Supports for the ITk Pixel Outer Barrel as defined in the FDR EDMS 2822664. Adoption for Integration is foreseen as well (see EDMS here and here).
The software integrates tools for configuration, operation, results inspection and analysis into a unified web interface. (Planned) servers and backend interfaces include a distributed controller, a connectivity, configuration and results store, and of course DAQ hardware and software (scan engines) interfaces.
Getting Started
Prerequisites
Working docker installation
Install Docker >= 23.0.4 and the docker compose >= v2.17.2 plugin.
Due to heavy containerization the use on any platform that support OCI runtimes such as Docker should be possible. We have not yet extensively tried another platform such as podman or moby, and users are asked to contribute corresponding experience back to DeMi.
- Initial
root
access is required to install Docker. - In case multiple nodes are planned for deployment passwordless
ssh
access needs to be set up between them.
The best way to start the microservices is by using the compose files in the release repository. More details on how to get started are available in the release instructions. There are also tutorials available for some of the microservices in the tutorials section.
A general introduction into the microservices can be found in the stage-1 microservices slides from the Pixel Expert Days.
Available Microservices
The microservices and related repositories live in the itk-demo-sw and demi CERN GitLab groups.
Name / Repo | Description | Principal Contact |
---|---|---|
itk-demo-dashboard | Dashboard | Dominik Schlothane |
itk-demo-configdb | Stage-1 Configuration Database | Jonas Schmeing |
itk-daqapi | API to run DAQ-software, includes UI | Dhruv Patel |
analysis-manager | Microservice to manage and run analysis jobs | Jonas Schmeing, Wolfgang Wagner |
itk-felix | Microservice to operate FELIX | Wuppertal group, e.g. Gerhard Brandt |
itk-demo-optoboard | Microservice to operate OptoBoard | Bern group, e.g. Daniele Dal Santo |
itk-demo-registry | Registry service providing information about running microservice containers and tools | Wuppertal group, e.g. Gerhard Brandt |
runkey manager | Top-level microservice to distribute runkeys to lower-level APIs | Dominik Schlothane |
itk-demo-{service} | This could be your microservice | you |
Every repository should follow a similar structure.
FAQ
A list of frequently asked questions including links on how to best contact us in case of further questions / problems is available on the FAQ page.
Additional Resources
Links to talks etc. can be found on the resources page.
Contact
-
Compared to "cloud" orchestrators like OpenShift/Kubernetes this project needs to work on statically assigned nodes following the DAQ hardware topology (deterministic deployment). In fact, the granularity of the microservices should follow the ITk DAQ hardware (and lower-level software) components. Integration with TDAQ is on the menu and kept in mind. ↩