Yet Another Pipeline Language
YAPL is a Yaml based pipeline orchestration tool for executing/managing pipeline workflows. It is best suited for a complicated installation process that involves many moving parts
- You can embed your user manual into your pipeline definition. When things go sideways, you can show rendered markdown doc that tells your customer what to do in the same terminal console.
- You can visualize your pipeline in a bird's view. It helps you to understand where can you optimize your flow.
- You can visualize progress of pipeline executing in a very complicated process
- You can define a reusable
Step
that can be imported anywhere
Check the example here. It is a simple pipeline that has 4 steps and also imports another pipeline.
go run cmd/yapl.go -f example/pipelines/demo.yaml --vars example/vars.yaml execute
NAME:
yapl - Yet another pipeline
USAGE:
yapl [global options] command [command options] [arguments...]
COMMANDS:
validate, r validate yapl pipeline definition after imports
execute execute yapl after imports
doc generate doc after imports
help, h Shows a list of commands or help for one command
GLOBAL OPTIONS:
--file value, -f value Pipeline file to read from (default: "./pipeline.yaml") [$PIPELINE_FILE]
--vars value json/yaml file containing variables for template [$YAPL_VARS]
--no-color disable colorful output
--console-output output command to console
--help, -h show help
- Pipeline: should be able to import/reuse another pipeline
- Render: Go template support
- Execute: basic workflow
- Dependency graph: Generate dot graph
- Doc: should be able to generate doc from pipeline/step definitions