Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Helm: Allow installing charts simply by providing a fully qualified URL #257

Closed
geekflyer opened this issue Nov 1, 2018 · 1 comment · Fixed by #284
Closed

Helm: Allow installing charts simply by providing a fully qualified URL #257

geekflyer opened this issue Nov 1, 2018 · 1 comment · Fixed by #284
Assignees
Labels
customer/feedback Feedback from customers
Milestone

Comments

@geekflyer
Copy link

geekflyer commented Nov 1, 2018

With regular helm I can install charts without adding their corresponding custom chart repository first.
I.e. this is valid helm usage: helm install https://jupyterhub.github.io/helm-chart/jupyterhub-0.7.0.tgz --namespace jupyter --set proxy.secretToken=foobar works.

The way how pulumi expects parameters to be passed it is currently always necessary to add a repository manually outside of pulumi which is cumbersome. E.g. via

helm repo add jupyterhub https://jupyterhub.github.io/helm-chart/
helm repo update

Please add the ability to pass simple URLs to install remote charts.

@geekflyer
Copy link
Author

related issue #229

@lukehoban lukehoban added this to the 0.19 milestone Nov 1, 2018
@lukehoban lukehoban added the customer/feedback Feedback from customers label Nov 1, 2018
lukehoban added a commit that referenced this issue Nov 18, 2018
Allows the `chart` input argument to be used in more of the same ways allowed as argument to `helm install`.  Makes `repo` optional to allow chart to be provided in forms that require fully qualified references.  Actually expose the `fetchOpts` argument so that `--repo` (and other customerizations to fetch) can be passed.  Adds some additional test coverage.

All of the following now work:

// #1
repo: "stable",
chart: "nginx-lego",
version: "0.3.1",

// #2
repo: "stable",
chart: "nginx-lego",

// #3
chart: "stable/nginx-lego",

// #4
chart: "stable/nginx-lego",
version: "0.3.1"

// #5
chart: "nginx-lego",
version: "0.3.1",
fetchOpts: {
  repo: "https://kubernetes-charts.storage.googleapis.com"
},

// #6
chart: "nginx-lego",
fetchOpts: {
  repo: "https://kubernetes-charts.storage.googleapis.com"
},

// #7
chart: "https://kubernetes-charts.storage.googleapis.com/nginx-lego-0.3.1.tgz",

Fixes #229.
Fixes #257.
lukehoban added a commit that referenced this issue Nov 19, 2018
Allows the `chart` input argument to be used in more of the same ways allowed as argument to `helm install`.  Makes `repo` optional to allow chart to be provided in forms that require fully qualified references.  Actually expose the `fetchOpts` argument so that `--repo` (and other customerizations to fetch) can be passed.  Adds some additional test coverage.

All of the following now work:

// #1
repo: "stable",
chart: "nginx-lego",
version: "0.3.1",

// #2
repo: "stable",
chart: "nginx-lego",

// #3
chart: "stable/nginx-lego",

// #4
chart: "stable/nginx-lego",
version: "0.3.1"

// #5
chart: "nginx-lego",
version: "0.3.1",
fetchOpts: {
  repo: "https://kubernetes-charts.storage.googleapis.com"
},

// #6
chart: "nginx-lego",
fetchOpts: {
  repo: "https://kubernetes-charts.storage.googleapis.com"
},

// #7
chart: "https://kubernetes-charts.storage.googleapis.com/nginx-lego-0.3.1.tgz",

Fixes #229.
Fixes #257.
lukehoban added a commit that referenced this issue Nov 21, 2018
Fixes #255.
Fixes #229.
Fixes #257.

Align more closely with `helm` options for chart references to support all scenarios supported by Helm including (a) getting latest by passing no version (b) using explicitly repo URLs (c) providing fully qualified URLs to charts. 

All of the following now work:

```javascript
// 1. Explicit repo/chart/version - not technically part of `helm` format but needed for back compat
repo: "stable",
chart: "nginx-lego",
version: "0.3.1",

// 2. Reference to "latest"
repo: "stable",
chart: "nginx-lego",

// 3. Helm "chart reference"
chart: "stable/nginx-lego",

// 4. Helm "chart reference" with explicit version
chart: "stable/nginx-lego",
version: "0.3.1"

// 5. Helm "chart reference and repo url" with explicit version
chart: "nginx-lego",
version: "0.3.1",
fetchOpts: {
  repo: "https://kubernetes-charts.storage.googleapis.com"
},

// 6. Helm "chart reference and repo url" 
chart: "nginx-lego",
fetchOpts: {
  repo: "https://kubernetes-charts.storage.googleapis.com"
},

// 7. Helm "absolute URL" 
chart: "https://kubernetes-charts.storage.googleapis.com/nginx-lego-0.3.1.tgz",
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
customer/feedback Feedback from customers
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants