I can't seem to find an official Tekton Pipelines helm chart. It looks like the JX team has their own implementation of it but it looks tuned to JX. Is there any plan (or one that currently exists) for an officially supported Helm chart?
There is not plan for an official helm chart that I know of. We are working on providing a operator (see tektoncd/operator) for installation purpose.
That said, it might make sense to have one ?
/kind question
@MLBMatt i wrote an helm chart with pipeline and dashboard. My plan was to add triggers before making it public.
I also wrote an helm chart for prow so that I can set up my full ci/cd solution from helm.
It’s not official though, but I will be happy to contribute if there is some interest for it.
@MLBMatt i made the repo public, but keep in mind it's still work in progress. Things are subject to change as i work on it.
https://github.com/eddycharly/helm-prow-tekton/tree/master/helm/tekton
@vdemeester i think having a helm chart is great to simplify installation for the end user. It is also useful for documenting how one can configure/customize the installation, while allowing to provide default values.
Things like adding custom annotations, labels, tuning resources, etc... are so common, that's where helm really shines.
What I really need is just a way to apply the CRDs automatically into a cluster...right now we're just leveraging a makefile to run a "setup task" that runs a bunch of kubectl apply -fs
The crds and the controller are tightly coupled. What do you mean by « just a way to apply the crds into a cluster » ?
The chart can deploy only the crds and controller. Dashboard and webhook components are optional and can be disabled.
Like I need the https://storage.googleapis.com/tekton-releases/pipeline/latest/release.yaml and https://storage.googleapis.com/tekton-releases/triggers/latest/release.yaml CRDs applied without running a kubectl apply to work seamlessly in our workflow. Bootstrapping a Tekton cluster still requires these manual steps that could be solved if they were put into and maintained in a standalone Helm chart.
I agree that an officially maintained chart would be great.
A lot of charts are created and maintained by the community though.
I'm also contemplating a chart, but it seems like if its not part of the official repo and build process, it will quickly fall behind as issues / features are implemented and released. It looks like IBM has a community chart that's already defunct. https://github.com/IBM/charts/tree/master/community/tekton-pipelines
An official chart is certainly valuable, and doable, but i think we'd have to come up with a sensible set of parameters that can be adjusted and those would somehow have to be injected in the proper places in the new templates.
But looking at the configs https://github.com/tektoncd/pipeline/tree/master/config it seems as though the are not dynamically generated or compiled into the releases, so it might make sense to just helm-ify those directly suggest users prefer Helm ala GitHub repo.
$ helm repo add tekton-official https://raw.githubusercontent.com/tektoncd/pipeline/master/repo/chart
$ helm install tekton-official/tekton-pipelines --name <my-release> [--tls]
I think if you take that approach, you can also generate release yaml using Helm dry-run / debug to simply output default values from the templates in their current inline form.
This also seems to be agnostic from the rest of the project concerns, eg, the controller code, etc. So would be non-disruptive and would allow both a chart based and kubectl based installation from the same codebase.
Linking issue in plumbing https://github.com/tektoncd/plumbing/issues/278
Various PRs in the experimental repository are linked to the issue.
This is WIP.
@vdemeester or someone.. is there any update on this front?
Is there any public helm chart for pipelines?
@salaboy we couldn't integrate this in the official org, i've setup one repo here https://github.com/eddycharly/tekton-helm but it's not official
ended up here by search for issues. +1 for an official helm chart support.
An update on here, I am currently using Jenkins X Helm Charts which include and maintain a Tekton Helm Chart for their deployments, so it is up to date:
- name: tekton
repository: https://storage.googleapis.com/chartmuseum.jenkins-x.io
version: 0.0.56
I hope this helps...
Jenkins X relies heavily on Tekton, so I trust that these charts are well maintained and regularly updated.
@salaboy Is this the chart you are referring to https://github.com/jenkins-x-charts/tekton ?
@ibexmonj yes, I think that those are the charts that are published in their public helm chart repository linked above.
fwiw, it looks like Helm 3 has made a conscious decision to not fully support CRDs, so its likely not a good idea to pursue a Tekton chart. https://helm.sh/docs/chart_best_practices/custom_resource_definitions/
@adjavaherian thats not what i interpret based on the what the docs say. They are handling CRD installs in a separate directory now crds dir vs the old crd-install. They do not say helm3 won't support CRD installs at all.
I believe there is value in adding the community chart and let the community maintain it under the official project like other open source projects do.
FWIW, there are already at least 2 separate work streams i have found that are maintaining the tekton helm charts
https://github.com/jenkins-x-charts/tekton and https://github.com/eddycharly/tekton-helm
@adjavaherian I do understand that it gets confusing for updates of CRDs, but are Tekton CRDs changing that much? I mean, if they are stable enough for other projects to consume, I think that having a Helm chart is very useful,
@ibexmonj we might want to push for something like a http://cd.foundation maintained chart as a joint collaboration of multiple open source projects interested in having the charts.. @rawlingsj what do you think about this? I do believe that is a great place for collaboration
@salaboy yeah makes sense to me. FWIW the Jenkins X helm chart is currently a little behind the latest release https://github.com/jenkins-x-charts/tekton/blob/0ead7a1b6d950aedb303df76b0ece90fac66a71d/tekton/values.yaml#L2. It would be great to setup some automation and keep up-to-date with latest releases including automated testing that could also help provide the tekton project some feedback too. If the CDF has the infrastructure to be able to do this then that sounds like a win, I'd happily help any way I can.
@salaboy @rawlingsj great thinking - I'll take it to the CDF interoperability SIG (https://github.com/cdfoundation/sig-interoperability) and I'm sure we can get this done somehow or the other.
There is not plan for an official helm chart that I know of. We are working on providing an operator (see
tektoncd/operator) for installation purpose.That said, it might make sense to have one ?
/kind question
To date, the operator looks to be under development and refactoring (for instance, I had a look two days ago, and the 'deploy' dir was renamed to 'config' between 2 pages reload). And, I suppose, this operator would require the OLM (Operator Lifecycle Manager). I guess not everyone has got this OLM installed / available (even if easily installable).
So, in the meantime, I would suggest to rely on a Helm chart. Personally, I succeeded in using the charts provided by @eddycharly (and could make PR to use the latest version of pipelines and dashboard).
To date, the operator looks to be under development and refactoring (for instance, I had a look two days ago, and the 'deploy' dir was renamed to 'config' between 2 pages reload). And, I suppose, this operator would require the OLM (Operator Lifecycle Manager). I guess not everyone has got this OLM installed / available (even if easily installable).
So, the goal of tektoncd/operator is to make it usable without requiring OLM, so that you can just apply the operator yaml and that takes care of the rest (installing or upgrading tekton, …). cc @nikhil-thomas @sthaha . It is indeed in refactoring to allow such thing (and also to allow having customization per targets like openshift, gke, …)
i want helm chat ,so i can add tekton to rancher or kubesphere appstore.
The cd.foundation created a shared chart here: https://github.com/cdfoundation/tekton-helm-chart you can find the instructions on how to install it there. If this is good enough for the tekton community, we should close this issue and add a link to it in the docs.. I am happy to send a PR with that. what do you think @bobcatfish ?
Most helpful comment
The cd.foundation created a shared chart here: https://github.com/cdfoundation/tekton-helm-chart you can find the instructions on how to install it there. If this is good enough for the tekton community, we should close this issue and add a link to it in the docs.. I am happy to send a PR with that. what do you think @bobcatfish ?