Skip to content

Commit

Permalink
Adding initial doc for IntegrationSink
Browse files Browse the repository at this point in the history
Signed-off-by: Matthias Wessendorf <[email protected]>
  • Loading branch information
matzew committed Nov 26, 2024
1 parent ce88f0f commit 3da423f
Show file tree
Hide file tree
Showing 6 changed files with 112 additions and 0 deletions.
5 changes: 5 additions & 0 deletions config/nav.yml
Original file line number Diff line number Diff line change
Expand Up @@ -250,6 +250,11 @@ nav:
- About sinks: eventing/sinks/README.md
- JobSink: eventing/sinks/job-sink.md
- Apache Kafka Sink: eventing/sinks/kafka-sink.md
- IntegrationSink:
- About IntegrationSink: eventing/sinks/integration-sink/README.md
- AWS S3 Sink: eventing/sinks/integration-sink/aws_s3.md
- AWS SQS Sink: eventing/sinks/integration-sink/aws_sqs.md
- Generic Logger Sink: eventing/sinks/integration-sink/logger.md
- Flows:
- About flows: eventing/flows/README.md
- Parallel: eventing/flows/parallel.md
Expand Down
1 change: 1 addition & 0 deletions docs/eventing/sinks/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,7 @@ The `svc` in `http://event-display.svc.cluster.local` determines that the sink i

| Name | Maintainer | Description |
|----------------------------------------------------------------------------------| -- |--------------------------------------|
| [IntegrationSink](./integration-sink/README.md) | Knative | Send events to generic event sink |
| [JobSink](job-sink.md) | Knative | Trigger long-running background jobs |
| [KafkaSink](kafka-sink.md) | Knative | Send events to a Kafka topic |
| [RedisSink](https://github.com/knative-extensions/eventing-redis/tree/main/sink) | Knative | Send events to a Redis Stream |
Expand Down
12 changes: 12 additions & 0 deletions docs/eventing/sinks/integration-sink/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Knative Sink for Apache Camel Kamelet integrations

![stage](https://img.shields.io/badge/Stage-alpah-red?style=flat-square)
![version](https://img.shields.io/badge/API_Version-v1alpha1-red?style=flat-square)

The `IntegrationSink` is a Knative Eventing custom resource supporting selected [_Kamelets_](https://camel.apache.org/camel-k/latest/kamelets/kamelets.html) from the [Apache Camel](https://camel.apache.org/) project. Kamelets allow users to connect to 3rd party system for improved connectivity, they can act as "sources" or as "sinks". Therefore the `IntegrationSink` allows to send data to external systems out of Knative Eventing in the format of CloudEvents. The integration sink is part of the Knative Eventing core installation.

## Supported Kamelet sinks

* [AWS S3](./aws_s3.md)
* [AWS SQS](./aws_sqs.md)
* [Generic logger](./logger.md)
36 changes: 36 additions & 0 deletions docs/eventing/sinks/integration-sink/aws_s3.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# AWS S3 Sink

The `IntegrationSink` supports the Amazon Web Services (AWS) S3 service, through its `aws.s3` property.

## Amazon credentials

For connecting to AWS the `IntegrationSink` uses Kubernetes `Secret`, present in the namespace of the reSink. The `Secret` can be created like:

```bash
kubectl -n <namespace> create secret generic my-secret --from-literal=aws.accessKey=<accessKey> --from-literal=aws.secretKey=<secretKey>
```

## AWS S3 Sink Example

Below is an `IntegrationSink` to send data to an Amazon S3 Bucket:

```yaml
apiVersion: Sinks.knative.dev/v1alpha1
kind: IntegrationSink
metadata:
name: integration-sink-aws-s3
namespace: knative-samples
spec:
aws:
s3:
arn: "arn:aws:s3:::my-bucket"
region: "eu-north-1"
auth:
secret:
ref:
name: "my-secret"
```
Inside of the `aws.s3` object we define the name of the bucket (or _arn_) and its region. The credentials for the AWS service are referenced from the `my-secret` Kubernetes `Secret`

More details about the Apache Camel Kamelet [aws-s3-sink](https://camel.apache.org/camel-kamelets/latest/aws-s3-sink.html).
35 changes: 35 additions & 0 deletions docs/eventing/sinks/integration-sink/aws_sqs.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# AWS Simple Queue Service Sink

The `IntegrationSink` supports the Amazon Web Services (AWS) Simple Queue Service (SQS) service, through its `aws.sqs` property.

## Amazon credentials

For connecting to AWS the `IntegrationSink` uses Kubernetes `Secret`, present in the namespace of the reSink. The `Secret` can be created like:

```bash
kubectl -n <namespace> create secret generic my-secret --from-literal=aws.accessKey=<accessKey> --from-literal=aws.secretKey=<secretKey>
```

## AWS SQS Sink Example

Below is an `IntegrationSink` to send data to AWS SQS:

```yaml
apiVersion: Sinks.knative.dev/v1alpha1
kind: IntegrationSink
metadata:
name: integration-sink-aws-sqs
namespace: knative-samples
spec:
aws:
sqs:
arn: "arn:aws:s3:::my-queue"
region: "eu-north-1"
auth:
secret:
ref:
name: "my-secret"
```
Inside of the `aws.sqs` object we define the name of the queue (or _arn_) and its region. The credentials for the AWS service are referenced from the `my-secret` Kubernetes `Secret`

More details about the Apache Camel Kamelet [aws-sqs-sink](https://camel.apache.org/camel-kamelets/latest/aws-sqs-sink.html).
23 changes: 23 additions & 0 deletions docs/eventing/sinks/integration-sink/logger.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Log Sink

The `IntegrationSink` supports the _Log Sink Kamelet_ that logs all data that it receives, through its `log` property. This sink useful for debugging purposes.

## Log Sink Example

Below is an `IntegrationSink` that logs all data that it receives:

```yaml
apiVersion: Sinks.knative.dev/v1alpha1
kind: IntegrationSink
metadata:
name: integration-log-sink
namespace: knative-samples
spec:
log:
showHeaders: true
level: INFO
```
Inside of the `log` object we define the logging `level` and define to also show (HTTP) headers it received.

More details about the Apache Camel Kamelet [timer-sink](https://camel.apache.org/camel-kamelets/latest/timer-sink.html).

0 comments on commit 3da423f

Please sign in to comment.