Can we keep the list of plugin configurations in m...
# plugins-general
s
Can we keep the list of plugin configurations in meltano.yml dynamic? For our use case, we have predefined set of taps (4) and targets (2) we want to use. But, we have multiple custom configs for these taps and we should be able to change them frequently. Can we load them from a database instead of deploying updates every time. Can we use "System database" for this?
v
Yes, Environment variables can be passed in at runtime that can set those configs!
s
Can we load env variables from database?
e
Hi @sujit! You can load config values from meltano's system database. You can manually store the values in the db or use the command
Copy code
meltano config <plugin> set
making sure you've deployed in read-only mode. There's more details on the configuration layers in the docs: https://meltano.com/docs/configuration.html#configuration-layers
d
You can also pass
--store=db
to
meltano config <plugin> set
to force it to store in the system DB: https://meltano.com/docs/command-line-interface.html#config
Or if you’re brave, you can write into the
plugin_settings
table directly: https://meltano.com/docs/project.html#system-database
s
Thanks Edgar and Douwe. I will try these/
Is it possible to add new inherited custom extractors directly in the system database? I don't see respective table in the system database.
d
@sujit Plugins themselves are only stored in
meltano.yml
, not the system database. If you want to run a tap/target combination with different settings determined at runtime (and possibly loaded from a database), I suggest explicitly invoking
meltano elt <tap> <target> --job_id=<some-job-id>
with the dynamically determined config values injected through environment variables
s
Thanks, Douwe. This clears the confusions I had.