external-snapshotter icon indicating copy to clipboard operation
external-snapshotter copied to clipboard

Add Helm Chart manifests and GitHub Release Helm Chart for the snapshot-controller component

Open kaskol10 opened this issue 2 years ago • 36 comments

What type of PR is this?

Uncomment only one /kind <> line, hit enter to put that in a new line, and remove leading whitespaces from that line:

/kind api-change /kind bug /kind cleanup /kind design /kind documentation /kind failing-test /kind feature /kind flake

/kind design

What this PR does / why we need it:

The changes introduced with this PR allow for better integration snapshot-controller and Helm. Besides, publish the Helm Chart in the GitHub Releases Pages using a GitHub Action.

Which issue(s) this PR fixes:

Fixes #551

Special notes for your reviewer: A GitHub branch called gh-pages would be needed to store the published charts. It's a pre-requisite for chart-releaser-action Does this PR introduce a user-facing change?:

Added Helm Chart manifests and Helm Chart GitHub Release for snapshot-controller component

kaskol10 avatar Dec 01 '21 16:12 kaskol10

CLA Signed

The committers are authorized under a signed CLA.

  • :white_check_mark: Ramiro Alvarez Fernandez (afd2861adef544a73575371a0e4227598cbb3e18, ae977de2f8e968df8249dc76f52e3027c3fcd467, c3a82716a50cac26cd12b406f2aaf8e2a923fcda)

Welcome @kaskol10!

It looks like this is your first PR to kubernetes-csi/external-snapshotter 🎉. Please refer to our pull request process documentation to help your PR have a smooth ride to approval.

You will be prompted by a bot to use commands during the review process. Do not be afraid to follow the prompts! It is okay to experiment. Here is the bot commands documentation.

You can also check if kubernetes-csi/external-snapshotter has its own contribution guidelines.

You may want to refer to our testing guide if you run into trouble with your tests not passing.

If you are having difficulty getting your pull request seen, please follow the recommended escalation practices. Also, for tips and tricks in the contribution process you may want to read the Kubernetes contributor cheat sheet. We want to make sure your contribution gets all the attention it needs!

Thank you, and welcome to Kubernetes. :smiley:

k8s-ci-robot avatar Dec 01 '21 16:12 k8s-ci-robot

Hi @kaskol10. Thanks for your PR.

I'm waiting for a kubernetes-csi member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

k8s-ci-robot avatar Dec 01 '21 16:12 k8s-ci-robot

/assign @msau42

kaskol10 avatar Dec 01 '21 17:12 kaskol10

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: kaskol10 To complete the pull request process, please ask for approval from msau42 after the PR has been reviewed.

The full list of commands accepted by this bot can be found 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 avatar Dec 02 '21 10:12 k8s-ci-robot

Please include CRDs into chart as well.

z0rc avatar Dec 14 '21 18:12 z0rc

Please include CRDs into chart as well.

According to stevehipwell, is it really a good practice to install CRDs part of a helm chart ?

SamuelBagattin avatar Dec 15 '21 09:12 SamuelBagattin

@SamuelBagattin Helm isn't able to manage full lifecycle of CRDs, that's true, but it is quite capable of installing CRDs if there is none. Which solves initial deployment task. It's common practice on CRDs change to bump major chart version and provide instructions how to update CRDs, check out https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack.

z0rc avatar Dec 15 '21 09:12 z0rc

Great work, @kaskol10 , many thanks! Any progress here on this PR? In the past we had our own Helm chart for CRDs, before the snapshot controller manager was removed from OpenStack Cinder CSI Chart and it's not available anymore since openstack-cinder-csi-2.0.0. Would be a good idea to have a fast replacements, thx!

eumel8 avatar Feb 15 '22 09:02 eumel8

Hi @kaskol10 🙌 It's been a while there has been no more commit on this PR, and the helm chart would really help us 😊 Any update ?

SamuelBagattin avatar Apr 14 '22 11:04 SamuelBagattin

/ok-to-test

ggriffiths avatar Apr 21 '22 20:04 ggriffiths

My concern with this is continued support of helm charts by the maintainers, I am not sure if that's something the team would have the bandwidth to do for every release. I'll defer to @xing-yang as to if we want to continue maintaining helm charts for the snapshot-controller in this repo.

ggriffiths avatar Apr 21 '22 20:04 ggriffiths

My concern with this is continued support of helm charts by the maintainers, I am not sure if that's something the team would have the bandwidth to do for every release. I'll defer to @xing-yang as to if we want to continue maintaining helm charts for the snapshot-controller in this repo.

Thanks @kaskol10 for your contribution. As mentioned by @ggriffiths, that's exactly the concern we have.

xing-yang avatar Apr 21 '22 23:04 xing-yang

We too would really like an easy way to actually install this.. What other way do you recommend, instead of using a Helm Chart?

KlavsKlavsen avatar May 10 '22 09:05 KlavsKlavsen

We too would really like an easy way to actually install this.. What other way do you recommend, instead of using a Helm Chart?

The deployment files under deploy/kubernetes will work. We maintain those for every release with new flags/RBAC/etc.

If there's enough interest, maybe you can create a separate repo to house and maintain the Helm installation.

ggriffiths avatar May 10 '22 17:05 ggriffiths

My concern with this is continued support of helm charts by the maintainers,

Maybe the solution is to generate the plain manifests from the helm chart (and add a pipeline to ensure. WDYT?

NB: there is also helmify to create charts from plain manifests.

sathieu avatar May 13 '22 17:05 sathieu

Just FYI, there are helm charts already available at https://github.com/piraeusdatastore/helm-charts. It's perfectly fine, if project maintainers don't want to support helm chart, helm community can help with existing chart maintained by 3rd party.

z0rc avatar May 13 '22 17:05 z0rc

My concern with this is continued support of helm charts by the maintainers,

Maybe the solution is to generate the plain manifests from the helm chart (and add a pipeline to ensure. WDYT?

NB: there is also helmify to create charts from plain manifests.

How it's done isn't a concern, I just don't think there's enough contributor bandwidth to maintain that for every release. I would suggest setting up a community repo to maintain these charts.

ggriffiths avatar Jun 02 '22 22:06 ggriffiths

I need this helm.

kahirokunn avatar Aug 30 '22 05:08 kahirokunn

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: kaskol10 Once this PR has been reviewed and has the lgtm label, please ask for approval from msau42 by writing /assign @msau42 in a comment. For more information see the Kubernetes Code Review Process.

The full list of commands accepted by this bot can be found 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 avatar Oct 24 '22 20:10 k8s-ci-robot

When would be this PR reviewd?

Thank you!

iosifnicolae2 avatar Dec 20 '22 20:12 iosifnicolae2

I need this helm🥹

kahirokunn avatar Dec 25 '22 13:12 kahirokunn

The Kubernetes project currently lacks enough contributors to adequately respond to all PRs.

This bot triages PRs according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the PR is closed

You can:

  • Mark this PR as fresh with /remove-lifecycle stale
  • Close this PR with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

k8s-triage-robot avatar Mar 25 '23 14:03 k8s-triage-robot

/remove-lifecycle stale

sathieu avatar Mar 25 '23 15:03 sathieu

The Kubernetes project currently lacks enough contributors to adequately respond to all PRs.

This bot triages PRs according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the PR is closed

You can:

  • Mark this PR as fresh with /remove-lifecycle stale
  • Close this PR with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

k8s-triage-robot avatar Jun 23 '23 15:06 k8s-triage-robot

Keep

kahirokunn avatar Jun 23 '23 19:06 kahirokunn

/remove-lifecycle stale

I would use a Helm chart if one were available.

Nuru avatar Aug 30 '23 20:08 Nuru

One maybe overlooked feature of using helm charts - is that they make it MUCH easier to automate monitoring for version updates, in a standardized way. We actually just have a script that looks through all our application helm charts (from upstream) - and talks to helm repo - to see if a new version exists.. Making it work pretty much like good old Linux repos - for k8s.

KlavsKlavsen avatar Aug 31 '23 06:08 KlavsKlavsen

Everyone who still comments here. Have you seen https://github.com/piraeusdatastore/helm-charts/tree/main/charts/snapshot-controller? It was linked here at https://github.com/kubernetes-csi/external-snapshotter/pull/622#issuecomment-1126292632. Have you tried it? Is it missing something? There is already existing fully functional helm chart available.

z0rc avatar Aug 31 '23 13:08 z0rc

We are following the piraus charts - but IMHO its important that charts are "maintained alongside the code it installs" - as any other "release package". Thats the learnings from Helms "once upon a time - central package repository" - which was discontinues because things bitrot, when they don't live together. The install guide of this project SHOULD list the helm chart - and frankly I don't understand the hesitance to do so, when helm packages has such a huge advantage over "raw yaml" - for the users of the project (making k8s app maintenance much easier to do - as automation for monitoring for updates etc. . is made so much easier).

KlavsKlavsen avatar Sep 01 '23 07:09 KlavsKlavsen

I don't buy it. History of "central package repository" doesn't have anything to do with this case. Instead Helm enables anyone to package some manifests in a way they want to and distribute them. Project maintainers aren't obliged to provide a helm chart. This project isn't a unique case of not providing charts. Instead we see a raise of 3rd party repos that package multiple different projects (like https://github.com/bitnami/charts/tree/main/bitnami or https://github.com/deliveryhero/helm-charts/tree/master/stable), which is a good thing as this offloads burden from project maintainers and actually reduces chance of bitrot.

z0rc avatar Sep 01 '23 09:09 z0rc