-
Notifications
You must be signed in to change notification settings - Fork 237
Open
Labels
kind/featureCategorizes issue or PR as related to a new feature.Categorizes issue or PR as related to a new feature.triage/wg-discussIndicates an issue that needs to be discussed during a working group call.Indicates an issue that needs to be discussed during a working group call.
Description
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
tektoncdproject 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
tektoncdprojects- Enable image signing (with
chains, …) for alltektoncdproject
- Enable image signing (with
- Approve and LGTM flow
- CI oriented dashboard
- Think of prow
- optional can serve as a blueprint for a CI system based on top of
tektoncdcomponent - optional Simple syntax
- Close to
tektoncd/pipelineif even wrapped
- Close to
Use cases
- Pipeline on push event
- branch, tag, rev, …
- Pipeline on PR event
- On-demand pipeline
- 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 intektoncd/pipeline)
- Removing the need to do this in
- Control
Step.imagein order to give some "guarantees" (SLSA). Features like the following would be "moved" on that project instead oftektoncd/pipeline. - Identify missing features required for us to adopt our own tools
- Identify missing task that the community needs…
- … and would support
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.
JeromeJu, jerop, aaron-prindle and chitrangpateljerop, JeromeJu, Yongxuanzhang, aaron-prindle and chitrangpatel
Metadata
Metadata
Assignees
Labels
kind/featureCategorizes issue or PR as related to a new feature.Categorizes issue or PR as related to a new feature.triage/wg-discussIndicates an issue that needs to be discussed during a working group call.Indicates an issue that needs to be discussed during a working group call.