Helm Deployment failed on Acquire packages

Octopus version: v2019.13.7
Helm version: v3.1.2
Helm repo: Internal Artifactory instance

When trying to deploy a Helm chart, the Acquire packages step fails with the exception System.ArgumentException: Only 'http' and 'https' schemes are allowed. I’ve verified that Octopus can reach the repo and see the package in question. Also helm.exe is located in the PATH on the Octopus server but I suspect it’s not making it far enough for that to matter.

I’ve run out of settings that I know to look at so any advice on how to proceed would be greatly appreciated.

ServerTasks-179970.log.txt (5.3 KB)

Thanks!

Hi Jeff,

Thanks for getting in touch! I’m sorry we didn’t get back to you earlier on this one. I’m just letting you know here that I’ve responded to your email, and we can continue the investigation into this issue there. :slight_smile:

Best regards,

Kenny

I figured out what is going on here. There’s a bug in Artifactory where non-virtual helm repos have invalid URLs in the index: https://www.jfrog.com/jira/browse/RTFACT-18464

Sample index.yaml generated by Artifactory:

apiVersion: v1
entries:
  pipeline-api:
  - apiVersion: v2
    appVersion: 2020.0422.1608
    created: 2020-04-22T22:10:04.965Z
    digest: 02ec308a7e0fdb5dd6345333a81c50d97adfb932686a4fbfe0af0e367bee5c6e
    name: pipeline-api
    urls:
    - local://pipeline-api-2020.0422.1608.tgz
    version: 2020.0422.1608
generated: 2020-04-22T22:10:04.965Z

It appears the helm cli tool doesn’t care about the “local://” scheme being returned and resolves the url accordingly. As per the Artifactory bug, I’ve setup a virtual repo and Octopus can pull the help charts just fine using the virtual repo address.

Hopefully this will help anyone else who runs in to this issue.

1 Like