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

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

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

kaskol10
Copy link

@kaskol10 kaskol10 commented Dec 1, 2021

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

@k8s-ci-robot k8s-ci-robot added release-note Denotes a PR that will be considered when it comes time to generate release notes. kind/design Categorizes issue or PR as related to design. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. labels Dec 1, 2021
@linux-foundation-easycla
Copy link

linux-foundation-easycla bot commented Dec 1, 2021

CLA Signed

The committers are authorized under a signed CLA.

@k8s-ci-robot
Copy link
Contributor

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. 😃

@k8s-ci-robot
Copy link
Contributor

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 k8s-ci-robot added needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. labels Dec 1, 2021
@kaskol10
Copy link
Author

kaskol10 commented Dec 1, 2021

/assign @msau42

@z0rc
Copy link

z0rc commented Dec 14, 2021

Please include CRDs into chart as well.

@SamuelBagattin
Copy link

Please include CRDs into chart as well.

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

@z0rc
Copy link

z0rc commented Dec 15, 2021

@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.

@eumel8
Copy link

eumel8 commented Feb 15, 2022

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!

@SamuelBagattin
Copy link

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 ?

@ggriffiths
Copy link
Member

/ok-to-test

@k8s-ci-robot k8s-ci-robot added ok-to-test Indicates a non-member PR verified by an org member that is safe to test. and removed needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. labels Apr 21, 2022
@ggriffiths
Copy link
Member

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.

@xing-yang
Copy link
Collaborator

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.

@KlavsKlavsen
Copy link

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

@ggriffiths
Copy link
Member

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.

@sathieu
Copy link

sathieu commented May 13, 2022

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.

@ggriffiths
Copy link
Member

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.

@mauriciopoppe mauriciopoppe mentioned this pull request Aug 20, 2022
@kahirokunn
Copy link

I need this helm.

Copy link
Member

@ggriffiths ggriffiths left a comment

Choose a reason for hiding this comment

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

Discussions on this feature request can happen here: #551

Feel free to re-request a review for this PR if the request is approved or a maintainer is found

@k8s-ci-robot
Copy link
Contributor

[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

@iosifnicolae2
Copy link

When would be this PR reviewd?

Thank you!

@kahirokunn
Copy link

I need this helm🥹

@k8s-triage-robot
Copy link

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-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Mar 25, 2023
@sathieu
Copy link

sathieu commented Mar 25, 2023

/remove-lifecycle stale

@k8s-ci-robot k8s-ci-robot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Mar 25, 2023
@k8s-triage-robot
Copy link

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-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jun 23, 2023
@kahirokunn
Copy link

Keep

@Nuru
Copy link

Nuru commented Aug 30, 2023

/remove-lifecycle stale

I would use a Helm chart if one were available.

@k8s-ci-robot k8s-ci-robot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Aug 30, 2023
@KlavsKlavsen
Copy link

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.

@z0rc
Copy link

z0rc commented Aug 31, 2023

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

@KlavsKlavsen
Copy link

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).

@z0rc
Copy link

z0rc commented Sep 1, 2023

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.

@KlavsKlavsen
Copy link

No one said they were obliged. Its simply one of the best ways to consume k8s apps for the users, as it has features that enables easy monitoring for new versions f.ex. - instead of having to manually crawl through 50+ app repos (or how many you end up using), to check for updates regulary :)
If its a 3rd party, which true - some are - one has to be a bit more careful - and also watch out for "helm chart not being updated/following upstream anymore".

This is why f.ex. Ubuntu package a lot of applications into their repos - as Ubuntu users, then easily can follow updates and trust they're of decent quality and up2date.

With k8s there aren't really distros in the same way, so you follow the apps you choose to use - and Helm really makes that easier, and also allows for applications to "simplify" install options, via the templating and values features of Helm.

We're using it in our open source project https://github.com/Obmondo/k8id/tree/master/argocd-helm-charts/external-snapshotter - to f.ex. allow specifying multiple helm charts that needs to be installed to have a working external-snapshotter setup - trying to make everyones life easier, operating k8s :)

@k8s-ci-robot
Copy link
Contributor

@kaskol10: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
pull-kubernetes-csi-external-snapshotter-1-27-on-kubernetes-1-27 5aebed5 link true /test pull-kubernetes-csi-external-snapshotter-1-27-on-kubernetes-1-27

Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR.

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. I understand the commands that are listed here.

@vstthomas
Copy link

It was not readily apparent to my HOW to implement this. For anyone that comes after; I just installed like this:

module "eks_blueprints_addons" {
  source  = "aws-ia/eks-blueprints-addons/aws"
  version = "~> 1.12.0" #ensure to update this to the latest/desired version

  # Any addon from "add-ons from Amazon EKS" can be added to the below block
  # https://docs.aws.amazon.com/eks/latest/userguide/eks-add-ons.html#workloads-add-ons-available-eks
  eks_addons = {
    aws-ebs-csi-driver = {
      most_recent              = true
      service_account_role_arn = module.ebs_csi_driver_irsa.iam_role_arn
    }
    snapshot-controller = {
      most_recent = true
    }
  }
...
}

I hope this helps the next person 😄

@k8s-triage-robot
Copy link

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-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Mar 10, 2024
@kahirokunn
Copy link

/remove-lifecycle stale

@k8s-ci-robot k8s-ci-robot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Mar 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. kind/design Categorizes issue or PR as related to design. ok-to-test Indicates a non-member PR verified by an org member that is safe to test. release-note Denotes a PR that will be considered when it comes time to generate release notes. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Helm chart for CRDs and snapshot controller?