8000 Proposal: Tekton Opinionated CI project · Issue #1083 · tektoncd/community · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
Proposal: Tekton Opinionated CI project #1083
Open
@vdemeester

Description

@vdemeester

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
    • Think of prow
  • 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
    • 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 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…
    • … 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.

cc @dibyom @bobcatfish @jerop @chmouel @afrittoli

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind/featureCategorizes issue or PR as related to a new feature.triage/wg-discussIndicates an issue that needs to be discussed during a working group call.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0