The CloudEvents project has delivered v0.3 of its eponymous spec which it says means the “core part” of developing a standard for describing event data is nearly complete.
Cloud Events is overseen by the CNCF’s Serverless Working Group, and aims to develop a consistent way of “describing event data in common formats to provide interoperability across services, platforms and systems.”
According to a blog post detailing the latest release “we consider the bigger design decisions to be behind us.”
“Our roadmap only goes up to v0.5 and if you look at the list of work items for 0.4 and 0.5, most are related to clarifications or working on secondary documents, like additional protocol bindings,” it said. Of course, while it admits that testing and verification as it looks to stabilise on the way to v1.0 may throw up some surprises.
The latest version does bring a number of new features and changes. The group has delivered an SDK design doc to “help guide SDK authors and to promote consistency (when appropriate) between the various language SDKs.”
Support for batching of CloudEvents has been enabled. “It mainly becomes a transport issue, but we do describe how to do it for HTTP,” the post says.
To help with interoperability, the team has mandated that CloudEvent components needs to support messages at of least 64k in size
The contenttype attribute has been renamed to datacontenttype, to avoid confusion with the Content-Type HTTP header. Meanwhile, a subject attribute has been added, which will indicate what resource a given event is about.
Two new extensions have been added. First up is dataref, which can be used for a claim-check pattern of retrieval of large data. The other is partitionkey which “helps consumers place the incoming event into the correct grouping mechanism for more efficient processing”.
The team has added some guidance around how to manage sensitive data, and clarified which properties are used for uniqueness checking, to enable de-dupe logic if necessary
Cloud Events is overseen by the CNCF’s Serverless Working Group, and the ultimate goal is to offer the spec to the CNCF. Version 0.1 was delivered in late April 2018.