What are best practices for managing a meltano pro...
# best-practices
m
What are best practices for managing a meltano project (or projects?) that runs multiple different ELT processes? I haven’t built out all the processes yet but I figure I’ll end up with needing to run several distinct: •
meltano run tap-spreadsheets-anywhere target-postgres dbt-postgres:run
to pull data from AWS S3 and put it into postgres •
meltano run tap-postgres target-redshift dbt-redshift:run
to pull from postgres and put it into redshift Is this the use case for
job
? https://docs.meltano.com/reference/command-line-interface#job I think that I would like to have one single meltano repository and build one Docker image from it, and have it be able to run each of the processes that I need.
m
Hi Matt, this is what we ended up with, like you also mention: • /meltano folder in repo with one Meltano project • Build docker container on push (we use a trunk based strategy) • Then we can just pass args to the container (which runs on GKE K8S), like this: ◦ meltano run tap-spreadsheets-anywhere target-postgres dbt-postgres:run ◦ meltano run tap-postgres target-redshift dbt-redshift:run It seems legit 🙂 I was new to Meltano when I set it up. First I had several Meltano projects, but quickly merged all config into one project. The tap/sink and all config are separated in their own config files.