eventing

module
v0.42.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 23, 2024 License: Apache-2.0

README

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.

Directories

Path Synopsis
cmd
pong
Implements a simple utility function to demonstrate responses.
Implements a simple utility function to demonstrate responses.
config
brokers/mt-channel-broker
Package broker is a placeholder that allows us to pull in config files via go mod vendor.
Package broker is a placeholder that allows us to pull in config files via go mod vendor.
brokers/mt-channel-broker/deployments
Package deployments is a placeholder that allows us to pull in config files via go mod vendor.
Package deployments is a placeholder that allows us to pull in config files via go mod vendor.
brokers/mt-channel-broker/roles
Package roles is a placeholder that allows us to pull in config files via go mod vendor.
Package roles is a placeholder that allows us to pull in config files via go mod vendor.
channels/in-memory-channel
Package channel is a placeholder that allows us to pull in config files via go mod vendor.
Package channel is a placeholder that allows us to pull in config files via go mod vendor.
channels/in-memory-channel/configmaps
Package configmaps is a placeholder that allows us to pull in config files via go mod vendor.
Package configmaps is a placeholder that allows us to pull in config files via go mod vendor.
channels/in-memory-channel/deployments
Package deployments is a placeholder that allows us to pull in config files via go mod vendor.
Package deployments is a placeholder that allows us to pull in config files via go mod vendor.
channels/in-memory-channel/resources
Package resources is a placeholder that allows us to pull in config files via go mod vendor.
Package resources is a placeholder that allows us to pull in config files via go mod vendor.
channels/in-memory-channel/roles
Package roles is a placeholder that allows us to pull in config files via go mod vendor.
Package roles is a placeholder that allows us to pull in config files via go mod vendor.
channels/in-memory-channel/webhooks
Package webhooks is a placeholder that allows us to pull in config files via go mod vendor.
Package webhooks is a placeholder that allows us to pull in config files via go mod vendor.
core
Package core is a placeholder that allows us to pull in config files via go mod vendor.
Package core is a placeholder that allows us to pull in config files via go mod vendor.
core/configmaps
Package configmaps is a placeholder that allows us to pull in config files via go mod vendor.
Package configmaps is a placeholder that allows us to pull in config files via go mod vendor.
core/deployments
Package deployments is a placeholder that allows us to pull in config files via go mod vendor.
Package deployments is a placeholder that allows us to pull in config files via go mod vendor.
core/resources
Package resources is a placeholder that allows us to pull in config files via go mod vendor.
Package resources is a placeholder that allows us to pull in config files via go mod vendor.
core/roles
Package roles is a placeholder that allows us to pull in config files via go mod vendor.
Package roles is a placeholder that allows us to pull in config files via go mod vendor.
core/webhooks
Package webhooks is a placeholder that allows us to pull in config files via go mod vendor.
Package webhooks is a placeholder that allows us to pull in config files via go mod vendor.
post-install
Package post_install is a placeholder that allows us to pull in config files via go mod vendor.
Package post_install is a placeholder that allows us to pull in config files via go mod vendor.
pkg
apis/config
Package config holds the typed objects that define the schemas for ConfigMap objects that pertain to our API objects.
Package config holds the typed objects that define the schemas for ConfigMap objects that pertain to our API objects.
apis/duck/v1
Package v1 is the v1 version of the API.
Package v1 is the v1 version of the API.
apis/duck/v1alpha1
+k8s:deepcopy-gen=package +groupName=duck.knative.dev
+k8s:deepcopy-gen=package +groupName=duck.knative.dev
apis/duck/v1beta1
Package v1beta1 is the v1beta1 version of the API.
Package v1beta1 is the v1beta1 version of the API.
apis/eventing/v1
Package v1 is the v1 version of the API.
Package v1 is the v1 version of the API.
apis/eventing/v1alpha1
Package v1alpha1 is the v1alpha1 version of the API.
Package v1alpha1 is the v1alpha1 version of the API.
apis/eventing/v1beta1
Package v1beta1 is the v1beta1 version of the API.
Package v1beta1 is the v1beta1 version of the API.
apis/eventing/v1beta2
Package v1beta2 is the v1beta2 version of the API.
Package v1beta2 is the v1beta2 version of the API.
apis/eventing/v1beta3
Package v1beta3 is the v1beta3 version of the API.
Package v1beta3 is the v1beta3 version of the API.
apis/flows/v1
Package v1 is the v1 version of the API.
Package v1 is the v1 version of the API.
apis/messaging/config
Package config holds the typed objects that define the schemas for ConfigMap objects that pertain to our API objects.
Package config holds the typed objects that define the schemas for ConfigMap objects that pertain to our API objects.
apis/messaging/v1
Package v1 is the v1 version of the API.
Package v1 is the v1 version of the API.
apis/sinks/v1alpha1
Package v1alpha1 contains API Schema definitions for the sources v1alpha1 API group.
Package v1alpha1 contains API Schema definitions for the sources v1alpha1 API group.
apis/sources/v1
Package v1 contains API Schema definitions for the sources v1 API group.
Package v1 contains API Schema definitions for the sources v1 API group.
apis/sources/v1beta2
Package v1beta2 contains API Schema definitions for the sources v1beta2 API group.
Package v1beta2 contains API Schema definitions for the sources v1beta2 API group.
channel/fanout
Package fanout provides an http.Handler that takes in one request and fans it out to N other requests, based on a list of Subscriptions.
Package fanout provides an http.Handler that takes in one request and fans it out to N other requests, based on a list of Subscriptions.
channel/multichannelfanout
Package multichannelfanout provides an http.Handler that takes in one request to a Knative Channel and fans it out to N other requests.
Package multichannelfanout provides an http.Handler that takes in one request to a Knative Channel and fans it out to N other requests.
client/clientset/versioned/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
client/clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
client/clientset/versioned/typed/eventing/v1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/clientset/versioned/typed/eventing/v1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
client/clientset/versioned/typed/eventing/v1alpha1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/clientset/versioned/typed/eventing/v1alpha1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
client/clientset/versioned/typed/eventing/v1beta1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/clientset/versioned/typed/eventing/v1beta1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
client/clientset/versioned/typed/eventing/v1beta2
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/clientset/versioned/typed/eventing/v1beta2/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
client/clientset/versioned/typed/eventing/v1beta3
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/clientset/versioned/typed/eventing/v1beta3/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
client/clientset/versioned/typed/flows/v1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/clientset/versioned/typed/flows/v1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
client/clientset/versioned/typed/messaging/v1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/clientset/versioned/typed/messaging/v1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
client/clientset/versioned/typed/sinks/v1alpha1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/clientset/versioned/typed/sinks/v1alpha1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
client/clientset/versioned/typed/sources/v1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/clientset/versioned/typed/sources/v1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
client/clientset/versioned/typed/sources/v1beta2
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/clientset/versioned/typed/sources/v1beta2/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
reconciler/apiserversource
Package apiserversource implements the ApiSource controller.
Package apiserversource implements the ApiSource controller.
reconciler/pingsource
Package controller implements the PingSource controller.
Package controller implements the PingSource controller.
scheduler
The scheduler is responsible for placing virtual pod (VPod) replicas within real pods.
The scheduler is responsible for placing virtual pod (VPod) replicas within real pods.
config/tls
Package tls is a placeholder that allows us to pull in config files via go mod vendor.
Package tls is a placeholder that allows us to pull in config files via go mod vendor.
lib
lib/recordevents/recorder_vent
Package recorder_vent implements an recordevents.EventLog backed by Kubernetes Events using an event recorder.
Package recorder_vent implements an recordevents.EventLog backed by Kubernetes Events using an event recorder.
third_party
VENDOR-LICENSE/github.com/hashicorp/go-cleanhttp
Package cleanhttp offers convenience utilities for acquiring "clean" http.Transport and http.Client structs.
Package cleanhttp offers convenience utilities for acquiring "clean" http.Transport and http.Client structs.
VENDOR-LICENSE/github.com/hashicorp/go-retryablehttp
Package retryablehttp provides a familiar HTTP client interface with automatic retries and exponential backoff.
Package retryablehttp provides a familiar HTTP client interface with automatic retries and exponential backoff.
VENDOR-LICENSE/github.com/hashicorp/golang-lru
Package lru provides three different LRU caches of varying sophistication.
Package lru provides three different LRU caches of varying sophistication.
VENDOR-LICENSE/github.com/hashicorp/golang-lru/simplelru
Package simplelru provides simple LRU implementation based on build-in container/list.
Package simplelru provides simple LRU implementation based on build-in container/list.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL