Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

V1.0 re-org+fix links #904

Closed
wants to merge 12 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 0 additions & 13 deletions Makefile

This file was deleted.

40 changes: 20 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,38 +27,38 @@ The following documents are available:
| | Latest Release | Working Draft |
| :---------------------------- | :----------------------------------------------------------------------------: | :---------------------------------------------------------------------------------: |
| **Core Specification:** |
| CloudEvents | [v1.0](https://github.com/cloudevents/spec/blob/v1.0/spec.md) | [master](https://github.com/cloudevents/spec/blob/master/spec.md) |
| CloudEvents | [v1.0](https://github.com/cloudevents/spec/blob/v1.0/cloudevents/spec.md) | [main](https://github.com/cloudevents/spec/blob/main/cloudevents/spec.md) |
| |
| **Optional Specifications:** |
| AMQP Protocol Binding | [v1.0](https://github.com/cloudevents/spec/blob/v1.0/amqp-protocol-binding.md) | [master](https://github.com/cloudevents/spec/blob/master/amqp-protocol-binding.md) |
| AVRO Event Format | - | [master](./avro-format.md) |
| HTTP Protocol Binding | [v1.0](https://github.com/cloudevents/spec/blob/v1.0/http-protocol-binding.md) | [master](https://github.com/cloudevents/spec/blob/master/http-protocol-binding.md) |
| JSON Event Format | [v1.0](https://github.com/cloudevents/spec/blob/v1.0/json-format.md) | [master](https://github.com/cloudevents/spec/blob/master/json-format.md) |
| Kafka Protocol Binding | - | [master](https://github.com/cloudevents/spec/blob/master/kafka-protocol-binding.md) |
| MQTT Protocol Binding | [v1.0](https://github.com/cloudevents/spec/blob/v1.0/mqtt-protocol-binding.md) | [master](https://github.com/cloudevents/spec/blob/master/mqtt-protocol-binding.md) |
| NATS Protocol Binding | [v1.0](https://github.com/cloudevents/spec/blob/v1.0/nats-protocol-binding.md) | [master](https://github.com/cloudevents/spec/blob/master/nats-protocol-binding.md) |
| Web hook | [v1.0](https://github.com/cloudevents/spec/blob/v1.0/http-webhook.md) | [master](https://github.com/cloudevents/spec/blob/master/http-webhook.md) |
| AMQP Protocol Binding | [v1.0](https://github.com/cloudevents/spec/blob/v1.0/amqp-protocol-binding.md) | [main](https://github.com/cloudevents/spec/blob/main/cloudevents/bindings/amqp-protocol-binding.md) |
| AVRO Event Format | [v1.0](https://github.com/cloudevents/spec/blob/v1.0/avro-format.md) | [main](https://github.com/cloudevents/spec/blob/main/cloudevents/formats/avro-format.md) |
| HTTP Protocol Binding | [v1.0](https://github.com/cloudevents/spec/blob/v1.0/http-protocol-binding.md) | [main](https://github.com/cloudevents/spec/blob/main/cloudevents/bindings/http-protocol-binding.md) |
| JSON Event Format | [v1.0](https://github.com/cloudevents/spec/blob/v1.0/json-format.md) | [main](https://github.com/cloudevents/spec/blob/main/cloudevents/formats/json-format.md) |
| Kafka Protocol Binding | [v1.0](https://github.com/cloudevents/spec/blob/v1.0/kafka-protocol-binding.md) | [main](https://github.com/cloudevents/spec/blob/main/cloudevents/bindings/kafka-protocol-binding.md) |
| MQTT Protocol Binding | [v1.0](https://github.com/cloudevents/spec/blob/v1.0/mqtt-protocol-binding.md) | [main](https://github.com/cloudevents/spec/blob/main/cloudevents/bindings/mqtt-protocol-binding.md) |
| NATS Protocol Binding | [v1.0](https://github.com/cloudevents/spec/blob/v1.0/nats-protocol-binding.md) | [main](https://github.com/cloudevents/spec/blob/main/cloudevents/bindings/nats-protocol-binding.md) |
| Web hook | [v1.0](https://github.com/cloudevents/spec/blob/v1.0/http-webhook.md) | [main](https://github.com/cloudevents/spec/blob/main/cloudevents/http-webhook.md) |
| |
| **Additional Documentation:** |
| CloudEvents Adapters | - | [master](https://github.com/cloudevents/spec/blob/master/adapters.md) |
| CloudEvents SDK Requirements | - | [master](https://github.com/cloudevents/spec/blob/master/SDK.md) |
| Documented Extensions | - | [master](https://github.com/cloudevents/spec/blob/master/documented-extensions.md) |
| Primer | [v1.0](https://github.com/cloudevents/spec/blob/v1.0/primer.md) | [master](https://github.com/cloudevents/spec/blob/master/primer.md) |
| Proprietary Specifications | - | [master](https://github.com/cloudevents/spec/blob/master/proprietary-specs.md) |
| CloudEvents Adapters | - | [main](https://github.com/cloudevents/spec/blob/main/cloudevetns/adapters.md) |
| CloudEvents SDK Requirements | - | [main](https://github.com/cloudevents/spec/blob/main/cloudevents/SDK.md) |
| Documented Extensions | - | [main](https://github.com/cloudevents/spec/blob/main/cloudevents/documented-extensions.md) |
| Primer | [v1.0](https://github.com/cloudevents/spec/blob/v1.0/cloudevents/primer.md) | [main](https://github.com/cloudevents/spec/blob/main/cloudevents/primer.md) |
| Proprietary Specifications | - | [main](https://github.com/cloudevents/spec/blob/main/cloudevents/proprietary-specs.md) |

If you are new to CloudEvents, it is recommended that you start by reading the
[Primer](primer.md) for an overview of the specification's goals and design
decisions, and then move on to the [core specification](spec.md).
[Primer](cloudevents/primer.md) for an overview of the specification's goals and design
decisions, and then move on to the [core specification](cloudevents/spec.md).

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](https://github.com/cloudevents/spec/blob/master/adapters.md).
[CloudEvents Adapters](https://github.com/cloudevents/spec/blob/main/cloudevents/adapters.md).

## SDKs

In addition to the documentation mentioned above, there are also an
[SDK proposal](SDK.md) and a set of SDKs being developed:
[SDK proposal](cloudevents/SDK.md) and a set of SDKs being developed:

- [CSharp](https://github.com/cloudevents/sdk-csharp)
- [Go](https://github.com/cloudevents/sdk-go)
Expand All @@ -78,8 +78,8 @@ native ecosystem by making our systems interoperable with CloudEvents.

## Process

The CloudEvents project is working to formalize the [specification](spec.md)
based on [design goals](primer.md#design-goals) which focus on interoperability
The CloudEvents project is working to formalize the [specification](cloudevents/spec.md)
based on [design goals](cloudevents/primer.md#design-goals) which focus on interoperability
between systems which generate and respond to events.

In order to achieve these goals, the project must describe:
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,6 @@
The AMQP Protocol Binding for CloudEvents defines how events are mapped to
OASIS AMQP 1.0 ([OASIS][oasis-amqp-1.0]; ISO/IEC 19464:2014) messages.

## Status of this document

This document is a working draft.

## Table of Contents

1. [Introduction](#1-introduction)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,6 @@
The HTTP Protocol Binding for CloudEvents defines how events are mapped to HTTP
1.1 request and response messages.

## Status of this document

This document is a working draft.

## Table of Contents

1. [Introduction](#1-introduction)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,6 @@
The [Kafka][kafka] Protocol Binding for CloudEvents defines how events are
mapped to [Kafka messages][kafka-message-format].

## Status of this document

This document is a working draft.

## Table of Contents

1. [Introduction](#1-introduction)
Expand Down Expand Up @@ -125,7 +121,7 @@ _structured_ mode with the JSON event format.
The 'key' attribute is populated by a partitionKeyExtractor function. The
partitionKeyExtractor is a protocol specific function that contains bespoke
logic to extract and populate the value. A default implementation of the
extractor will use the [Partitioning](extensions/partitioning.md) extension
extractor will use the [Partitioning](../extensions/partitioning.md) extension
value.

### 3.2. Binary Content Mode
Expand All @@ -146,7 +142,7 @@ message.
#### 3.2.3. Metadata Headers

All [CloudEvents][ce] attributes and
[CloudEvent Attributes Extensions](primer.md#cloudevent-attribute-extensions)
[CloudEvent Attributes Extensions](../primer.md#cloudevent-attribute-extensions)
with exception of `data` MUST be individually mapped to and from the Header
fields in the Kafka message.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,6 @@ The MQTT Protocol Binding for CloudEvents defines how events are mapped to MQTT
3.1.1 ([OASIS][oasis-mqtt-3.1.1]; ISO/IEC 20922:2016) and MQTT 5.0
([OASIS][oasis-mqtt-5]) messages.

## Status of this document

This document is a working draft.

## Table of Contents

1. [Introduction](#1-introduction)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,6 @@
The [NATS][nats] Protocol Binding for CloudEvents defines how events are mapped
to [NATS messages][nats-msg-proto].

## Status of this document

This document is a working draft.

## Table of Contents

1. [Introduction](#1-introduction)
Expand Down
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ might be changed, or removed, at any time. As such, inclusion of an attribute in
this document does not need to meet the same level of maturity, or popularity,
as attributes defined in the [CloudEvents specification](spec.md). To be
included in this document, aside from the normal PR review process, the
attribute needs to have at least two [Voting](GOVERNANCE.md#membership) member
attribute needs to have at least two [Voting](../community/GOVERNANCE.md#membership) member
organizations stating their support for its inclusion as comments in the PR. If
the author of the PR is also a Voting member, then they are allowed to be one of
two.
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
34 changes: 15 additions & 19 deletions avro-format.md → cloudevents/formats/avro-format.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,6 @@
The Avro Format for CloudEvents defines how events attributes are expressed in
the [Avro 1.9.0 Specification][avro-spec].

## Status of this document

This document is a working draft.

## Table of Contents

1. [Introduction](#1-introduction)
Expand Down Expand Up @@ -75,7 +71,7 @@ Example:
### 2.4 Definition

Users of Avro MUST use a message whose binary encoding is identical to the one
described by the [CloudEvent Avro Schema](./spec.avsc):
described by the [CloudEvent Avro Schema](../cloudevents.avsc):

```json
{
Expand Down Expand Up @@ -154,20 +150,20 @@ value using the union types described for the `data` record.

The following table shows exemplary mappings:

| CloudEvents | Type | Exemplary Avro Value |
| ----------- | ------ | ---------------------------------------------- |
| type | string | `"com.example.someevent"` |
| specversion | string | `"1.0` |
| source | string | `"/mycontext"` |
| id | string | `"7a0dc520-c870-4193c8"` |
| time | string | `"2019-06-05T23:45:00Z"` |
| dataschema | string | `"http://registry.com/schema/v1/much.json"` |
| contenttype | string | `"application/json"` |
| data | bytes | `"{"much":{"wow":"json"}}"` |
| | | |
| dataschema | string | `"http://registry.com/subjects/ce/versions/1"` |
| contenttype | string | `"application/avro"` |
| data | bytes | `[avro-serialized-bytes]` |
| CloudEvents | Type | Exemplary Avro Value |
| ----------------| ------ | ---------------------------------------------- |
| type | string | `"com.example.someevent"` |
| specversion | string | `"1.0` |
| source | string | `"/mycontext"` |
| id | string | `"7a0dc520-c870-4193c8"` |
| time | string | `"2019-06-05T23:45:00Z"` |
| dataschema | string | `"http://registry.com/schema/v1/much.json"` |
| datacontenttype | string | `"application/json"` |
| data | bytes | `"{"much":{"wow":"json"}}"` |
| | | |
| dataschema | string | `"http://registry.com/subjects/ce/versions/1"` |
| datacontenttype | string | `"application/avro"` |
| data | bytes | `[avro-serialized-bytes]` |

## References

Expand Down
8 changes: 2 additions & 6 deletions json-format.md → cloudevents/formats/json-format.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,6 @@
The JSON Format for CloudEvents defines how events are expressed in JavaScript
Object Notation (JSON) Data Interchange Format ([RFC8259][rfc8259]).

## Status of this document

This document is a working draft.

## Table of Contents

1. [Introduction](#1-introduction)
Expand Down Expand Up @@ -48,7 +44,7 @@ specification defined attributes. This includes their syntax and placement
within the JSON object. In particular, extensions are placed as top-level JSON
properties. Extensions MUST be serialized as a top-level JSON property. There
were many reasons for this design decision and they are covered in more detail
in the [Primer](primer.md#json-extensions).
in the [Primer](../primer.md#json-extensions).

### 2.1. Base Type System

Expand Down Expand Up @@ -105,7 +101,7 @@ The following table shows exemplary attribute mappings:
### 2.4. JSONSchema Validation

The CloudEvents [JSONSchema](http://json-schema.org) for the spec is located
[here](spec.json) and contains the definitions for validating events in JSON.
[here](../cloudevents.json) and contains the definitions for validating events in JSON.

## 3. Envelope

Expand Down
4 changes: 0 additions & 4 deletions http-webhook.md → cloudevents/http-webhook.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,6 @@ formal definition for Web Hooks. This specification aims to provide such a
definition for use with [CNCF CloudEvents][ce], but is considered generally
usable beyond the scope of CloudEvents.

## Status of this document

This document is a working draft.

## Table of Contents

1. [Introduction](#1-introduction)
Expand Down
20 changes: 8 additions & 12 deletions primer.md → cloudevents/primer.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,6 @@ additional background and insight into the history and design decisions made
during the development of the specification. This allows the specification
itself to focus on the normative technical details.

## Status of this document

This document is a working draft.

## Table of Contents

- [History](#history)
Expand Down Expand Up @@ -145,9 +141,9 @@ The CloudEvents spec will not include protocol-level routing information (e.g.
a destination URL to which the event is being sent). This is a common suggestion
by those new to the concepts of CloudEvents. After much deliberation, the
working group has come to the conclusion that routing is unnecessary in the
spec: any protocol protocol (e.g. HTTP, MQTT, XMPP, or a Pub/Sub bus) already
spec: any protocol (e.g. HTTP, MQTT, XMPP, or a Pub/Sub bus) already
defines semantics for routing. For example, the CloudEvents
[HTTP binding](http-protocol-binding.md) dictates headers and request body
[HTTP binding](bindings/http-protocol-binding.md) dictates headers and request body
contents. CloudEvents don't need to include a destination URL in the spec to be
HTTP compatible; the HTTP spec already includes one in the
[Request-Line](https://tools.ietf.org/html/rfc2616#section-5.1).
Expand Down Expand Up @@ -185,11 +181,11 @@ elements that form a layered architecture model.
2. The [extensions](./spec.md#extension-context-attributes) add use-case
specific and potentially overlapping sets of extension attributes and
associated rules, e.g. to support different tracing standards.
3. The event format encodings, e.g. [JSON](json-format.md), define how the
3. The event format encodings, e.g. [JSON](formats/json-format.md), define how the
information model of the base specification together with the chosen
extensions is encoded for mapping it to header and payload elements of an
application protocol.
4. The protocol bindings, e.g. [HTTP](http-protocol-binding.md), defines how
4. The protocol bindings, e.g. [HTTP](bindings/http-protocol-binding.md), defines how
the CloudEvent is bound to an application protocol's transport frame, in the
case of HTTP to the HTTP message. The protocol binding does not constrain
how the transport frame is used, meaning that the HTTP binding can be used
Expand Down Expand Up @@ -296,7 +292,7 @@ Extension attributes should be kept minimal to ensure the CloudEvent can be
properly serialized and transported. For example, the Event producers should
consider the technical limitations that might be encountered when adding
extensions to a CloudEvent. For example, the
[HTTP Binary Mode](http-protocol-binding.md#31-binary-content-mode) uses HTTP
[HTTP Binary Mode](bindings/http-protocol-binding.md#31-binary-content-mode) uses HTTP
headers to transport metadata; most HTTP servers will reject requests with
excessive HTTP header data, with limits as low as 8kb. Therefore, the aggregate
size and number of extension attributes should be kept minimal.
Expand All @@ -308,8 +304,8 @@ formally adding them to the specification.

### JSON Extensions

As mentioned in the [Attributes](json-format.md#2-attributes) section of the
[JSON Event Format for CloudEvents](json-format.md) specification, CloudEvent
As mentioned in the [Attributes](formats/json-format.md#2-attributes) section of the
[JSON Event Format for CloudEvents](formats/json-format.md) specification, CloudEvent
extension attributes are serialized as siblings to the specification defined
attributes - meaning, at the top-level of the JSON object. The authors of the
specification spent a long time considering all options and decided that this
Expand Down Expand Up @@ -396,7 +392,7 @@ However, if this entity is performing some type of semantic processing of the
CloudEvent, typically resulting in a change to the value of the `data`
attribute, then it may need to be considered a distinct "event source" from the
original event source. And as such, it is expected that CloudEvents attributes
related to the event producer (such as 'source`and`id`) would be changed from
related to the event producer (such as `source` and `id`) would be changed from
the incoming CloudEvent.

## Qualifying Protocols and Encodings
Expand Down
File renamed without changes.
File renamed without changes
Loading