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

Support external dependencies in HELM

    XMLWordPrintable

    Details

    • Type: Improvement
    • Status: Done
    • Priority: 3 - High
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      None

      Description

      We recently found out that a certain repository uses more than a single download URL in their index.yaml file. This causes Artifactory to be unable to rewrite both of the URLs, resulting in one of them remaining the same.

      Steps to reproduce:

      1. Create a new remote HELM repo pointing to “https://prometheus-community.github.io/helm-charts
      2. Create a new virtual HELM repo which aggregates the above repo
      3. Configure your HELM client with the virtual repo
      4. Pull a package using “$ helm install test helm-virtual/prometheus”
      5. Inspect the index.yaml file in the virtual repo. Some URLs are correct (RT address) and some have the original address (github)

      In this case the original index.yaml (in the remote repo) has two types of charts URLs:

      1. https://prometheus-community.github.io/helm-charts/* (same as repo URL)
      2. https://github.com/prometheus-community/helm-charts/releases/download/*

      If we don't specify Charts Base URL in the remote repo settings, Helm Virtual will rewrite the URLs that match repo URL (1), but not the second type, i.e. github.com (2).
       
      If we specify Charts Base URL and set it to https://github.com/.. (2) Helm Virtual will rewrite only those and skip URLs (1), those that are match Repo URL.

       

      Workarounds:

      1. A recommended workaround will be to use our official ChartCenter repository (chartcenter.io) to pull the Prometheus (and other) packages. This repository is the default one in latest Artifactory versions, updates regularly and should have the same versioning as the above Github repository
      2. Create two different repos and set a "Chart Base URL" for each to overwrite one of the URLs. Then, use either when pulling newer/older packages.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              nadavy Nadav Yogev
              Reporter:
              joeyn Joey Naor
              Votes:
              10 Vote for this issue
              Watchers:
              18 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Sync Status

                  Connection: RTFACT Sync
                  RTMID-24678 -
                  SYNCHRONIZED
                  • Last Sync Date: