sharath_chandra
10/05/2022, 5:14 PMmeltano
for one of our products. The product is a multi-tenant SaaS application.
Each tenant will have one or more data sources from which the data needs to be extracted on a scheduled basis and loaded in to a common destination.
The way I am thinking is there will be predefined set of extractors (say oracle, ms-sql & csv) and loaders(parquet) which will be configured. Since its multi-tentant application I cannot store upfront the different configurations or environment variables. There is a separate application where the users configure the data-sources by providing the credentials.
I am looking at storing connection details and other config like state for the source database systems for each tenant externally maybe in a keyvault/database.
Once this is done I am hoping there would be a way to invoke the etl pipeline by passing these configurations like
meltano etl tap-postgres <config> target-json <config>
Is there any recommendation to handle these use-cases ?edgar_ramirez_mondragon
10/05/2022, 5:54 PMchamber exec <service> -- meltano run ...
So you could create a separate chamber service for each tenant, with secrets likepopulates the environment with the secrets from the specified services and executes the given command. Secret keys are converted to upper case (for example a secret with keyexec
will becomesecret_key
).SECRET_KEY
tap_mssql_password
which will be converted to the right env vars by exec
.pat_nadolny
10/05/2022, 6:09 PMaaron_phethean
10/05/2022, 8:39 PMsharath_chandra
10/06/2022, 1:34 AMchamber
However chamber
looks like has a dependency on aws
keyvault. In our case we may deploy on azure
or on-prem
. Let me see if there is any cross platform service similar to chamber
sharath_chandra
10/06/2022, 3:10 AMelt
, then I could use something like
TAP_CSV_CSV_FILES_DEFINITION=<path>/config.json meltano elt tap-csv target-jsonl --transform=skip
The config.json
above will be set by the invoking application.
Is my understanding correct ?sharath_chandra
10/06/2022, 3:16 AMprefect
or dagster
where I can invoke a Shell
commandaaron_phethean
10/06/2022, 10:32 AM