From Blueprint to AsyncAPI

Firestone bridges the gap between RESTful resource definitions and Event-Driven Architectures (EDA) by generating AsyncAPI 2.x specifications from the same resource.yaml.

Mapping Reference:

Firestone FieldAsyncAPI SectionDescription
asyncapi.serversserversDefines your message brokers (Kafka, RabbitMQ) or WebSocket endpoints.
asyncapi.channelschannelsDetermines which channels are generated (resource, instance, etc.).
kindChannel PathUsed to construct channel names (e.g., /books, /books/{book_id}).
schema.itemscomponents/schemasThe payload schema for your messages.
schema.items (implied)components/messagesWraps the schema into a reusable Message object.

Key Feature: Channel Generation Firestone automatically generates channels based on your configuration:

  • resources: true -> Generates collection-level channel (e.g., user/created).
  • instances: true -> Generates instance-level channel (e.g., user/{id}/updated).

For a detailed reference of the target specification format: