Skip to content

knative/eventing

Knative Eventing - The Event-driven application platform for Kubernetes

Secure event processing and discovery with CloudEvents

go.dev reference Go Report Card Releases LICENSE codecov TestGrid Slack Slack CII Best Practices

What is Knative Eventing?

Knative Eventing is a collection of APIs that enable you to use an event-driven architecture with your applications. You can use these APIs to create components that route events from event producers (known as sources) to event consumers (known as sinks) that receive events. Sinks can also be configured to respond to HTTP requests by sending a response event.

Knative Eventing is a standalone platform that provides support for various types of workloads, including standard Kubernetes Services and Knative Serving Services.

Knative Eventing uses standard HTTP requests to route events from event producers to event consumers, following the rules set by the CloudEvents specification. This is a standard set up by the CNCF that has wide support for many programming languages, making it easy to create, understand, send, and receive events.

Knative Eventing components are loosely coupled, and can be developed and deployed independently of each other. Any producer can generate events before there are active event consumers that are listening for those events. Any event consumer can express interest in a class of events before there are producers that are creating those events.

What to expect here?

This repository contains an eventing system that is designed to address a common need for cloud native development:

  1. Services are loosely coupled during development and deployed independently
  2. A producer can generate events before a consumer is listening, and a consumer can express an interest in an event or class of events that is not yet being produced.
  3. Services can be connected to create new applications
    • without modifying producer or consumer, and
    • with the ability to select a specific subset of events from a particular producer.

More on Knative Eventing

The high level mission of Knative Eventing is: Enable asynchronous application development through event delivery from anywhere.

For the full mission of Knative Eventing see docs/mission.md.

For complete Knative Eventing documentation, see Knative eventing or Knative docs to learn about Knative.

If you are interested in contributing, see the ready to work issues, CONTRIBUTING.md, DEVELOPMENT.md and Knative working groups.

Interested users should join knative-users.