Uploaded image for project: 'Compass '
  1. Compass
  2. COMPASS-7004

Make `socks` a peer optional dependency

    • Type: Icon: Investigation Investigation
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • No version
    • Affects Version/s: None
    • Component/s: None
    • 2
    • Not Needed
    • Iteration Iguanodon

      Use Case

      As a driver engineer,
      I want `socks` to be a peer optional dependency,
      So that we do not have required dependencies for optional features.

      User Impact

      Users will need to install `socks` themselves in order to use `socks`.  This is a breaking change.

      Dependencies

      • n/a

      Unknowns

      • n/a

      Acceptance Criteria

      Implementation Requirements

      • `socks` will no longer be a dependency of the driver and instead will be a peer optional dependency
      • any usages of socks in the driver must lazy-load the socks module.

      Testing Requirements

      • modify the socks5 driver, socks5 FLE and the socks5 FLE+tls CI variants to install `socks` manually for testing

      Documentation Requirements

      • We have no documentation on how to enable socks5 proxy support with the Node driver.  We should add a page to our "Connection" reference that explains how to setup the driver with socks support.  This page should cover the relevant URI/client options and instruct users that `socks` must be installed.

      Follow Up Requirements

      • n/a

            Assignee:
            Unassigned Unassigned
            Reporter:
            dbeng-pm-bot PM Bot
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: