Gdewilde/spec
CloudEvents Specification
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.
CloudEvents Documents
The following documents are available:
| Latest Release | Working Draft | |
|---|---|---|
| Core Specification: | ||
| CloudEvents | v1.0.1 | master |
| Optional Specifications: | ||
| AMQP Protocol Binding | v1.0.1 | master |
| AVRO Event Format | v1.0.1 | master |
| HTTP Protocol Binding | v1.0.1 | master |
| JSON Event Format | v1.0.1 | master |
| Kafka Protocol Binding | v1.0.1 | master |
| MQTT Protocol Binding | v1.0.1 | master |
| NATS Protocol Binding | v1.0.1 | master |
| WebSockets Protocol Binding | - | master |
| Protobuf Event Format | v1.0-rc1 | |
| Web hook | v1.0.1 | master |
| Additional Documentation: | ||
| CloudEvents Adapters | - | master |
| CloudEvents SDK Requirements | - | master |
| Documented Extensions | - | master |
| Primer | v1.0.1 | master |
| Proprietary Specifications | - | master |
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 is also an
SDK proposal. A set of SDKs is also being developed:
Community
Learn more about the people and organizations who are creating a dynamic cloud
native ecosystem by making our systems interoperable with CloudEvents.
- Our Governance documentation.
- How to contribute via issues and pull requests.
- Contributors: people and organizations who helped
us get started or are actively working on the CloudEvents specification. - Demos & open source -- if you have something to share
about your use of CloudEvents, please submit a PR!
Process
The CloudEvents project is working to formalize the specification
based on design goals which focus on interoperability
between systems which generate and respond to events.
In order to achieve these goals, the project must describe:
- Common attributes of an event that facilitate interoperability
- One or more common architectures that are in active use today or planned to be
built by its members - How events are transported from producer to consumer via at least one protocol
- Identify and resolve whatever else is needed for interoperability
Communications
The main mailing list for e-mail communications:
- Send emails to: cncf-cloudevents
- To subscribe see: https://lists.cncf.io/g/cncf-cloudevents
- Archives are at: https://lists.cncf.io/g/cncf-cloudevents/topics
And a #cloudevents Slack channel under
CNCF's Slack workspace.
For SDK related comments and questions:
- Email to: cncf-cloudevents-sdk
- To subscribe see: https://lists.cncf.io/g/cncf-cloudevents-sdk
- Archives are at: https://lists.cncf.io/g/cncf-cloudevents-sdk/topics
- Slack: #cloudeventssdk on CNCF's Slack workspace
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.
Periodically, the group may have in-person meetings that coincide with a major
conference. Please see the
meeting minutes doc
for any future plans.
