Skip to content

Commit

Permalink
Add comparison with TEP-0046 🔎
Browse files Browse the repository at this point in the history
In the most recent API working group we decided to keep this TEP and
[TEP-0046](tektoncd#318) separate
because they are coming at a similar problem from different angles.

In the WG @jerop suggested that we update the TEPs with some info on
what the overlaps + differences are and that's what this TEP is adding!
  • Loading branch information
bobcatfish committed Feb 25, 2021
1 parent 52eab76 commit 3260468
Showing 1 changed file with 25 additions and 0 deletions.
25 changes: 25 additions & 0 deletions teps/0044-composing-tasks-with-tasks.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ authors:
- [Goals](#goals)
- [Non-Goals](#non-goals)
- [Use Cases (optional)](#use-cases-optional)
- [Overlap with TEP-0046](#overlap-with-tep-0046)
- [Requirements](#requirements)
- [References (optional)](#references-optional)

Expand Down Expand Up @@ -112,6 +113,30 @@ Issues that don't let PipelineResources (as is) solve these problems are:
on uploading to and downloading from buckets in the cloud (e.g. GCS)
- An organization is willing to use PVCs to some extent but needs to put limits on their use

### Overlap with TEP-0046

This TEP covers very similar ground as
[TEP-0046 (colocation of tasks and workspaces)](https://github.com/tektoncd/community/pull/318), and it may be that we
choose one solution to address both, but we have kept them separate because they are approaching the problem from
slightly different angles.

Where they are similar:
* **Sharing data between Tasks efficiently** is the core problem at the heart of both (in this TEP, we talk about how
combining Tasks requires a PVC, in the other we talk about challenges around co-locating pods to share data and
inefficiencies of PVCs)

Where they differ:

* **Concurrency** (running of Tasks in parallel) is a big concern in TEP-0046 but isn't directly in the scope of this
problem (we could imagine a solution to this problem that only applies when running Tasks serially)
* **The Affinity Assistant** is another focus of TEP-0046 (i.e. revisiting it before v1) but isn't directly relevant to
this TEP (we might solve this without changing or discussing the affinity assistant at all)
* **Runtime vs. Authoring time** - This TEP assumes that we'd want to express this kind of composition at "authoring
time", i.e. make it [reusable](https://github.com/tektoncd/community/blob/main/design-principles.md#reusability) vs
configured at runtime, while TEP-0046 is prioritizing controlling this at runtime
* **Pipelines** - TEP-0046 is specifically concerned with Pipelines; there's a good chance the solution to this TEP
will also involve Pipelines, but there are possible solutions that could involve introducing a new type

## Requirements

- Tasks can be composed together run as "one unit":
Expand Down

0 comments on commit 3260468

Please sign in to comment.