Releases: RyaxTech/ryax-engine
26.4.0
We are proud to announce the release of:
✨ ✨ ✨ ✨ ✨ ✨ ✨ ✨ ✨
Ryax 26.4.0
✨ ✨ ✨ ✨ ✨ ✨ ✨ ✨ ✨
New features
New scheduling policy
We have added a new multi-objective scheduler that combines static scores, runtime prediction, node-pool pricing,
and empirical execution history to automatically select the best execution pool according to performance and cost preferences.
Site Registration
The Ryax Site registration (from the main site to one with a Worker) is now done in the Ryax UI.
This simplifies the Worker configuration make it more secure and fix issues with dynamic registration token.
Bug fixes and Improvements
- Fix unable to create user in the UI
- Centralized Helm repository in ryax-engine so simplify install and development
- Emit Every and Stop action is now properly stopping in all case
- Fix memory warm start with last successful allocation in Intelliscale
- Reduce Intelliscale recommendation timeout to avoid stall deployment
- Modularize scheduling policies to accommodate external policies support
Upgrade to this version
The Worker that was packaged inside the Ryax installation is now removed and the Worker install will be done separately.
This simplifies the configuration and makes the Ryax installation independent of user code execution.
To upgrade your main cluster, find the values file from your previous install or restore them using:
helm get values -n ryaxns ryax --output yaml > values.yamlThen, run the upgrade with :
helm upgrade ryax oci://registry.ryax.org/release-charts/ryax-engine:26.4.0 \
-n ryaxns \
-f values.yamlTo restore your local worker, we need to extract the worker config to be able to attach the database to the same volume.
To do so extract the worker values with:
yq -y .worker ./values.yaml > worker.yamlThe new registration mechanism requires you to enter the site and node pools ids.
To do so, edit this file to add the config.site.id and the config.spec.nodePools[].id ids that
you can find in the Web UI in the Infrastructure view.
Here is an example of configuration:
postgresql:
auth:
password: KSODJAOPP2
config:
site:
id: Site-1777972967-vlyxkb72 # Add this field
spec:
nodePools:
- id: NodePool-1777972967-duf9w7tu # Add this field
selector:
k8s.scaleway.com/pool-name: default
- id: NodePool-1777984371-q43o0vc6 # Add this field
selector:
k8s.scaleway.com/pool-name: smallAnd then run:
helm install -n ryaxns ryax-worker oci://registry.ryax.org/release-charts/ryax-worker:26.4.0 -f worker.yaml26.2.0
We are proud to announce the release of:
✨ ✨ ✨ ✨ ✨ ✨ ✨ ✨ ✨
Ryax 26.2.0
✨ ✨ ✨ ✨ ✨ ✨ ✨ ✨ ✨
New features
Fully Compatible Helm Installation
Starting from release 26.2.0, installation is done using Helm, and ryax-adm must not be used anymore.
The new installation documentation is available here.
The switch from ryax-adm to helm breaks the retro-compatibility for clusters installed under Ryax version 26.2.0. Workflows, images, and data can be migrated, but clusters installed with adm cannot be operated directly with Helm and vice versa.
We are developing tools to migrate clusters to pure-helm installation without data loss.
Air gap version of ryax
Ryax now supports air-gapped clusters, where one can build and run workflows in a completely isolated environment.
More information in our installation documentation related to air-gapped clusters here.
Navigation and UI
- This release also brings new features related to the fine-grain observability of executions and resource consumption.
- Project navigation has been improved: a top bar that enables you to switch between your projects.
- User and project management is now in the top menu for admins.
- Resource usage data is now available in the UI for system administrators.
- We added an infrastructure view that shows the current topology of the underlying infrastructure (including workers, sites, and node pools).
- Complete rework of the installation: now use Helm (ryax-adm is deprecated).
Bug fixes and Improvements
- The fix URL is now stripped of its whitespace when adding a repository.
- Project deletion when the active user's current project leads to a stalled UI.
- Move the user documentation to MkDocs.
Upgrade to this version
Upgrades of old Ryax versions (before 26.2) will need to go through adapted cluster migration. The procedure will be provided soon. Users needing a rapid migration can contact us directly.
25.10.0
We are proud to announce the release of:
✨ ✨ ✨ ✨ ✨ ✨ ✨ ✨ ✨
Ryax 25.10.0
✨ ✨ ✨ ✨ ✨ ✨ ✨ ✨ ✨
Optimize the Resources, make Build Simple
New features
- More robust intelliscale, enhanced detection mechanism
- Improved monitoring
- Built-in action resource usage monitoring
- Track cpu and memory usage per execution
- Several features to enhance multi objective scheduling
Bug fixes and Improvements
- Bug that made worker create queues indefinitely in some situations
- Fix sudden decomissioning of bitnami repo
- Prevent builder failure when the wrapper git reference is unavailable
- Fix builder persitency that was making automatically garbage collection fails
- Fixed bug that let actions build stuck on starting state
- Switch to uv for python packaging
- Upgrade to traefik 3
Upgrade to this version
Before you start
Install CRDs for traefik v3 migration.
kubectl apply -f https://raw.githubusercontent.com/traefik/traefik/v3.5/docs/content/reference/dynamic-configuration/kubernetes-crd-definition-v1.ymlFirst if you have a job on ryaxns named ryax-studio-scale-down delete the ryax-studio-scale-down job to avoid imagePullBackOff due the
sudden decommissioning of bitnami.
kubectl delete job -n ryaxns ryax-studio-scale-downIf your ryax_values.yaml file has an empty storageClass: """, remove this entry
and ensure you have one and only one as default.
Upgrade
Apply the upgrade with adm by changing version to 25.10.0 on values files.
Update all external workers installed by editing the values to use 25.10.0.
Remove the vpa helm installation.
helm uninstall -n ryaxns ryax-vpa25.02.0
We are proud to announce the release of:
✨ ✨ ✨ ✨ ✨ ✨ ✨ ✨ ✨
Ryax 25.02.0
✨ ✨ ✨ ✨ ✨ ✨ ✨ ✨ ✨
Optimize Resources with Ryax IntelliScale, make your life simpler with Reproducible Action Builds
New features
- Reproducible Action build with lockfile support
- Automatic Action resource scaling with NVIDIA MIG support
- Automatic retries
- Resources accounting (Preview)
Bug fixes and Improvements
- Fix: issue when enabling Action Builder Nix store persistence
- Fix: enable deletion of workflow even when on error
- Fix: only use GPU node if asked
- Fix: state inconsistency in Execution and Deployment in some cases
- Fix: optional inputs on SSH_SLURM
- Fix: disable deploy triggers on SSH_SLURM
Upgrade to this version
The Worker now comes with the vpa service that powers the Ryax IntelliScale.
To configure it, see the configuration documentation
Then apply the update as usual.
24.12.0
We are proud to announce the release of:
✨ ✨ ✨ ✨ ✨ ✨ ✨ ✨ ✨
Ryax 24.12.0
✨ ✨ ✨ ✨ ✨ ✨ ✨ ✨ ✨
Stability and better UI experience
New features
- GPU support for SSH SLURM with Singularity
- Runtime Class support for the Kubernetes add-on
- Action Builder now uses a persistent cache (Nix Store)
Bug fixes and Improvements
- Use PostgreSQL instead of SQLite as database by default for the Worker
- Fix Dynamic Output edition form UI reload too often
- Better deploy constraints settings site type filter
- Fix CPU per task option for in Slurm execution mode
- Fix Worker configuration update is now taken into account
- Fix missing logs for very short execution
- Avoid workflow error when double deploy
- Avoid action stuck on Building in case of Action Builder failure
- Fix RabbitMQ memory leaking due to dangling queues
Upgrade to this version
Because the Worker changes from SQLite database to PostgreSQL, you have to reset its state.
To do so, remove the worker with:
helm uninstall ryax-worker -n ryaxnsWe also need to clean broker state to clean internal state:
helm uninstall rabbitmq -n ryaxns
kubectl delete pvc -n ryaxns data-ryax-broker-0
Runner should also be cleaned:
ryax-adm clean runnerFor external workers, be sure that you have the values.yaml file that you used
for the previous installation and then run, for example:
helm uninstall ryax-other-worker -n ryaxns
helm install -n ryaxns --values ryax-other-worker.yamlThen apply the update as usual.
24.10.0
We are proud to announce the release of:
✨ ✨ ✨ ✨ ✨ ✨ ✨ ✨ ✨
Ryax 24.10.0
✨ ✨ ✨ ✨ ✨ ✨ ✨ ✨ ✨
Multi-site full power!
New features
- A new service called Ryax Worker can now be used to attached any Slurm or Kubernetes cluster resources
- Ryax can now run any action on SLURM and Kubernetes seamlessly
- Action are now scheduled according to user defined constraints and objectives
- Add the possibility to pin Ryax services to a dedicated resources (nodeSelector)
- Enhance Ryax documentation with updated content (doc)
- New Jupyter Notebook action with GPU support in default actions
- Action builds now can be canceled
- Kubernetes addon now support injection of service
Bug fixes and Improvements
- Fix volume permission for NFS based storage volumes (defaults to 1200 now)
- Fix fail properly when a pip install fails during builds
Upgrade to this version
This is a major release of Ryax which implies some extra step for the upgrade.
Update configuration
This release introduce a new service, the Worker. In order to define the nodes that will be used by your actions, the Worker requires a site configuration. Please, add a configuration in your Ryax installation configuration file using the following example: in your local cluster has a node pool named default with a label my.provider.com/pool-name: default on each node, it has 4 CPU and 8G of memory per node.
worker:
values:
config:
site:
name: local
spec:
nodePools:
- cpu: 4
memory: 8G
name: default
selector:
my.provider.com/pool-name: defaultSee the Worker configuration documentation for more details.
Update DNS
If you use public IP with TLS enabled, you will need to create a new DNS entry to support all subdomain for your cluster. This is used for example for an external Worker to access the internal container repository.
Please add an entry in your DNS using star notation:
*.<clusterName>.<domainName>
See installation doc for more details.
Add HPC site
The users of HPC actions have to install a Worker dedicated to each cluster following this documentation.
Apply and clean
Once configured, you can apply the configuration with ryax-adm as usual.
The log capture service, Loki, was moved into the ryaxns namespace. Thus, the old Loki deployment can be removed.
After applying, we have to remove the old deployment:
helm uninstall -n ryaxns-monitoring loki
kubectl delete pvc -n ryaxns-monitoring storage-loki-0The Worker is now handling deployment. So, to avoid dangling actions and failing deployment, you have to clean the Runner state.
Be aware that, this will reset the execution history and stop all running workflows.
ryax-adm clean runner worker
24.06.0
We are proud to announce the release of:
✨ ✨ ✨ ✨ ✨ ✨ ✨ ✨ ✨
Ryax 24.06.0
✨ ✨ ✨ ✨ ✨ ✨ ✨ ✨ ✨
Control and stability.
New features
- Add a Kubernetes Addon to customize action deployment (label, nodeSelector, annotations, serviceAccount)
Bug fixes and Improvements
- Fix impossible to add dynamic output enum Values
- Fix addon default values from ryax_metadata.yaml no available in UI
- Better error handling for action deployments
- Fix hpc addon support of files in custom script
- Fix python-cuda build fails in some case
- Fix UID overlap when using NFS CSI Driver
- Fix OutOfMemory during git scan lead to inconsistent state
Upgrade to this version
Usual process: update the version in the config file and apply!
24.01.0
We are proud to announce the release of
✨ ✨ ✨ ✨ ✨ ✨ ✨ ✨ ✨
Ryax 24.01.0
✨ ✨ ✨ ✨ ✨ ✨ ✨ ✨ ✨
This release focus on Reliability and Security 💪
The changelog:
Bugfixes and Improvements
- Fix connection issues on broker restart
- migrate Helm chart repository to an OCI standard repository
- Fix SSH Slurm execution issue with files
- Do not use root user inside the action builder container
Upgrade to this version
If you have set the chartRegistry (you probably didn't) in your configuration values file please change the Chart repository URL to url: registry.ryax.org/release-charts.
24.02.0
We are proud to announce the release of
✨ ✨ ✨ ✨ ✨ ✨ ✨ ✨ ✨
Ryax 24.02.0
✨ ✨ ✨ ✨ ✨ ✨ ✨ ✨ ✨
This release brings better HPC offloading support !
The changelog:
Bug Fixes and Improvements
- Add HPC offloading capability to run custom script on nodes directly for
parallel jobs - Better error handling in HPC offloading deployment and execution
- Fix HPC Offloading log capture
- Runs can now be canceled and deleted from the UI
- Fix dynamic outputs edition and improve display
- Fix action not undeployed in some corner case
Upgrade to this Version
HPC action have to be deleted and recreated to have the custom script
parameters available.
23.12.0
We are proud to announce the release of
✨ ✨ ✨ ✨ ✨ ✨ ✨ ✨ ✨
Ryax 23.12.0
✨ ✨ ✨ ✨ ✨ ✨ ✨ ✨ ✨
This release focus on Scaling and Performance 🚀
The changelog:
New features
- Improve HPC offloading with optimized IO and image build
- 1 to N scaling of actions with better Kubernetes autoscale support
- Show a clear error message on Action failure due to resource limits
- Optional IO for Actions
Bug fixes and Improvements
- Improve database query performance and Runner responsiveness
- Fix actions undeploying during Runner restarts
- Fix monitoring configuration for KubeProxy
- Fix workflow deletion failed in some conditions
- Fix RabbitMQ failure to respond to liveness probe
Upgrade to this version
The RabbitMQ deployment needs to be replaced. To do so, uninstall it before the
update (communication between services will stop during update):
helm uninstall -n ryaxns rabbitmqThen, proceed with the normal upgrade process.
To avoid errors on connections between service, restart them after the upgrade with:
kubectl delete pod -n ryaxns -l ryax.tech/resource-type=internal