Uploaded image for project: 'Project Quay'
  1. Project Quay
  2. PROJQUAY-3457

Pull-thru proxy support for https+insecure

XMLWordPrintable

    • 3
    • False
    • None
    • False
    • Documentation (Ref Guide, User Guide, etc.), Release Notes, User Experience
    • 0

      The proxy cache config model currently has an "insecure" flag, which it uses to decide whether to request the upstream registry via http or https.

      Instead, the "insecure" flag should only be used to decide whether Quay should verify the SSL cert or not. The python requests library supports a `verify=False` flag [1], which can be used to achieve this, based on the value of "insecure".
      To decide which protocol to use, Quay can first try one https, and on error try http instead (something like https://github.com/containers/image/blob/929f14a56f5c0f048121f72159acbc4df37ac054/docker/docker_client.go#L758-L761).

      Suggested flow:

      1. if "insecure" is true, set verify to false (verify is true by default)
      2. try to connect with upstream registry via https, using the previously set verify flag
      3. if connecting with upstream registry via https fails, try again using http (maybe you want to try http only if certain failures happen)
      4. if http doesn't work either, raise an exception to caller

      *ACCEPTANCE CRITERIA*

      • support for http registries (no SSL)
      • support for secure https registries (verify SSL cert)
      • support for insecure https registries (do not verify SSL cert)
      • "insecure" help text in the UI reflects its new function

      It is out of the scope of this bug to add support for custom SSL certificates.

      *NOTES*

      [1] https://requests.readthedocs.io/en/latest/user/advanced/#ssl-cert-verification

            Unassigned Unassigned
            fmissi Flavian Missi
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated: