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

Document migration path to ingress-nginx chart from stable/nginx-ingress #6038

Merged

Conversation

scottrigby
Copy link
Contributor

@k8s-ci-robot
Copy link
Contributor

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@k8s-ci-robot k8s-ci-robot added do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Aug 18, 2020
…inx-ingress

Signed-off-by: Scott Rigby <scott@r6by.com>
@scottrigby scottrigby force-pushed the migration-from-stable-nginx-ingress branch from 8192f35 to f78693f Compare August 18, 2020 21:16
Signed-off-by: Scott Rigby <scott@r6by.com>
@aledbf
Copy link
Member

aledbf commented Aug 18, 2020

/assign @ChiefAlexander


The following table lists the configurable parameters of the ingress-nginx chart and their default values.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

just remove this section without a replacement?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, why was this removed?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey good question – I should have given more context, have been doing this a lot lately trying to prep the move from stable for charts that have been in discussion for a while.

These chart README templates have been copied and re-copied across charts for years, and now that we're moving repos and counting down the days to Helm 2's end of support, it seems like a good time to simplify things.

For this issue, I needed to add an Upgrading section, for the remaining item in #5161 before we can mark the stable/nginx-ingress chart deprecated and point users here. I took the opportunity to make a few other section cleanup changes. Major differences are:

  • Added Helm 2 and Helm 3 commands, with links to Helm 3 command reference links (from there, users can select Helm 2 from the version dropdown if they wish)
  • Removed the options table that's duplicated from (often out of sync with) values.yaml in favor of helm inspect (Helm 2) and helm show values (Helm 3). The values.yaml file is well organized and commented, giving users a much better (and never out of sync) reference to what they can configure.

The rest of the changes I made were capitalization, removing some other duplicated instructions, linking to the better docs now at helm.sh/docs (they were not always this complete in the past when these README templates were initially written), nesting sub-headers (the configuration-related H2s now H3s underneath the "configure" H2, etc).

Related discussion at prometheus-community/helm-charts#14, where we're moving all the prometheus-related charts.

Personally I think it's cleaner this way, but lmk what you think 🙂

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is great. I had no idea about the helm show values. I see now that is commented down later.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed the options table that's duplicated from (often out of sync with) values.yaml in favor of helm inspect (Helm 2) and helm show values (Helm 3).

Makes sense. +1 from me


Alternatively, a YAML file that specifies the values for the parameters can be provided while installing the chart. For example,
### Migrating from stable/nginx-ingress
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just making sure, does thumbs up mean you think this section is good enough to deprecate the stable/nginx-ingress chart? I think the sooner there aren't two locations for users the better. We can still work to improve this, but just checking how you feel for this stage of the plan to officially deprecate stable and move here?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This section looks reasonable and clear about what to expect


```console
$ helm install ingress-nginx --set controller.extraArgs.v=2
# Helm 2
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ChiefAlexander makes sense to keep mentioning helm2?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Technically this chart should support either in its current form. I don't really mind leaving the references until helm 2 is fully dedicated. That or we flip the API version in the chart.yaml to the helm 3 version and just force helm 3 🤷‍♂️

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Helm 2 is still supported until Nov 13th, at which point I was thinking we should just remove those references from the README and docs.

@ChiefAlexander I would love to see moving to chart api v2, but would recommend keeping this v1 chart intact until after the Helm 2 support end date. One fun option could be to start on a v2 chart alongside this one (we just can't have two charts by the same name in the same helm repo index, even if they're two different chart api versions. So it could be named differently until then, or just not added to the repo index until then. Or we could just wait). One really nice feature as of Helm v3.1.0 is the post-renderer flag, which I hope will encourage chart api v2 charts to be dramatically simpler (less if/else logic for every use case within gotemplating) because end users can add their edge cases with a post renderer, so no need to add every use case in the world to ever chart after that. Would love to chat more about this one when you all have time! Thinking it's out of scope for this PR though

@aledbf
Copy link
Member

aledbf commented Aug 18, 2020

@scottrigby thank you for working on this 🎉


The following table lists the configurable parameters of the ingress-nginx chart and their default values.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, why was this removed?


```console
$ helm install ingress-nginx --set controller.extraArgs.v=2
# Helm 2
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Technically this chart should support either in its current form. I don't really mind leaving the references until helm 2 is fully dedicated. That or we flip the API version in the chart.yaml to the helm 3 version and just force helm 3 🤷‍♂️

@scottrigby scottrigby marked this pull request as ready for review August 19, 2020 00:53
@k8s-ci-robot k8s-ci-robot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Aug 19, 2020
@ChiefAlexander
Copy link
Contributor

/approve

@ChiefAlexander
Copy link
Contributor

Oh, wait. We should also bump the chart version before merging this in.

/approve cancel

Signed-off-by: Scott Rigby <scott@r6by.com>
@scottrigby
Copy link
Contributor Author

Damnit lol. Bumped chart PATCH version 👍

Copy link
Contributor

@ChiefAlexander ChiefAlexander left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for putting this together!

/approve

@aledbf
Copy link
Member

aledbf commented Aug 19, 2020

/lgtm

@aledbf
Copy link
Member

aledbf commented Aug 19, 2020

@scottrigby thanks!

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Aug 19, 2020
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: aledbf, ChiefAlexander, scottrigby

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Aug 19, 2020
@k8s-ci-robot k8s-ci-robot merged commit 6cfab1f into kubernetes:master Aug 19, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. lgtm "Looks good to me", indicates that a PR is ready to be merged. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants