Uploaded image for project: 'Artifactory Binary Repository'
  1. Artifactory Binary Repository
  2. RTFACT-15272

Artifactory cannot proxy a Bintray NPM repository

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: High
    • Resolution: Fixed
    • Affects Version/s: 5.5.2
    • Fix Version/s: 5.9.0
    • Component/s: NPM, Remote Repository
    • Labels:
      None
    • Estimated Resolution Quarter:
      Q1-18
    • Support Tickets:
      Show
      Unity SF - Support Case
    • Product Comments:
      4.12: Will be fixed in Q1-18.
    • Internal Documentation:
    • Sprint:
      Leap 28
    • Support Comments:
      I can see that it can be fixed on the Bintray side but it does not seem to be a Bintray issue. In other words, the NPM client has no issues following the different URL, what is to stop a different NPM provider from doing the same?

      Description

      Artifactory cannot proxy a Bintray NPM repository.

      To reproduce

      1. Create an open source NPM repo on Bintray
      2. Upload an NPM package to it
      3. Follow the "Set me Up" instructions to configure the NPM client for the Bintray Repo
      4. Download the uploaded package (notice it succeeds)
      5. Run 'npm cache clear' to remove the package
      6. Point Artifactory to the Bintray repo (https://api.bintray.com/npm/<org|user>/<repo>)
      7. Follow the Artifatory "Set me up instructions"
      8. Attempt to download the package
      9. Observe success in download metadata but failure to download the actual package (tgz)

      The errors (with debug logging)

      2017-11-13 22:07:34,444 [http-nio-8081-exec-6] [DEBUG] (o.a.w.s.RepoFilter  :100) - Entering request GET (64.71.2.34) /api/npm/npm-virtual/foo/-/foo-1.8.0.tgz.
      ...
      2017-11-13 22:07:34,454 [http-nio-8081-exec-6] [DEBUG] (o.a.h.i.c.DefaultHttpClientConnectionOperator:131) - Connecting to api.bintray.com/108.168.194.93:443
      ...
      2017-11-13 22:07:34,607 [http-nio-8081-exec-6] [DEBUG] (o.a.w.s.RepoFilter  :188) - Exiting request GET (64.71.2.34) /api/npm/npm-virtual/foo/-/foo-1.8.0.tgz
      

      Notice the request is made to api.bintray.com but the JSON tells us to download from dl.bintray.com:

       "dist": {
           "tarball": "https://dl.bintray.com//paco/paco-repo/foo/-/foo-1.2.1.tgz",
           "shasum": "38930fa059e4feb49b401c4fd23e4f477cf6360d"
       }
      

        Attachments

          Activity

            People

            • Assignee:
              galba Gal Ben Ami
              Reporter:
              arturoa Arturo Aparicio
              Assigned QA:
              Maxim Yurkovsky
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Time Tracking

                Estimated:
                Original Estimate - 1 week
                1w
                Remaining:
                Remaining Estimate - 1 week
                1w
                Logged:
                Time Spent - Not Specified
                Not Specified