Skip to content

Proposal: Tekton Workflows #464

@dibyom

Description

@dibyom

This is a proposal for an experimental higher level resource that would group the lower level Tekton primitives into a single entity. Conceptually, this would be similar to workflow in GitHub Actions and Argo Workflows, and Pipeline in Jenkins, CircleCI, and Gitlab.

The problem the project will solve

The main goal is to simplify the CI/CD configuration for end users. Tekton today has different un-opinionated primitives. While this is very flexible, it adds additional burden on end users looking for simpler CI/CD use cases. Platform developers tend to abstract away this complexity by adding abstraction layers that only expose basic inputs to the app developers.

Within Tekton itself, there have been a few experiments in this area. The Generators project combines trigger and pipeline definitions into a higher level opinionated syntax that is aware of external systems such as GitHub. The Pipelines as Code project uses PipelineRuns with annotations to describe Triggers. Similarly, Tekton Integrations proposed adding annotations for notifications and status updates to external systems. There was also a proposal for a concept of "Project" that will combine Triggers and Pipelines into a single view.

Similarly, many other CI/CD systems have an abstraction where primitives such as Triggers, and Pipelines are combined into one resource e.g. workflow in GitHub Actions and Argo Workflows, and Pipeline in Jenkins, CircleCI, and Gitlab.

Who Will Own It

@dibyom
@bobcatfish

Metadata

Metadata

Assignees

No one assigned

    Labels

    lifecycle/frozenIndicates that an issue or PR should not be auto-closed due to staleness.

    Type

    No type

    Projects

    Status

    Todo

    Status

    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions