CloudEvents

Standardizing common eventing metadata and their location to help with event identification and routing.

Stars
4.46K
Forks
566
Open issues
44
Closed issues
422
Last release
about 2 years ago
Last commit
6 months ago
Watchers
4.46K
Total releases
7
Total commits
980
Open PRs
3
Closed PRs
607
Repo URL
Project Website
https://cloudevents.io/
Platform
License
apache-2.0
Category
Offers premium version?
NO
Proprietary?
NO
About

CloudEvents

Events are everywhere. However, event producers tend to describe events differently.

The lack of a common way of describing events means developers must constantly re-learn how to consume events. This also limits the potential for libraries, tooling and infrastructure to aide the delivery of event data across environments, like SDKs, event routers or tracing systems. The portability and productivity we can achieve from event data is hindered overall.

CloudEvents is a specification for describing event data in common formats to provide interoperability across services, platforms and systems.

CloudEvents has received a large amount of industry interest, ranging from major cloud providers to popular SaaS companies. CloudEvents is hosted by the Cloud Native Computing Foundation (CNCF) and was approved as a Cloud Native sandbox level project on May 15, 2018 and as an incubator project on Oct 24, 2019.

CloudEvents Documents

Latest Release Working Draft

Core Specification:

CloudEvents v1.0.2 WIP

Optional Specifications:

AMQP Protocol Binding v1.0.2 WIP

AVRO Event Format v1.0.2 WIP

AVRO Compact Event Format

WIP

HTTP Protocol Binding v1.0.2 WIP

JSON Event Format v1.0.2 WIP

Kafka Protocol Binding v1.0.2 WIP

MQTT Protocol Binding v1.0.2 WIP

NATS Protocol Binding v1.0.2 WIP

WebSockets Protocol Binding

WIP

Protobuf Event Format v1.0.2 WIP

XML Event Format

WIP

Web hook v1.0.2 WIP

Additional Documentation:

CloudEvents Primer v1.0.2 WIP

CloudEvents Adapters

Not versioned

CloudEvents SDK Requirements

Not versioned

Documented Extensions

Not versioned

Proprietary Specifications

Not versioned

Other Specifications

Latest Release Working Draft

CE SQL

WIP

Subscriptions

WIP

The Registry and Pagination specifications can now be found in the xRegistry/spec repo.

Additional release related information: Historical releases and changelogs

If you are new to CloudEvents, it is recommended that you start by reading the Primer for an overview of the specification's goals and design decisions, and then move on to the core specification.

Since not all event producers generate CloudEvents by default, there is documentation describing the recommended process for adapting some popular events into CloudEvents, see CloudEvents Adapters.

SDKs

In addition to the documentation mentioned above, there are also a set of language specific SDKs being developed:

The SDK requirements document provides information on how the SDKs are managed and what is expected of each one. The SDK feature support table is a good resource to see which features, event formats and bindings are supported by each SDK.

For more information about how the SDKs operate, please see the following documents:

Community and Docs

Learn more about the people and organizations who are creating a dynamic cloud native ecosystem by making our systems interoperable with CloudEvents.

Security Concerns

If there is a security concern with one of the CloudEvents specifications, or with one of the project's SDKs, please send an email to cncf-cloudevents-security@lists.cncf.io.

A security assessment was performed by Trail of Bits in October 2022. The report can be found here or on the Trail of Bits website.

Communications

The main mailing list for e-mail communications:

And a #cloudevents Slack channel under CNCF's Slack workspace.

For SDK related comments and questions:

For SDK specific communications, please see the main README in each SDK's github repo - see the list of SDKs.

Meeting Time

See the CNCF public events calendar. This specification is being developed by the CNCF Serverless Working Group. This working group meets every Thursday at 9AM PT (USA Pacific) (World Time Zone Converter):

Please see the meeting minutes doc for the latest information on how to join the calls.

Recording from our calls are available here, and older ones are here.

Periodically, the group may have in-person meetings that coincide with a major conference. Please see the meeting minutes doc for any future plans.

Alternative Projects

Subscribe to Open Source Businees Newsletter

Twice a month we will interview people behind open source businesses. We will talk about how they are building a business on top of open source projects.

We'll never share your email with anyone else.