yapl
Yet Another Pipeline Language
Introduction
What is YAPL?
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
Why YAPL
- 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
Quick Start Example
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
Usage
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
Road Map
- 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