This repository was merged into Iguana and obsoleted.
part of Iguana installer research project.
Implementation of iguana workflow parser. Iguana workflow is a YAML document loosely based on GitHub workflow YAML designed to specify order and dependencies between different containers. See examples for example usage.
To build the tool you will need rust 2021 edition (v1.56 and newer) and related cargo binary.
git clone https://github.com/aaannz/iguana-workflow
cd iguana-workflow
cargo build
To build release target use
cargo build --release
osc tool is required for submitting to the OBS project
Project is configured to follow iguana-workflow GitHub repo. For contributions please create pull requests.
Follow this guide if you want to create your own testing package.
-
checkout package to your project space
osc bco home:oholecek iguana-workflow
-
in checked out project, edit
_service
file and changeurl
parameter to follow your git repository -
from withing checked out project update service file and update cargo services
osc service ra
-
remove old source tarballs
-
add new and remove old files
osc ar
-
submit changes to your package
osc ci
If you are maintainer updating package in OBS, skip step 2)
Tool is designed to be run as part of the iguana initrd, however for testing it can be run on normal system as well. VM system is strongly recommended as iguana-workflow runs containers in privileged mode by default.
Log level can be set either by using --log-level
option or using RUST_LOG=debug
environmental variable.
Use --dry-run
together with --log-level
to see what iguana-workflow would do based on provided workflow yaml file.
cargo run -- --dry-run --log-level=debug workflow_file
See iguana-workflow --help
for complete argument overview.
See workflow syntax overview for details about workflow file.