Knative Eventing sources

Event Sources are Kubernetes Custom Resources which provide a mechanism for registering interest in a class of events from a particular software system. Since different event sources may be described by different Custom Resources, this page provides an index of the available source resource types as well as links to installation instructions.

This is a non-exhaustive list of Event sources for Knative.

Inclusion in this list is not an endorsement, nor does it imply any level of support.

Sources

These are sources that are installed as CRDs.

Name Status Support Description
AWS SQS Proof of Concept None Brings AWS Simple Quele Service messages into Knative.
Cron Job Proof of Concept None Uses an in-memory timer to produce events on the specified Cron schedule.
GCP PubSub Proof of Concept None Brings GCP PubSub messages into Knative.
GitHub Proof of Concept None Registers for events of the specified types on the specified GitHub organization/repository. Brings those events into Knative.
GitLab Proof of Concept None Registers for events of the specified types on the specified GitLab repository. Brings those events into Knative.
Google Cloud Scheduler Active Development None Create, update, and delete Google Cloud Scheduler Jobs. When those jobs are triggered, receive the event inside Knative.
Google Cloud Storage Active Development None Registers for events of the specified types on the specified Google Cloud Storage bucket and optional object prefix. Brings those events into Knative.
Kubernetes Active Development Knative Brings Kubernetes cluster events into Knative. Uses ContainerSource for underlying infrastructure.

Meta Sources

These are not directly usable, but make writing a Source much easier.

Name Status Support Description
Auto Container Source Proof of Concept None AutoContainerSource is a controller that allows the Source CRDs without needing a controller. It notices CRDs with a specific label and starts controlling resources of that type. It utilizes Container Source as underlying infrastructure.
Container Source Active Development Knative Container Source is a generic controller. Given an Image URL, it will keep a single Pod running with the specified image, environment, and arguments. It is used by multiple other Sources as underlying infrastructure.
Sample Source Proof of Concept None SampleSource is a reference implementation supporting the Writing an Event Source the Hard Way tutorial.

ContainerSource Containers

These are containers intended to be used with ContainerSource.

Name Status Support Description
AWS CodeCommit Active Development TriggerMesh Registers for events of the specified types on the specified AWS CodeCommit repository. Brings those events into Knative.
AWS Cognito Active Development TriggerMesh Registers for AWS Cognito events. Brings those events into Knative.
AWS DynamoDB Active Development TriggerMesh Registers for events of on the specified AWS DynamoDB table. Brings those events into Knative.
AWS Kinesis Active Development TriggerMesh Registers for events on the specified AWS Kinesis stream. Brings those events into Knative.
AWS SNS Active Development TriggerMesh Registers for events of the specified AWS SNS endpoint. Brings those events into Knative.
AWS SQS Active Development TriggerMesh Registers for events of the specified AWS SQS queue. Brings those events into Knative.
Heartbeat Proof of Concept None Uses an in-memory timer to produce events at the specified interval.
Heartbeat Proof of Concept None Uses an in-memory timer to produce events as the specified interval. Uses AutoContainerSource for underlying infrastructure.
K8s Proof of Concept None Brings Kubernetes cluster events into Knative. Uses AutoContainerSource for underlying infrastructure.
WebSocket Active Development None Opens a WebSocket to the specified source and packages each received message as a Knative event.