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
- Very little plumbing (from the repository maintainer perspective)
- Everything comes built-in, opiniated (PR oriented)
- A new
tektoncd project should go from creation to "able to release" in a matter of minutes or hours
- "As code" configuration, aka CI definition lives in the repository the CI is on (e.g. GitHub workflows)
- Following SLSA guidelines and Secure supply chain on
tektoncd projects
- Enable image signing (with
chains, …) for all tektoncd project
- Approve and LGTM flow
- CI oriented dashboard
- optional can serve as a blueprint for a CI system based on top of
tektoncd component
- optional Simple syntax
- Close to
tektoncd/pipeline if even wrapped
Use cases
- Pipeline on push event
- Pipeline on PR event
- Pipeline on a schedule
- Automated releases (push a tag or release branch, the rest is automatic — and configurable)
- Nightly releases
- Chatops & notifications
- PR comments
- Other integrations (slack, …)
- Shared set of Tasks and Pipelines…
- … while still allow customization per projects
- … and "as code"
aka changing the CI setup happens in the repository instead of an external one (e.g. GitHub workflows vs Prow)
Benefits
- Move entrypoint for features in that project instead of "nowhere" today
- Links multiple project together in one "feature" drive
- Opinionated
- Opinion helps taking decisions
- Implement / satisfy all SLSA
- Removing the need to do this in
tektoncd/pipeline (primitives can still be in tektoncd/pipeline)
- Control
Step.image in order to give some "guarantees" (SLSA). Features like the following would be "moved" on that project instead of tektoncd/pipeline.
- Identify missing features required for us to adopt our own tools
- Identify missing task that the community needs…
Related work
- Dogfooding Roadmap - Tekton Based CI/CD for Tekton #912
- Tekton Workflows #464
- Pipeline as code TEP #341
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
Summary
Create a project that is an opinionated CI project used and maintained by the Tekton community. The goal is to replace completely
prowto be able to dog-food Tekton entirely with Tekton.tektoncd/plumbingwould become either obsolete, or the configuration repository for that project.Goals
tektoncdproject should go from creation to "able to release" in a matter of minutes or hourstektoncdprojectschains, …) for alltektoncdprojecttektoncdcomponenttektoncd/pipelineif even wrappedUse cases
aka changing the CI setup happens in the repository instead of an external one (e.g. GitHub workflows vs Prow)
Benefits
tektoncd/pipeline(primitives can still be intektoncd/pipeline)Step.imagein order to give some "guarantees" (SLSA). Features like the following would be "moved" on that project instead oftektoncd/pipeline.Step.imageis under control of Task Author #7085Related work
Who will own it
This is yet to be decided, but it would most likely be the current
tektondc/plumbingmaintainers, and any existingtektoncdproject maintainers interested into working on it.cc @dibyom @bobcatfish @jerop @chmouel @afrittoli