@@ -39,9 +39,23 @@ generic interfaces that can be implemented by multiple Kubernetes resources:
3939 returned events may be further processed in the same way that events from an
4040 external event source are processed.
4141
42+ ### Event brokers and triggers
43+
44+ As of v0.5, Knative Eventing defines Broker and Trigger objects to make it
45+ easier to filter events.
46+
47+ A Broker provides a bucket of events which can be selected by attribute. It
48+ receives events and forwards them to subscribers defined by one or more matching
49+ Triggers.
50+
51+ A Trigger describes a filter on event attributes which should be delivered to an
52+ Addressable. You can create as many Triggers as necessary.
53+
54+ ![ Broker Trigger Diagram] ( ./images/broker-trigger-overview.svg )
55+
4256### Event channels and subscriptions
4357
44- Knative Eventing also defines a single event forwarding and persistence layer,
58+ Knative Eventing also defines an event forwarding and persistence layer,
4559called a
4660[ ** Channel** ] ( https://github.com/knative/eventing/blob/master/pkg/apis/eventing/v1alpha1/channel_types.go#L36 ) .
4761Messaging implementations may provide implementations of Channels via the
@@ -73,25 +87,6 @@ subscription, and if you have any functions that make use of any external (to
7387cluster) services, you must enable it also for them to work.
7488[ Follow the instructions to configure outbound network access] ( ../serving/outbound-network-access.md ) .
7589
76- Install the core Knative Eventing (which provides an in-memory
77- ChannelProvisioner) and the core sources (which provides the Kubernetes Events,
78- GitHub, and "Container" Sources) with the following commands:
79-
80- ``` bash
81- kubectl apply --filename https://github.com/knative/eventing/releases/download/v0.4.0/release.yaml
82- kubectl apply --filename https://github.com/knative/eventing-sources/releases/download/v0.4.0/release.yaml
83- ```
84-
85- In addition to the core sources, there are [ other sources] ( ./sources/README.md )
86- that you can install.
87-
88- This document will be updated as additional sources (which are custom resource
89- definitions and an associated controller) and channels
90- (ClusterChannelProvisioners and controllers) become available.
91-
92- Check out the [ Configuration] ( #configuration ) section to learn more about
93- operating Knative Eventing.
94-
9590## Architecture
9691
9792The eventing infrastructure supports two forms of event delivery at the moment:
@@ -127,7 +122,10 @@ Knative Eventing defines the following Sources in the
127122` sources.eventing.knative.dev ` API group. Types below are declared in golang
128123format, but may be expressed as simple lists, etc in YAML. All Sources should be
129124part of the ` sources ` category, so you can list all existing Sources with
130- ` kubectl get sources ` . The currently-implemented Sources are described below:
125+ ` kubectl get sources ` . The currently-implemented Sources are described below.
126+
127+ In addition to the core sources, there are [ other sources] ( ./sources/README.md )
128+ that you can install.
131129
132130_ Want to implement your own source? Check out
133131[ the tutorial] ( ./samples/writing-a-source/README.md ) ._
@@ -305,7 +303,7 @@ example.
305303## Getting Started
306304
307305- [ Setup Knative Serving] ( ../install/README.md )
308- - [ Install Eventing components ] ( #installation )
306+ - [ Install the Eventing component ] ( #installation )
309307- [ Run samples] ( ./samples/ )
310308
311309## Configuration
0 commit comments