Hi Everyone, I have a question in terms of Product...
# troubleshooting
m
Hi Everyone, I have a question in terms of Production Deployment I can sync and deploy our meltano-project latest changes with CI/CD pipeline and build a docker image with the latest changes. But what will happen If we change or add a new configuration of extractor/loader via Meltano UI ? Or Adding a new plugin? How we can keep these changes done via UI sync with Git Repo. Project ? I am sure these changes on UI will overwrite with next CI/CD pipeline run. Any thoughts about it? Or What is the best practice to keep the changes done by UI? How you are actually doing it?
d
By default, the UI is read-only in production exactly because new plugins added at that stage wouldn’t make it it into the Git repo and Docker image and we don’t want changes like that to circumvent CI/CD. So using the UI to manage plugins is currently only meant to be used during local development, so that the changes you make are reflected in your local Git repo and you can commit these and get them to production through CI/CD as normal. You can use the UI in production to configure existing plugins, in which case the settings will be stored in the system database. It’s often more appropriate to store non-sensitive settings in
meltano.yml
, but you can use this for credentials.
m
Thanks, @douwe_maan this is good to know If we use UI in production and add new Plugins will it automatically save it’s settings to the system database? or in meltano.yml file?
d
@madiha_khalid If
project_readonly
is set to
true
(which the default Dockerfile does through
MELTANO_PROJECT_READONLY
), any setting updates will go into the system database, since Meltano UI assumes
meltano.yml
can’t be touched. That means that you can’t add new plugins in those circumstances, only update settings for existing ones