Netflix / maestro

Maestro: Netflix’s Workflow Orchestrator
Apache License 2.0
3.2k stars 194 forks source link

add user guide #27

Open ssword62 opened 1 month ago

ssword62 commented 1 month ago

I just installed Netflix Maestro on my Mac, compiled, and ran the sample projects provided. Everything is functioning smoothly, which is fantastic. I’ve been exploring the sample sample-dag-test-1.json and attempted to modify it to suit my specific requirements. However, I encountered some challenges due to a lack of detailed documentation on how to properly write or adjust the JSON definitions for custom workflows.

While the Wiki does offer an example, it falls short of providing the depth needed to understand and test straightforward custom scenarios. For instance, I am curious about the different types of step definitions available besides NoOp. Specifically, I would like to explore how to integrate my own scripts or execute Docker images within a workflow.

Furthermore, I noticed there is documentation on SEL for writing more advanced workflows, but I am currently focused on understanding the basic functionalities and integration capabilities. Could you guide me on where I might find more comprehensive examples or documentation? Also, any tips on integrating custom scripts or Docker images in the initial stages would be greatly appreciated.

Looking forward to your guidance.

jun-he commented 1 month ago

@ssword62 Thanks for the interest. We have issue #7 and #18 to add more docs and examples. Also, we have #2 to add yaml/java/python DSLs for users to interact with the Maestro to avoid writing JSON directly.

jun-he commented 1 month ago

any tips on integrating custom scripts or Docker images

Are you going to run it locally or over k8s?

That1DuploGuy commented 1 month ago

I am at the same point, and ultimately I do plan on using k8s. I am also interested in learning more about how to connect this tool with other tools in our ecosystem. At a high level the concepts make sense but I am interested in more lower level details on the "how". For example, how does this play with Kafka or other down stream services, how does this interact with the execution plane, and ultimately leading to where does this fit into our process.