Tools for building, installing and maintaining an HPC software stack with EasyBuild on top of EESSI, the European Environment for Scientific Software Installations. They grew out of running a site software layer, and each one does one job.
| Tool | Job | Docs | |
|---|---|---|---|
| eb-stack | Solve, shard and plan an EasyBuild build list; admit builds under a scratch inode budget | docs | |
| eb-staged-rebuild | Rebuild an installation in a staged tree and swap it in, so running jobs keep their paths | docs | |
| eessi-arch-guard | Reload EESSI in a Slurm task that inherited it for another CPU or GPU | docs | |
| eb-local | Install software with EasyBuild on top of EESSI into a directory a user or project owns | docs | |
| eb-keep-logs | Keep a failed build's EasyBuild log and command output; rotate a pipeline's log tree | docs | |
| rfc9162 | Append-only Merkle logs hashed as RFC 9162, with tiled storage and signed checkpoints | docs | |
| zig-common | The shared Zig library under the Zig tools: system calls, checked files, child processes | docs |
eb-stack and rfc9162 are written in Rust. The other tools are moving from Bash and Python to Zig, each still in its own repository, on a shared Zig library for running EasyBuild, keeping private files and logs, and locked state. Each tool is then one static binary per CPU architecture.
Each repository has its own README and documentation site, and an EasyBuild recipe installs each tool as a module.
The logos, the table above and the cross-links in every README and site come from branding/.