Critical Fixes
Upgrading github.com/docker/docker v26.1.5
to fix CVE-2024-41110.
New Features
getEnvVar()
A simple builtin function for a workflow to get the value of an environment variable on the arcaflow engine's host computing environment. The first parameter is your environment variable's identifier, and the second parameter is the value used if your environment variable is not found.
workflow.yaml
steps:
stressng:
input:
stressors:
stressor: cpu
workers: !expr 'getEnvVar(QTY_WORKERS_CPU, 1)'
Get Object Namespaces
Use the --get-namespaces
option at the cli to get the objects and their namespaces from a workflow and present them as a table.
❯ ./arcaflow --get-namespaces --workflow workflow.yaml --config config.yaml --input input.yaml
OBJECT NAMESPACE
HogCpuInput $.steps.hog_cpu_wf.execute.inputs.items
KubernetesTarget $.steps.hog_cpu_wf.execute.inputs.items
ThirdObject $.steps.hog_cpu_wf.execute.inputs.items
StressNGParams $.steps.hog_cpu_wf.execute.inputs.items.stressng_params
error $.steps.hog_cpu_wf.failed.outputs.error
data $.steps.hog_cpu_wf.outputs.outputs.success
given workflow.yaml
version: v0.2.0
input:
root: HogCpuInput
objects:
ThirdObject:
id: ThirdObject
properties:
name:
type:
type_id: string
KubernetesTarget:
id: KubernetesTarget
properties:
kubeconfig_path:
type:
type_id: string
namespace:
type:
type_id: string
required: true
HogCpuInput:
id: HogCpuInput
properties:
stressng_params:
type:
type_id: ref
id: StressNGParams
namespace: $.steps.stressng.starting.inputs.input
steps:
stressng:
plugin:
src: quay.io/arcalot/arcaflow-plugin-stressng:0.6.0
deployment_type: image
step: workload
input: !expr $.input.stressng_params
outputs:
success:
stressng: !expr $.steps.stressng.outputs.success
Other changes
- Complete re-write of the dependency system. This allows quick failure, and will enable future features. This touches a lot of the code so keep an eye out for bugs.
Pull Requests
- Update the CI's use of the common Go reusable workflows by @webbnh in #194
- Use dependency system: Part 1 by @jaredoconnell in #193
- Added function getEnvVar() by @jaredoconnell in #196
- Make Namespace Behavior Public by @mfleader in #199
- CLI Show Workflow Namespaces Option by @mfleader in #200
- Use dependency System: Part 2; Marking as unresolvable by @jaredoconnell in #197
- update dependencies for cve fix by @mfleader in #202
Full Changelog: v0.18.1...v0.19.1