knative / knative/eventing

Sequence and Parallel are not composable

Open
#1,521 23 comments 0 reactions 1 assignee Claimed by @lionelvillard View on GitHub
kind/feature-request triage/accepted
Dominant language
Go
Stars
1.6k
Forks
631
Avg merge
2d 1h
Merged PRs (30d)
6

Description

**Problem**
When a sequence A is part of another sequence B, the last event produced by A should be fed to the step following A in B.

**[Persona:](https://github.com/knative/eventing/blob/master/docs/personas.md)**
Which persona is this feature for?
Consumer

**Exit Criteria**
Create a sequence of sequences and see it works properly

**Time Estimate (optional):**
1 week+

**Additional context (optional)**
Add any other context about the feature request here.

Here an example:

```yaml
apiVersion: flows.knative.dev/v1
kind: Sequence
metadata:
name: oneseq
spec:
channelTemplate:
apiVersion: messaging.knative.dev/v1alpha1
kind: InMemoryChannel
steps:
- ref:
apiVersion: serving.knative.dev/v1
kind: Service
name: identity
- ref:
apiVersion: serving.knative.dev/v1
kind: Service
name: last-step
---
apiVersion: flows.knative.dev/v1
kind: Sequence
metadata:
name: seqofseq
spec:
channelTemplate:
apiVersion: messaging.knative.dev/v1
kind: InMemoryChannel
steps:
- ref:
apiVersion: flows.knative.dev/v1
kind: Sequence
name: oneseq
- ref:
apiVersion: serving.knative.dev/v1
kind: Service
name: identity
reply:
apiVersion: serving.knative.dev/v1
kind: Service
name: dumper
```

In this example, `seqofseq` takes ownership (or produces an error condition when it can't) of `oneseq` reply field to reference the second step.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.