Replies: 9 comments 8 replies
-
I've just finished configuring 49 taps that inherit from |
Beta Was this translation helpful? Give feedback.
-
I definitely prefer the YAML way, I wouldn't say I like interactive CLIs and have never used the Meltano one. It would be great if, after adding a tap/loader, meltano.yml contains all mandatory properties with either placeholder values describing the purpose or empty values. Several times I struggled to find the proper property names in various documentation sites or related GitHub repositories. If a particular version of tap/loader could bootstrap its section in meltano.yml properly, it would be awesome! |
Beta Was this translation helpful? Give feedback.
-
I found the CLI commands for configuration useful at the very beginning. They were a useful way to change a setting conceptually and then see what that looked like in the YAML. It didn't take me long to start doing everything right in the YAML though... it's so much faster once you know what you're doing. |
Beta Was this translation helpful? Give feedback.
-
The main problem I see with YAML-based workflow is that the YAML schema is not validated at runtime. Users can validate their |
Beta Was this translation helpful? Give feedback.
-
I want to echo @tombriggsallego here. Initially I got a lot of mileage out of the UI and seeing how meltano.yml changed when I did the visual. The --interactive is a decent alternative, but today I almost always write YAML directly. But of course, the issue isn't an undying love for the CLI, it is remembering to ask "what will help people onboard". If we are, somehow, able to get a YAML config experience that autosuggests some settings or provides tooltips, that might be much better than the CLI. In the meantime, the CLI might be the best default option. |
Beta Was this translation helpful? Give feedback.
-
I agree with the The moment we find the CLI command most useful is when trying to add a new plugin to which we don't know the yaml layout. This could be circumvented by simply adding code examples in the plugin definitions though.
|
Beta Was this translation helpful? Give feedback.
-
I'm pretty sure this is the most interacted with discussion we've ever had from the community 👀 From the product side, yes I'm supportive of this. I don't think we would update our copy to say "your YAML for ELT" or anything like that, but we should not shy away from the YAML backed nature of Meltano. In fact, when we moved to Ruamel we made it a lot easier to make customizations to the YAML and not have them disappear. Edgar brings up a good point about validation of the YAML file and we'll likely soon have a solve for that as well. @sbalnojan it seems like you had a few primary suggestions:
As to the workflow piece - I think for building your Meltano project we should still encourage and promote the CLI as there are validation benefits to configuring the YAML through the CLI - but we can also promote directly editing the YAML and then having a |
Beta Was this translation helpful? Give feedback.
-
100% for yml first. For this to fly, I think every .yml needs a version so that the meltano runtime is able to understand whether the configuration at rest is usable. Tons of parallels with kubectl and kubernetes ymls here. This is something we have for our artefacts, but not for meltano.yml. So we could have a situation where an older project cannot be understood: https://www.matatika.com/docs/dataml/ |
Beta Was this translation helpful? Give feedback.
-
Ran into something today that made me think of this discussion. I'm adding tap-github to my project. The Hub page suggests running
I then did some searching for examples, and found one here. I edited my meltano.yml directly to add the - name: tap-github
variant: meltanolabs
pip_url: git+https://github.com/MeltanoLabs/tap-github.git@8c3a82464c392b9656bbe384cc1dfe0ca3362392
config:
organizations:
- payitgov and that worked just fine. |
Beta Was this translation helpful? Give feedback.
-
All documentation and most marketing material for Meltano so far advertise "CLI-first" workflow. Urging developers to run interactive configs, sequences of CLI commands and only default to editing the
meltano.yml
file if no other option is available.I propose to exchange this order, advertising developers to use a YAML-first workflow, defaulting to CLI for convenience functionality. Typical convenience functionality that IMHO make would make sense inside the CLI are:
Reasoning:
New proposed workflow:
Why:
I'm very curious for your thoughts!
@aaronsteers @tayloramurphy @DouweM
Beta Was this translation helpful? Give feedback.
All reactions