Skip to content
Snippets Groups Projects
This project is mirrored from https://github.com/metabase/metabase. Pull mirroring updated .
  1. Dec 03, 2021
    • Jeff Evans's avatar
      Secrets :closed_lock_with_key: PR 7 - Enable Postgres driver to use secrets for configuring SSL parameters (#18968) · f8d712d6
      Jeff Evans authored
      * Enable Postgres driver to use secrets for configuring SSL parameters
      
      Adding secret related properties for SSL options to Postgres driver
      
      Move `conn-props->secret-props-by-name` to secret.clj since it's needed directly there, too
      
      Add `us-east-2-bundle.pem` to `test-resources/certificates` for testing Postgres with SSL connectivity to our RDS instance (and a README.md explaining how it differs from the existing `ssl` directory)
      
      Updating `value->file!` to have better logic for building the error message when the existing file is not found (for better UX from the Database admin page)
      
      Updating frontend to support the `visible-if` value being an array, in which case any value may match the current details value, in order for that field to be visible
      
      Adding secret related properties for SSL options to Postgres driver
      
      Updating CircleCI config.yml to refer to the RDS instance when running Postgres SSL test
      
      Implement server side expansion of transitive visible-if dependency chain
      
      Update shouldShowEngineProvidedField on client to consider multiple key/value pairs in the visible-if map, and only show the field if ALL are true
      
      Adding new test to confirm transitive visible-if resolution, and cycle detection
      
      Add Cypress test for SSL field visibility
      Unverified
      f8d712d6
  2. Nov 09, 2021
    • Jeff Evans's avatar
      Secrets :closed_lock_with_key: PR 5 - Translate secret connection-properties into existing types... · 13e9414b
      Jeff Evans authored
      Secrets :closed_lock_with_key: PR 5 - Translate secret connection-properties into existing types understood by frontend (#18236)
      
      * Translate secret connection-properties into existing types understood by frontend
      
      For all :type :secret properties, before returning over the wire (i.e. from `available-drivers-info`), translate the connection-property into one or more new client side properties, using the existing types, to encapsulate the behavior of that individual secret "unit".  Depending on the :secret-kind and hosting environment, this could mean there are multiple additional properties injected (one for the file upload versus local path option field, one for the value itself on upload, and one for the file path)
      
      Adding utility function to do the reverse (i.e. translating those client side properties back to the server secret property definition)
      
      Adding tests for both (including updating secret-test-driver to cover all of these)
      
      Add support for the treat-before-posting connection property config
      
      * Fix bug in `delete-orphaned-secrets!`
      Unverified
      13e9414b
  3. Nov 08, 2021
  4. Oct 21, 2021
    • Jeff Evans's avatar
      Secrets :closed_lock_with_key: PR 3 - Integrate secret handling with db-details (#17677) · 497f433d
      Jeff Evans authored
      Integrate secret handling with db-details
      
      Add helper function to database model namespace to "swap out" secret values with inserted IDs
      
      Calling this from the pre-update fn
      
      Add pre-insert fn for database model to perform the same
      
      Adding test to database model test ns
      
      Add creator_id to secret model to capture the user who created this secret instance/version
      
      Add creator-id and created-at sub properties for each secret in db details
      Unverified
      497f433d
  5. Jul 23, 2021
    • Jeff Evans's avatar
      Add support for driver deprecation (#17028) · 3ddcb263
      Jeff Evans authored
      
      # Backend changes
      
      Introducing new `superseded-by` property to plugin manifest YAML, which will indicate the driver that is to eventually replace this one (and will drive UI/UX behavior).  If a driver declares this property, then it's considered to be deprecated in favor of the specified one.
      
      Adding top level `test_modules` directory (with the same structure as modules) for the sole purpose of module/plugin testing of YAML files, which will not be included with the driver build
      
      Updating `driver-plugin-manifest` to look for the new `test_modules` directory in addition to `modules`, when loading the driver manifest
      
      # Frontend changes
      
      Calculate `supersededBy` and supersedes maps from the "superseded-by" property for each engine
      
      Change the options for the engine field to use a function to dynamically show the legacy driver if allowed by rules (either the new driver is selected, or the legacy driver was already selected for an existing DB, or the driver is not superseded by anything)
      
      Add new `DriverWarning` component to show these warnings based on supersede status
      
      Co-authored-by: default avatarAnton Kulyk <kuliks.anton@gmail.com>
      Unverified
      3ddcb263
Loading