Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions docs/eventing/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,15 @@ be persisted using Apache Kafka or NATS Streaming.

See the [List of Channel implementations](../eventing/channels/channels.yaml).

### Higher Level eventing constructs

There are cases where you may want to utilize a set of co-operating functions
together and for those use cases, Knative Eventing provides two additional
resources:

1. **[Sequence](./sequence.md)** provides a way to define an in-order list of functions.
1. **[Parallel](./parallel.md)** provides a way to define a list of branches for events.

### Future design goals

The focus for the next Eventing release will be to enable easy implementation of
Expand Down
4 changes: 2 additions & 2 deletions docs/eventing/samples/parallel/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ various flows.
All examples require:

- A Kubernetes cluster with
- Knative Eventing v0.9+
- Knative Service v0.8+
- Knative Eventing v0.11+
- Knative Serving v0.8+

All examples are using the
[default channel template](../../channels/default-channels.md).
Expand Down
37 changes: 30 additions & 7 deletions docs/eventing/samples/parallel/multiple-branches/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -78,12 +78,33 @@ spec:
kubectl create -f ./filters.yaml -f ./transformers.yaml
```

### Create the Service displaying the events created by Sequence

```yaml
apiVersion: serving.knative.dev/v1
kind: Service
metadata:
name: event-display
spec:
template:
spec:
containers:
- image: gcr.io/knative-releases/github.com/knative/eventing-sources/cmd/event_display
```

Change `default` below to create the `Sequence` in the Namespace where you want
your resources to be created.

```shell
kubectl -n default create -f ./event-display.yaml
```

### Create the Parallel

The `parallel.yaml` file contains the specifications for creating the Parallel.

```yaml
apiVersion: messaging.knative.dev/v1alpha1
apiVersion: flows.knative.dev/v1alpha1
kind: Parallel
metadata:
name: odd-even-parallel
Expand Down Expand Up @@ -113,9 +134,10 @@ spec:
kind: Service
name: odd-transformer
reply:
apiVersion: serving.knative.dev/v1
kind: Service
name: event-display
ref:
apiVersion: serving.knative.dev/v1
kind: Service
name: event-display
```

```shell
Expand All @@ -136,9 +158,10 @@ spec:
schedule: "*/1 * * * *"
data: '{"message": "Even or odd?"}'
sink:
apiVersion: messaging.knative.dev/v1alpha1
kind: Parallel
name: odd-even-parallel
ref:
apiVersion: flows.knative.dev/v1alpha1
kind: Parallel
name: odd-even-parallel
```

```shell
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ spec:
schedule: "*/1 * * * *"
data: '{"message": "Even or odd?"}'
sink:
apiVersion: messaging.knative.dev/v1alpha1
kind: Parallel
name: odd-even-parallel
ref:
apiVersion: flows.knative.dev/v1alpha1
kind: Parallel
name: odd-even-parallel
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
apiVersion: messaging.knative.dev/v1alpha1
apiVersion: flows.knative.dev/v1alpha1
kind: Parallel
metadata:
name: odd-even-parallel
Expand Down Expand Up @@ -28,6 +28,7 @@ spec:
kind: Service
name: odd-transformer
reply:
apiVersion: serving.knative.dev/v1
kind: Service
name: event-display
ref:
apiVersion: serving.knative.dev/v1
kind: Service
name: event-display
39 changes: 31 additions & 8 deletions docs/eventing/samples/parallel/mutual-exclusivity/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ In this example, we are going to see how we can create a Parallel with mutually
exclusive branches.

This example is the same as the
[multiple barnaches example](../multiple-branches/README.md) except that we are now
[multiple branches example](../multiple-branches/README.md) except that we are now
going to rely on the Knative
[switch](https://github.com/lionelvillard/knative-functions#switch) function
to provide a soft mutual exclusivity guarantee.
Expand Down Expand Up @@ -69,12 +69,33 @@ spec:
kubectl create -f ./switcher.yaml -f ./transformers.yaml
```

### Create the Service displaying the events created by Sequence

```yaml
apiVersion: serving.knative.dev/v1
kind: Service
metadata:
name: event-display
spec:
template:
spec:
containers:
- image: gcr.io/knative-releases/github.com/knative/eventing-sources/cmd/event_display
```

Change `default` below to create the `Sequence` in the Namespace where you want
your resources to be created.

```shell
kubectl -n default create -f ./event-display.yaml
```

### Create the Parallel object

The `parallel.yaml` file contains the specifications for creating the Parallel object.

```yaml
apiVersion: messaging.knative.dev/v1alpha1
apiVersion: flows.knative.dev/v1alpha1
kind: Parallel
metadata:
name: me-odd-even-parallel
Expand All @@ -98,9 +119,10 @@ spec:
kind: Service
name: me-odd-transformer
reply:
apiVersion: serving.knative.dev/v1
kind: Service
name: me-event-display
ref:
apiVersion: serving.knative.dev/v1
kind: Service
name: me-event-display
```

```shell
Expand All @@ -121,9 +143,10 @@ spec:
schedule: "*/1 * * * *"
data: '{"message": "Even or odd?"}'
sink:
apiVersion: messaging.knative.dev/v1alpha1
kind: Parallel
name: me-odd-even-parallel
ref:
apiVersion: flows.knative.dev/v1alpha1
kind: Parallel
name: me-odd-even-parallel
```

```shell
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ spec:
schedule: "*/1 * * * *"
data: '{"message": "Even or odd?"}'
sink:
apiVersion: messaging.knative.dev/v1alpha1
kind: Parallel
name: me-odd-even-parallel
ref:
apiVersion: flows.knative.dev/v1alpha1
kind: Parallel
name: me-odd-even-parallel
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
apiVersion: messaging.knative.dev/v1alpha1
apiVersion: flows.knative.dev/v1alpha1
kind: Parallel
metadata:
name: me-odd-even-parallel
Expand All @@ -22,6 +22,7 @@ spec:
kind: Service
name: me-odd-transformer
reply:
apiVersion: serving.knative.dev/v1
kind: Service
name: me-event-display
ref:
apiVersion: serving.knative.dev/v1
kind: Service
name: me-event-display
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@ taking the output of that `Sequence` and displaying the resulting output.

![Logical Configuration](./sequence-reply-to-event-display.png)

The functions used in these examples live in
(https://github.com/vaikas/transformer)[https://github.com/vaikas/transformer]

## Prerequisites

For this example, we'll assume you have set up an `InMemoryChannel` as well as
Expand All @@ -37,7 +40,7 @@ spec:
template:
spec:
containers:
- image: us.gcr.io/probable-summer-223122/cmd-03315b715ae8f3e08e3a9378df706fbb@sha256:2656f39a7fcb6afd9fc79e7a4e215d14d651dc674f38020d1d18c6f04b220700
- image: gcr.io/vaikas-knative/cmd-736bbd9d5a42b6282732cf4569e3c0ff@sha256:f069e4e58d6b420d66304d3bbde019160eb12ca17bb98fc3b88e0de5ad2cacd1
env:
- name: STEP
value: "0"
Expand All @@ -51,7 +54,7 @@ spec:
template:
spec:
containers:
- image: us.gcr.io/probable-summer-223122/cmd-03315b715ae8f3e08e3a9378df706fbb@sha256:2656f39a7fcb6afd9fc79e7a4e215d14d651dc674f38020d1d18c6f04b220700
- image: gcr.io/vaikas-knative/cmd-736bbd9d5a42b6282732cf4569e3c0ff@sha256:f069e4e58d6b420d66304d3bbde019160eb12ca17bb98fc3b88e0de5ad2cacd1
env:
- name: STEP
value: "1"
Expand All @@ -64,7 +67,7 @@ spec:
template:
spec:
containers:
- image: us.gcr.io/probable-summer-223122/cmd-03315b715ae8f3e08e3a9378df706fbb@sha256:2656f39a7fcb6afd9fc79e7a4e215d14d651dc674f38020d1d18c6f04b220700
- image: gcr.io/vaikas-knative/cmd-736bbd9d5a42b6282732cf4569e3c0ff@sha256:f069e4e58d6b420d66304d3bbde019160eb12ca17bb98fc3b88e0de5ad2cacd1
env:
- name: STEP
value: "2"
Expand All @@ -83,7 +86,7 @@ If you are using a different type of Channel, you need to change the
spec.channelTemplate to point to your desired Channel.

```yaml
apiVersion: messaging.knative.dev/v1alpha1
apiVersion: flows.knative.dev/v1alpha1
kind: Sequence
metadata:
name: sequence
Expand All @@ -105,9 +108,10 @@ spec:
kind: Service
name: third
reply:
kind: Service
apiVersion: serving.knative.dev/v1
name: event-display
ref:
kind: Service
apiVersion: serving.knative.dev/v1
name: event-display
```

Change `default` below to create the `Sequence` in the Namespace where you want
Expand Down Expand Up @@ -152,9 +156,10 @@ spec:
schedule: "*/2 * * * *"
data: '{"message": "Hello world!"}'
sink:
apiVersion: messaging.knative.dev/v1alpha1
kind: Sequence
name: sequence
ref:
apiVersion: flows.knative.dev/v1alpha1
kind: Sequence
name: sequence
```

```shell
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ spec:
schedule: "*/2 * * * *"
data: '{"message": "Hello world!"}'
sink:
apiVersion: messaging.knative.dev/v1alpha1
kind: Sequence
name: sequence
ref:
apiVersion: flows.knative.dev/v1alpha1
kind: Sequence
name: sequence
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
apiVersion: messaging.knative.dev/v1alpha1
apiVersion: flows.knative.dev/v1alpha1
kind: Sequence
metadata:
name: sequence
Expand All @@ -20,6 +20,7 @@ spec:
kind: Service
name: third
reply:
kind: Service
apiVersion: serving.knative.dev/v1
name: event-display
ref:
kind: Service
apiVersion: serving.knative.dev/v1
name: event-display
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ spec:
template:
spec:
containers:
- image: us.gcr.io/probable-summer-223122/cmd-03315b715ae8f3e08e3a9378df706fbb@sha256:2656f39a7fcb6afd9fc79e7a4e215d14d651dc674f38020d1d18c6f04b220700
- image: gcr.io/vaikas-knative/cmd-736bbd9d5a42b6282732cf4569e3c0ff@sha256:f069e4e58d6b420d66304d3bbde019160eb12ca17bb98fc3b88e0de5ad2cacd1
env:
- name: STEP
value: "0"
Expand All @@ -20,7 +20,7 @@ spec:
template:
spec:
containers:
- image: us.gcr.io/probable-summer-223122/cmd-03315b715ae8f3e08e3a9378df706fbb@sha256:2656f39a7fcb6afd9fc79e7a4e215d14d651dc674f38020d1d18c6f04b220700
- image: gcr.io/vaikas-knative/cmd-736bbd9d5a42b6282732cf4569e3c0ff@sha256:f069e4e58d6b420d66304d3bbde019160eb12ca17bb98fc3b88e0de5ad2cacd1
env:
- name: STEP
value: "1"
Expand All @@ -33,7 +33,7 @@ spec:
template:
spec:
containers:
- image: us.gcr.io/probable-summer-223122/cmd-03315b715ae8f3e08e3a9378df706fbb@sha256:2656f39a7fcb6afd9fc79e7a4e215d14d651dc674f38020d1d18c6f04b220700
- image: gcr.io/vaikas-knative/cmd-736bbd9d5a42b6282732cf4569e3c0ff@sha256:f069e4e58d6b420d66304d3bbde019160eb12ca17bb98fc3b88e0de5ad2cacd1
env:
- name: STEP
value: "2"
Expand Down
Loading