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

feat: assign channels to servers #531

Merged
merged 34 commits into from
Sep 23, 2021
Merged
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
5491240
clarifications on publish and subscribe
GeraldLoeffler Mar 19, 2021
23cbd47
Merge pull request #1 from asyncapi/master
GeraldLoeffler Apr 9, 2021
8259374
incorporating Lukasz's feedback
GeraldLoeffler Apr 9, 2021
2814f45
Sticking to produce/consume as much as possible
GeraldLoeffler Apr 9, 2021
eb7c167
Merge pull request #2 from asyncapi/master
GeraldLoeffler Apr 26, 2021
be2d4d2
added labels to server items and serverLabels to channel items
GeraldLoeffler Apr 27, 2021
4fc9453
refinement
GeraldLoeffler Apr 27, 2021
b704cc9
refinement
GeraldLoeffler Apr 27, 2021
eac79ac
refinement
GeraldLoeffler Apr 27, 2021
01a90b3
removing labels
GeraldLoeffler May 4, 2021
21835c5
adding servers to components and allowing server references
GeraldLoeffler May 4, 2021
4ee45ff
added servers to channel item object
GeraldLoeffler May 4, 2021
e728a14
added convincing example for explicitly assigning a channel to a sub-…
GeraldLoeffler May 4, 2021
e6bc199
refining
GeraldLoeffler May 4, 2021
1f0627f
fixing syntax error and improving wording
GeraldLoeffler May 4, 2021
adb738d
fixing typo
GeraldLoeffler May 18, 2021
99364d9
implementing Fran's suggested simplification
GeraldLoeffler May 18, 2021
039a699
ci: update global workflows
asyncapi-bot Aug 10, 2021
8f441db
docs: add release process instruction (#577)
derberg Aug 12, 2021
4f5d8d8
ci: update global workflows
asyncapi-bot Aug 12, 2021
f9a191f
ci: update global workflows
asyncapi-bot Sep 2, 2021
d3b1806
changing to by-name references of servers
GeraldLoeffler Sep 7, 2021
1d1213e
Merge branch 'master' into channels-to-servers
GeraldLoeffler Sep 7, 2021
7d60d42
docs: add jmenning-solace as a contributor for blog, talk, review, id…
allcontributors[bot] Sep 13, 2021
55ebf03
chore: update copyright (#625)
fmvilas Sep 15, 2021
c216f18
changed requested by Fran
GeraldLoeffler Sep 15, 2021
5400ecb
Merge branch 'asyncapi:master' into channels-to-servers
GeraldLoeffler Sep 15, 2021
676d993
brought YAML example in line with JSON example
GeraldLoeffler Sep 16, 2021
3bfcca3
fix protocol to https
GeraldLoeffler Sep 17, 2021
e6f26c4
Delete .all-contributorsrc
GeraldLoeffler Sep 21, 2021
e0fef92
Delete automerge-orphans.yml
GeraldLoeffler Sep 21, 2021
5316c78
brining up to date with head of 2021-09-release
GeraldLoeffler Sep 21, 2021
009b4e8
Merge pull request #3 from asyncapi/2021-09-release
GeraldLoeffler Sep 21, 2021
995e7d1
fixing type of channel-level `server` field
GeraldLoeffler Sep 23, 2021
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
35 changes: 35 additions & 0 deletions spec/asyncapi.md
Original file line number Diff line number Diff line change
Expand Up @@ -563,6 +563,7 @@ Field Name | Type | Description
---|:---:|---
<a name="channelItemObjectRef"></a>$ref | `string` | Allows for an external definition of this channel item. The referenced structure MUST be in the format of a [Channel Item Object](#channelItemObject). If there are conflicts between the referenced definition and this Channel Item's definition, the behavior is *undefined*.
<a name="channelItemObjectDescription"></a>description | `string` | An optional description of this channel item. [CommonMark syntax](https://spec.commonmark.org/) can be used for rich text representation.
<a name="channelItemObjectServers"></a>servers | [`string`] | The servers on which this channel is available, specified as an optional unordered list of names (string keys) of [Server Objects](#serverObject) defined in the [Servers Object](#serversObject) (a map). If `servers` is absent or empty then this channel must be available on all servers defined in the [Servers Object](#serversObject).
<a name="channelItemObjectSubscribe"></a>subscribe | [Operation Object](#operationObject) | A definition of the SUBSCRIBE operation, which defines the messages produced by the application and sent to the channel.
<a name="channelItemObjectPublish"></a>publish | [Operation Object](#operationObject) | A definition of the PUBLISH operation, which defines the messages consumed by the application from the channel.
<a name="channelItemObjectParameters"></a>parameters | [Parameters Object](#parametersObject) | A map of the parameters included in the channel name. It SHOULD be present only when using channels with expressions (as defined by [RFC 6570 section 2.2](https://tools.ietf.org/html/rfc6570#section-2.2)).
Expand Down Expand Up @@ -646,6 +647,40 @@ subscribe:
```


Using explicit by-name references to the servers on which the channel is available:

```json
{
"description": "This application publishes WebUICommand messages to an AMQP queue on RabbitMQ brokers in the Staging and Production environments.",
"servers": [
"rabbitmqBrokerInProd",
"rabbitmqBrokerInStaging",
],
"subscribe": {
"message": {
"$ref": "#/components/messages/WebUICommand"
}
},
"bindings": {
"amqp": {
"is": "queue"
}
}
}
```

```yaml
description: This application publishes WebUICommand messages to an AMQP queue on RabbitMQ brokers in the Staging and Production environments.
servers:
- rabbitmqBrokerInProd
- rabbitmqBrokerInStaging
subscribe:
message:
$ref: "#/components/messages/WebUICommand"
bindings:
amqp:
is: queue
```



Expand Down