Skip to content

Commit

Permalink
Create 2020 roadmap 🛣️
Browse files Browse the repository at this point in the history
I have put together a roadmap for 2020, which attempts to represent the
most requested of the features and issues that we've seen so far. I did
this by:

* [Reviewing the 2019 roadmap](https://docs.google.com/document/d/1zClmMJZU63kEDedjxTI99MCK-mXqm-Ym7PBfjMG5tQE/edit)
* Looking at the oldest and most commented on issues in Tekton Pipelines
  and Tekton Triggers

I also added a section on Tekton's mission: this is the mission that
we've been using at Google when talking about Tekton - so this is a
great chance for anyone who is viewing Tekton differently to mention
their mission and vision so we can tweak it. Having more clarity around
what everyone is hoping accomplish with Tekton will make it easier to
make decisions around features, etc.

Roadmaps for individual projects:
* Pipelines: tektoncd/pipeline#2275
* Triggers: tektoncd/triggers#498
* Catalog: tektoncd/catalog#236
* Dashabord: TBD, initial thoughts in #77 (comment)
* CLI: TBD
  • Loading branch information
bobcatfish committed Mar 24, 2020
1 parent bd64de4 commit 5837ed8
Show file tree
Hide file tree
Showing 2 changed files with 82 additions and 0 deletions.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ This is the central home for documentation on joining and contributing to the Te

## Want to learn how the project works

* Take a look at our [mission and roadmaps](roadmap.md)
* Take a look at [our Governance docs](governance.md)

## Want to get involved
Expand Down
81 changes: 81 additions & 0 deletions roadmap.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
# Tekton Mission and Roadmap

This doc describes Tekton's mission and the 2020 roadmap primarily
for Tekton Pipelines but some sneak peeks at other projects as well.

- [Mission and Vision](#mission-and-vision)
- [GA releases](#ga-releases)
- [Release and dogfooding](#release-and-dogfooding)
- [Results](#results)
- Tekton Projects
- [Pipeline](https://github.com/tektoncd/pipeline/blob/master/roadmap.md)
- [Triggers](https://github.com/tektoncd/triggers/blob/master/roadmap.md)
- [Catalog](https://github.com/tektoncd/catalog/blob/master/roadmap.md)
- Dashboard
- CLI

## Mission and Vision

Tekton's mission:

Be the industry-standard, cloud-native CI/CD platform components and ecosystem.

The vision for this is:

* Tekton API conformance across as many CI/CD platforms as possible
* A rich catalog of high quality, reusable `Tasks` which work with Tekton conformant systems

What this vision looks like differs across different users:

* **Engineers building CI/CD systems**: These users will be motivated to use Tekton
and integrate it into the CI/CD systems they are using because building on top
of Tekton means they don't have to re-invent the wheel and out of the box they get
scalable, serverless cloud native execution
* **Engineers who need CI/CD**: (aka all software engineers!) These users will benefit
from the rich high quality catalog of reusable components:

* Quickly build and interact with sophisticated `Pipelines`
* Be able to port `Pipelines` to any Tekton conformant system
* Be able to use multiple Tekton conformant systems instead of being locked into one
or being forced to build glue between multiple completely different systems
* Use an ecosystem of tools that know how to interact with Tekton components, e.g.
IDE integrations, linting, CLIs, security and policy systems

## GA releases

In 2019 we got to the point where we had several projects built on top of Tekton
that were craving additional API stability, so we started a push toward having
a beta release of Tekton. We have
[created a plan](https://docs.google.com/document/d/1H8I2Rk4kLdQaR4mV0A71Qbk-1FxXFrmvisEAjLKT6H0/edit)
which defines what Beta means for Tekton Pipelines, and
[through our beta working group](https://github.com/tektoncd/community/blob/master/working-groups.md#beta-release)
we are working towared a beta release in early 2020.

After our initial Tekton Pipelines beta release, which
[does not include all Tekton Pipeline components](https://docs.google.com/document/d/1H8I2Rk4kLdQaR4mV0A71Qbk-1FxXFrmvisEAjLKT6H0/edit#heading=h.t0sc4hdrr5yq),
we will work toward:

1. Beta and GA for all Tekton Projects
1. Deciding our release policy going forward: e.g do we want all projects to release at the same time,
with the same verison

As the project matures, we also require [via tekton.dev](https://github.com/tektoncd/website):

1. A website that provides a good landing page for users
1. Solid, high quality onboarding and documentation

### Release and Dogfooding

In 2020 we should keep the momentum going we started in 2019 and switch as much
of our CI infrastructure as possible to being purely Tekton, including running our
linting, unit tests, integration tests, etc.

### Results

One of the benefits of [defining specifications around CI/CD](#mission-and-vision)
is that we can start to create tools around inspecting what is moving through our
Pipelienes. In 2019 we started some design work around a result storage system for
Tekton, and we want to make progress on this in 2020:

* Design reporting to results store: https://github.com/tektoncd/pipeline/issues/454
* Snapshoting data for history + repeatability: https://github.com/tektoncd/pipeline/issues/279

0 comments on commit 5837ed8

Please sign in to comment.