tektoncd / community

Community documentation for the Tekton project
https://tekton.dev
Apache License 2.0
361 stars 219 forks source link

Proposal: Tekton Opinionated CI project #1083

Open vdemeester opened 11 months ago

vdemeester commented 11 months ago

Summary

Create a project that is an opinionated CI project used and maintained by the Tekton community. The goal is to replace completely prow to be able to dog-food Tekton entirely with Tekton.

tektoncd/plumbing would become either obsolete, or the configuration repository for that project.

Goals

Use cases

Benefits

Related work

Who will own it

This is yet to be decided, but it would most likely be the current tektondc/plumbing maintainers, and any existing tektoncd project maintainers interested into working on it.

cc @dibyom @bobcatfish @jerop @chmouel @afrittoli

chmouel commented 11 months ago

I will be happy if you want to consider pipelines as code for this.

Last time we discussed about getting pac upstream the discussion stalled because PAC is using PipelineRun + annotations instead of a new CR on top of it to specify configuration...

Most of the requirements as you listed should work with PaC, except:

Following SLSA guidelines and Secure supply chain on tektoncd projects Enable image signing (with chains, …) for all tektoncd project

I am not sure what that mean because from what I understand chains is doing this but I will be happy to talk how we can improve this.

CI oriented dashboard

We don't have any! we have a tkn pac (the CLI) command that give you an overview of all the Repository Statuses but no UI that looks like prow (and no integration with results at the moment for historical datas)

reading the Benefits section if you proposal it seems that you are targeting making a release of tektoncd/pipeline as the target?

I am not quite sure i understand this listed benefits :

Move entrypoint for features in that project instead of "nowhere" today Links multiple project together in one "feature" drive

it seems to me this goes beyond of a Opinionated CI and more about and it's more about an organizational challenge?

I can help set-up pipelinesascode on a wiling project to have a 'feel' of how it works for maintainers and maybe help taking a decision...

vdemeester commented 11 months ago

goes beyond of a Opinionated CI and more about and it's first more about an organization challenge?

Yes, but having this opinionated CI would help. A CI feature for Tekton, would most likely go into that project first. And from there we could define where it fits (which components needs some updates/features to support that use case, …).

bendory commented 10 months ago

👍🏾 Love this idea! Tekton-on-Tekton will be quite beneficial:

adambkaplan commented 9 months ago

The goal is to replace completely prow to be able to dog-food Tekton entirely with Tekton.

Must everything be handled by a Tekton-maintained component? For instance - it may be better for "eventing" things to be contributed to cdEvents or implementing Knative Eventing producers/consumers.

vdemeester commented 9 months ago

Must everything be handled by a Tekton-maintained component? For instance - it may be better for "eventing" things to be contributed to cdEvents or implementing Knative Eventing producers/consumers.

Not everything. cdEvents is a good example, and there is probably others. The main idea is to get as much as we can using tekton-maintainer components and use whatever make the most sense for things we don't want to reinvent the wheel.