Replace db specific database.ssl_mode config options with a semantic config option 'use.secure.connections' [DBZ-6397]
Nobody has claimed this yet.
- Dominant language
- HTML
- Stars
- 6
- Forks
- 9
- Avg merge
- 2d 19h
- Merged PRs (30d)
- 1
Description
Migrated from DBZ-6397
Recently we enabled that connectors provide config options, validation and docs for the pass-through config options to prefer, enforce or disable secure connections between Debezium and the datastore.
Currently the JDBC driver options might have different name and different options for the different connectors.
Those config options should be aligned over the different (applicable) connectors and replaced with a semantic config option, for example {{use.secure.connections}} which can have 3 or more options, eg. {{auto/prefer}} --> tries to connect via secure connection but falls back to insecure when no secure connection can be established ; {{enforce}} --> tries secure connection and fails when secure connection cannot be established ; {{disable}} --> don't use secure connections at all ; {{strict}} can be added later --> enforce secure connection including cert validation (requires comprehensive docs to manage certs and preparations in the UI).
Then map to connector specific options (e.g. database.ssl_mode etc) in the {{*ConnectorConfig}} implementations.
With this change it should also not be possible/allowed anymore to configure the connector specific options (e.g. {{database.ssl_mode}} etc).
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the applicable *ConnectorConfig implementations and the existing pass-through config validation and documentation. Compare the connector-specific database.ssl_mode options with the proposed use.secure.connections values and mappings; done means the shared option is aligned across applicable connectors and the old options are no longer configurable.
Written by the indexing model from the issue text.
Assessment
- Domain
- backend-api-design, databases
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100