my 2 cents here, though I don’t understand all the context, you might take a look at sparky - which is lightweight task runner with web console, so you may throw a bunch of jobs into it to do all the “bootstrapping” so that you may later repeat the same if required on any fresh environment …
What is an advantage of using yaml based dsl over regular programming language?
Also Sparrow itself is already a DSL, so task-run() functions is all one needs to build a pipeline