Quarkus Asyncapi Scanner

This extension creates an AsyncApi-document, describing data your server publishes/subscribes to/from Kafka-topics.

It does this by

  • scanning for annotations @Channel, @Outgoing and @Incoming in your project,

  • reading topics and descriptions from microprofile-configuration and

  • reading data from running kafka

The result can be viewed as html or svg or downloaded as yaml, json or plant-uml (localhost://[quarkus.http.root-path]/asyncapi.[html|svg|yaml|json|puml]).

Installation

If you want to use this extension, you need to add the io.quarkiverse.asyncapi:quarkus-asyncapi extension first to your build file.

For instance, with Maven, add the following dependency to your POM file:

<dependency>
    <groupId>io.quarkiverse.asyncapi</groupId>
    <artifactId>quarkus-asyncapi-scanner</artifactId>
    <version>0.3.0</version>
</dependency>

Extension Configuration Reference

For more information about the extension configuration please refer to the Configuration Reference.

Configuration property fixed at build time - All other configuration properties are overridable at runtime

Configuration property

Type

Default

Enable AysncApi-Scanning

Environment variable: QUARKUS_ASYNCAPI_ANNOTATION_SCANNER_ENABLED

boolean

true

Version of the WebComponent to be used in html-view to be found at [HOST]/asyncapi.html

Environment variable: QUARKUS_ASYNCAPI_ANNOTATION_SCANNER_WEBCOMPONENTVERSION

string

1.0.0-next.47

Full qualified name of the implementing AsyncApiFilter

Environment variable: QUARKUS_ASYNCAPI_ANNOTATION_SCANNER_FILTER

string

AsyncApi specification version

Environment variable: QUARKUS_ASYNCAPI_ANNOTATION_SCANNER_VERSION

string

2.6.0

Default ContentType

Environment variable: QUARKUS_ASYNCAPI_ANNOTATION_SCANNER_DEFAULT_CONTENT_TYPE

string

application/json

Title

Environment variable: QUARKUS_ASYNCAPI_ANNOTATION_SCANNER_INFO_TITLE

string

AsyncApi

Project-version

Environment variable: QUARKUS_ASYNCAPI_ANNOTATION_SCANNER_INFO_VERSION

string

1.0.0

Project-description

Environment variable: QUARKUS_ASYNCAPI_ANNOTATION_SCANNER_INFO_DESCRIPTION

string

Contact-Name

Environment variable: QUARKUS_ASYNCAPI_ANNOTATION_SCANNER_INFO_CONTACT_NAME

string

Contact-Email

Environment variable: QUARKUS_ASYNCAPI_ANNOTATION_SCANNER_INFO_CONTACT_EMAIL

string

you@mail.org

Contact-URL

Environment variable: QUARKUS_ASYNCAPI_ANNOTATION_SCANNER_INFO_CONTACT_URL

string

License-Name

Environment variable: QUARKUS_ASYNCAPI_ANNOTATION_SCANNER_INFO_LICENSE_NAME

string

Commercial

License-URL

Environment variable: QUARKUS_ASYNCAPI_ANNOTATION_SCANNER_INFO_LICENSE_URL

string

Url

Environment variable: QUARKUS_ASYNCAPI_ANNOTATION_SCANNER_SERVER__SERVER__URL

string

required

Protocol

Environment variable: QUARKUS_ASYNCAPI_ANNOTATION_SCANNER_SERVER__SERVER__PROTOCOL

string

kafka

Description

Environment variable: QUARKUS_ASYNCAPI_ANNOTATION_SCANNER_CHANNEL__CHANNEL__DESCRIPTION

string