Skip to content

v2.2.0

Latest

Choose a tag to compare

@blueraft blueraft released this 26 May 12:24
· 1 commit to main since this release
1a708b1

What's Changed

Migration to Temporal for NOMAD v1.4.0 Processing

The Docker Compose setup has been updated to support Temporal-based workflows.
By default, the docker-compose.yaml now runs four worker replicas. Adjust this number based on your server capacity. Refer to the README section on configuring worker replicas and resource limits for guidance.

You can monitor resource usage with:

docker stats

and check CPU and memory capacity using:

lscpu && free -h

Use these commands to tune your worker replica count for optimal performance.


Infrastructure for NOMAD Actions

NOMAD v1.4.0 introduces NOMAD Actions, a powerful new framework that lets plugin authors build durable, fault-tolerant, and reproducible workflows powered by Temporal. With Actions, you can orchestrate complex computations directly within NOMAD while maintaining full control over execution and recovery.

See the documentation for details: How to Define an Action

In this template, the build steps for cpuworker and gpuworker images are commented out by default. To enable Actions, follow the Enabling NOMAD Actions guide after adding a plugin that includes an ActionEntryPoint.


Secret Management

NOMAD v1.4.0 enforces stricter API secret handling. The system now raises an error if no API secret is set.
Use the provided script to generate a secure secret and store it in the .env file (which is gitignored):

scripts/generate-env.sh

New Test for App Entry Points

A new test file, test_app_entry_points.py, has been added to validate that all app entry points are defined correctly.
Previously, misconfigured entry points could cause an app to crash when opened in the browser.
With this test, such issues are now detected early in the development pipeline.


Updating from the Template

To merge updates from the latest template release:

git remote add template https://github.com/FAIRmat-NFDI/nomad-distro-template
git fetch template
git merge v2.2.0 --allow-unrelated-histories

Resolve merge conflicts as needed. At minimum, take the following files from the template (“theirs”):

git checkout --theirs Dockerfile
git checkout --theirs .github/workflows/docker-publish.yml

For docker-compose.yaml, accept the template version and then update image URLs as required.
The .github/workflows/initialize.yml workflow can update image URLs automatically:

git checkout --theirs docker-compose.yaml

If desired, keep your existing dependency lock file:

git checkout --ours uv.lock

These updates align the distribution with NOMAD v1.4.0’s Temporal-based infrastructure and security improvements.

Full Changelog: v2.1.0...v2.2.0