From f24e63dc827b977cc4b67cfa16fb6fda822b8432 Mon Sep 17 00:00:00 2001 From: Timon Back Date: Fri, 27 Oct 2023 21:50:20 +0200 Subject: [PATCH] Docs/add sns (#60) --- docs/behind-the-scenes.md | 2 +- docs/configuration/configuration.md | 2 ++ docs/introduction/introduction.md | 3 ++- docs/introduction/supported-protocols.md | 2 ++ docs/snippets/_springwolf_groovy.gradle | 4 ++-- 5 files changed, 9 insertions(+), 4 deletions(-) diff --git a/docs/behind-the-scenes.md b/docs/behind-the-scenes.md index 6d80065..ef4c6f6 100644 --- a/docs/behind-the-scenes.md +++ b/docs/behind-the-scenes.md @@ -18,7 +18,7 @@ From there, Springwolf forwards the message to the protocol specific producer. ## Plugins `springwolf-core` provides the base functionality to orchestrate the scanning and building of the AsyncAPI document. -The different protocol (AMQP, Kafka, SQS) are supported through plugins. +The different protocol (AMQP, Cloud-Stream, Kafka, SNS, SQS) are supported through plugins. These plugins are found through the Spring dependency injection functionality. When building own scanner plugins, your plugin will need to implement the `ChannelsScanner` interface. diff --git a/docs/configuration/configuration.md b/docs/configuration/configuration.md index e50ef60..19c3728 100644 --- a/docs/configuration/configuration.md +++ b/docs/configuration/configuration.md @@ -77,6 +77,8 @@ The following table contains additional properties that can be specified in the | `springwolf.plugin.kafka.publishing.enabled` | `false` | Allow (anyone) to produce Kafka messages from the UI. *Note that this has security implications* | | `springwolf.plugin.kafka.publishing.producer` | `null` | Configure the Kafka producer used to publish messages from the UI. Uses identical parameters as `spring.kafka.producer` | | `springwolf.plugin.kafka.scanner.kafka-listener.enabled` | `true` | Enable scanner to find methods annotated with `@KafkaListener`. | +| **SNS** | | | +| `springwolf.plugin.sns.publishing.enabled` | `false` | Allow (anyone) to produce SNS messages from the UI. *Note that this has security implications* | | **SQS** | | | | `springwolf.plugin.sqs.publishing.enabled` | `false` | Allow (anyone) to produce SQS messages from the UI. *Note that this has security implications* | | `springwolf.plugin.sqs.scanner.sqs-listener.enabled` | `true` | Enable scanner to find methods annotated with `@SqsListener`. | diff --git a/docs/introduction/introduction.md b/docs/introduction/introduction.md index 3ab22d0..837fcce 100644 --- a/docs/introduction/introduction.md +++ b/docs/introduction/introduction.md @@ -8,7 +8,7 @@ sidebar_position: 10 API Documentation is an important part of every project and product, but can be painful to maintain manually. Spring Boot projects have great solutions for auto-generated documentation for REST APIs to overcome this pain (such as Springfox, or springdoc-openapi). -However, until now there were no solutions for asynchronous APIs (such as AMQP, Kafka, SQS, etc.). Springwolf aims to solve this and provides auto-generated documentation for asynchronous APIs built in Spring Boot. +However, until now there were no solutions for asynchronous APIs (such as AMQP, Kafka, SNS, SQS, etc.). Springwolf aims to solve this and provides auto-generated documentation for asynchronous APIs built in Spring Boot. Springwolf is compliant to [AsyncAPI](https://www.asyncapi.com), which brings the [swagger/OpenAPI](https://www.asyncapi.com/docs/tutorials/getting-started/coming-from-openapi) specification you know already from REST APIs into the world of event-driven architectures. @@ -20,6 +20,7 @@ Also, the demos of the [AMQP](https://amqp.demo.springwolf.dev), [Spring Cloud Stream](https://cloud-stream.demo.springwolf.dev), [Kafka](https://kafka.demo.springwolf.dev) +[SNS](https://sns.demo.springwolf.dev) [SQS](https://sqs.demo.springwolf.dev) example projects are available. diff --git a/docs/introduction/supported-protocols.md b/docs/introduction/supported-protocols.md index ad867cd..a38366d 100644 --- a/docs/introduction/supported-protocols.md +++ b/docs/introduction/supported-protocols.md @@ -16,6 +16,7 @@ The following protocols are supported natively: | AMQP (RabbitMQ) | `@RabbitListener` | [`springwolf-amqp-example`][amqp] | ![Maven Central](https://img.shields.io/maven-central/v/io.github.springwolf/springwolf-amqp?color=green&label=springwolf-amqp&style=plastic) | | Cloud Functions | `@Bean` (functional interface) | [`springwolf-cloud-stream`][cloud-stream] | ![Maven Central](https://img.shields.io/maven-central/v/io.github.springwolf/springwolf-cloud-stream?color=green&label=springwolf-cloud-stream&style=plastic) | | Kafka | `@KafkaListener`, `@KafkaHandler` | [`springwolf-kafka-example`][kafka] | ![Maven Central](https://img.shields.io/maven-central/v/io.github.springwolf/springwolf-kafka?color=green&label=springwolf-kafka&style=plastic) | +| SNS | | [`springwolf-sns-example`][sns] | ![Maven Central](https://img.shields.io/maven-central/v/io.github.springwolf/springwolf-sns?color=green&label=springwolf-sns&style=plastic) | | SQS | `@SqsListener` | [`springwolf-sqs-example`][sqs] | ![Maven Central](https://img.shields.io/maven-central/v/io.github.springwolf/springwolf-sqs?color=green&label=springwolf-sqs&style=plastic) | Check out the example projects, which include a full `docker-compose` setup. @@ -32,4 +33,5 @@ The protocols with native support come along with a `@_ProtocolName_Binding` ann [amqp]:https://github.com/springwolf/springwolf-core/tree/master/springwolf-examples/springwolf-amqp-example [cloud-stream]:https://github.com/springwolf/springwolf-core/tree/master/springwolf-examples/springwolf-cloud-stream-example [kafka]: https://github.com/springwolf/springwolf-core/tree/master/springwolf-examples/springwolf-kafka-example +[sns]: https://github.com/springwolf/springwolf-core/tree/master/springwolf-examples/springwolf-sns-example [sqs]: https://github.com/springwolf/springwolf-core/tree/master/springwolf-examples/springwolf-sqs-example diff --git a/docs/snippets/_springwolf_groovy.gradle b/docs/snippets/_springwolf_groovy.gradle index 34afdce..1c4e7ee 100644 --- a/docs/snippets/_springwolf_groovy.gradle +++ b/docs/snippets/_springwolf_groovy.gradle @@ -1,7 +1,7 @@ dependencies { // Provides the documentation API - implementation 'io.github.springwolf:springwolf-kafka:0.14.0' + implementation 'io.github.springwolf:springwolf-kafka:0.16.0' // Provides the UI - optional (recommended) - runtimeOnly 'io.github.springwolf:springwolf-ui:0.14.0' + runtimeOnly 'io.github.springwolf:springwolf-ui:0.16.0' }