villebro opened a new pull request #9396: feat: add SSL certificate validation for Druid URL: https://github.com/apache/incubator-superset/pull/9396 ### CATEGORY Choose one - [ ] Bug Fix - [x] Enhancement (new features, refinement) - [ ] Refactor - [x] Add tests - [ ] Build / Development Environment - [x] Documentation ### SUMMARY This adds support for specifying SSL certificates on a per database basis. This is done by adding a new field `server_cert` to the `dbs` table and using that in the `pydruid.connect()` call. Unfortunately Python doesn't yet support passing certificates either as strings or file-like objects (see this PR that has been 8 years in the making: https://bugs.python.org/issue16487 ), hence the certificate has to be persisted to disk ☹️ To avoid rewriting the certificate to disk every time it is used, the file path is made deterministic by naming it with the md5 of the certificate contents and only written to disk if it doesn't yet exist in temporary storage. A unit test has also been added to verify that only valid certificates are persisted to disk. ### Screenshot  ### TEST PLAN New unit tests + local testing ### ADDITIONAL INFORMATION <!--- Check any relevant boxes with "x" --> <!--- HINT: Include "Fixes #nnn" if you are fixing an existing issue --> - [ ] Has associated issue: - [ ] Changes UI - [ ] Requires DB Migration. - [x] Confirm DB Migration upgrade and downgrade tested. - [ ] Introduces new feature or API - [ ] Removes existing feature or API ### REVIEWERS @mistercrunch @john-bodley @dpgaspar
---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected] With regards, Apache Git Services --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
