mark_poole
04/14/2021, 6:26 AMplugins:
extractors:
- name: tap-postgres
variant: transferwise
pip_url: pipelinewise-tap-postgres
env:
PGSSLMODE: verify-ca
PGSSLKEY: '/home/meltano/ssl/production/product/psql.key'
PGSSLROOTCERT: '/home/meltano/ssl/production/product/ca.crt'
PGSSLCERT: '/home/meltano/ssl/production/product/psql.crt'
config:
dbname: xx
host: xx
port: xx
ssl: true
user: xx
default_replication_method: FULL_TABLE
loaders:
- name: target-postgres
variant: transferwise
pip_url: pipelinewise-target-postgres
env:
PGSSLMODE: verify-ca
PGSSLKEY: '/home/meltano/ssl/production/analytics/psql.key'
PGSSLROOTCERT: '/home/meltano/ssl/production/analytics/ca.crt'
PGSSLCERT: '/home/meltano/ssl/production/analytics/psql.crt'
config:
logging_level: DEBUG
user: xx
host: xxx
dbname: xxx
default_target_schema: xxx
add_metadata_columns: true
parallelism: 16
Basically the postgres plugins don't have a config for SSL certs, when the tap and target are the same I can just use the .env file and specify the certs globally but if the tap and target are on different servers, the SSL certs are differentmark_poole
04/14/2021, 8:26 AMdouwe_maan
04/14/2021, 5:11 PMdiscovery.yml (https://gitlab.com/meltano/meltano/blob/master/src/meltano/core/bundle/discovery.yml#L866) like so:
settings:
- name: ssl_mode
env: PGSSLMODE
- name: ssl_key
env: PGSSLKEY
# etc
Any values set for those settings using meltano config or some other mechanism will be included in the tap/target's config.json, where they would presumably be ignored, but they'd also be set in the plugin invocation env using the name specified by env. And like any setting, they can be set in meltano.yml, .env, the system database, etc, instead of having to be hard-coded under your suggested env property.
Would you like to create an issue to add those setting definitions to discovery.yml for this tap and target?mark_poole
04/14/2021, 7:50 PMmark_poole
04/14/2021, 7:50 PMdouwe_maan
04/14/2021, 8:10 PM