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.

NameStatusSupportDescription
AWS SQSProof of ConceptNoneBrings AWS Simple Queue Service messages into Knative.
Apache CamelProof of ConceptNoneAllows to use Apache Camel components for pushing events into Knative.
Apache CouchDBActive DevelopmentNoneBrings Apache CouchDB messages into Knative.
Apache KafkaProof of ConceptNoneBrings Apache Kafka messages into Knative.
BitBucketProof of ConceptNoneRegisters for events of the specified types on the specified BitBucket organization/repository. Brings those events into Knative.
CloudAuditLogsSourceActive DevelopmentNoneRegisters for events of the specified types on the specified Google Cloud Audit Logs. Brings those events into Knative.
CloudPubSubSourceActive DevelopmentNoneBrings Cloud Pub/Sub messages into Knative.
CloudSchedulerSourceActive DevelopmentNoneCreate, update, and delete Google Cloud Scheduler Jobs. When those jobs are triggered, receive the event inside Knative.
CloudStorageSourceActive DevelopmentNoneRegisters for events of the specified types on the specified Google Cloud Storage bucket and optional object prefix. Brings those events into Knative.
Cron JobReplaced by PingSourceNoneDeprecated, replace with PingSource or a CronJob using SinkBinding
GitHubProof of ConceptNoneRegisters for events of the specified types on the specified GitHub organization/repository. Brings those events into Knative.
GitLabProof of ConceptNoneRegisters for events of the specified types on the specified GitLab repository. Brings those events into Knative.
KubernetesActive DevelopmentKnativeBrings Kubernetes API server events into Knative.
PingIn developmentNoneUses an in-memory timer to produce events with a fixed payload on a specified cron schedule.
VMwareActive DevelopmentNoneBrings vSphere events into Knative.

Meta Sources

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

NameStatusSupportDescription
Auto Container SourceProof of ConceptNoneAutoContainerSource 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 SourceActive DevelopmentKnativeGiven a spec.template with at least a container image specified, ContainerSource will keep a Pod running with the specified image(s). K_SINK (destination address) and KE_CE_OVERRIDES (JSON CloudEvents attributes) environment variables are injected into the running image(s). It is used by multiple other Sources as underlying infrastructure.
Sample SourceActive DevelopmentKnativeUsed as reference implementation supporting Writing an Event Source from Scratch tutorial.
SinkBindingActive DevelopmentKnativeSinkBinding provides a framework for injecting K_SINK (destination address) and K_CE_OVERRIDES (JSON cloudevents attributes) environment variables into any Kubernetes resource which has a spec.template that looks like a Pod (aka PodSpecable).

ContainerSource Containers

These are containers intended to be used with ContainerSource. See the docs here.

NameStatusSupportDescription
AWS CodeCommitSupportedTriggerMeshRegisters for events of the specified types on the specified AWS CodeCommit repository. Brings those events into Knative.
AWS CognitoSupportedTriggerMeshRegisters for AWS Cognito events. Brings those events into Knative.
AWS DynamoDBSupportedTriggerMeshRegisters for events of on the specified AWS DynamoDB table. Brings those events into Knative.
AWS KinesisSupportedTriggerMeshRegisters for events on the specified AWS Kinesis stream. Brings those events into Knative.
AWS SNSSupportedTriggerMeshRegisters for events of the specified AWS SNS endpoint. Brings those events into Knative.
AWS SQSSupportedTriggerMeshRegisters for events of the specified AWS SQS queue. Brings those events into Knative.
FTP / SFTPProof of conceptNoneWatches for files being uploaded into a FTP/SFTP and generates events for those.
HeartbeatProof of ConceptNoneUses an in-memory timer to produce events as the specified interval. Uses AutoContainerSource for underlying infrastructure.
HeartbeatsProof of ConceptNoneUses an in-memory timer to produce events at the specified interval.
K8sProof of ConceptNoneBrings Kubernetes cluster events into Knative. Uses AutoContainerSource for underlying infrastructure.
WebSocketActive DevelopmentNoneOpens a WebSocket to the specified source and packages each received message as a Knative event.

SinkBindings

These are containers intended to be used with SinkBinding. See the docs here.

NameStatusSupportDescription
KonnekActive DevelopmentNoneRetrieves events from cloud platforms (like AWS and GCP) and transforms them into CloudEvents for consumption in Knative.