# KubeMQ Sources

## Sources

### Standalone Services

| Category  | Target                                                | Kind               | Configuration                                                           |
| --------- | ----------------------------------------------------- | ------------------ | ----------------------------------------------------------------------- |
| Http      | Http                                                  | http               | [Usage](/configuration/connectors/kubemq-sources/http.md)               |
| Messaging |                                                       |                    |                                                                         |
|           | [Kafka](https://kafka.apache.org/)                    | messaging.kafka    | [Usage](/configuration/connectors/kubemq-sources/messaging/kafka.md)    |
|           | [RabbitMQ](https://www.rabbitmq.com/)                 | messaging.rabbitmq | [Usage](/configuration/connectors/kubemq-sources/messaging/rabbitmq.md) |
|           | [MQTT](http://mqtt.org/)                              | messaging.mqtt     | [Usage](/configuration/connectors/kubemq-sources/messaging/mqtt.md)     |
|           | [ActiveMQ](http://activemq.apache.org/)               | messaging.activemq | [Usage](/configuration/connectors/kubemq-sources/messaging/activemq.md) |
|           | [IBM-MQ](https://developer.ibm.com/components/ibm-mq) | messaging.ibmmq    | [Usage](/configuration/connectors/kubemq-sources/messaging/ibmmq.md)    |
|           | [Nats](https://nats.io/)                              | messaging.nats     | [Usage](/configuration/connectors/kubemq-sources/messaging/nats.md)     |

### Google Cloud Platform (GCP)

| Category  | Target                                     | Kind       | Configuration                                                   |
| --------- | ------------------------------------------ | ---------- | --------------------------------------------------------------- |
| Messaging | [Pub/Sub](https://cloud.google.com/pubsub) | gcp.pubsub | [Usage](/configuration/connectors/kubemq-sources/gcp/pubsub.md) |

### Amazon Web Service (AWS)

| Category  | Target                                        | Kind         | Configuration                                                     |
| --------- | --------------------------------------------- | ------------ | ----------------------------------------------------------------- |
| Messaging |                                               |              |                                                                   |
|           | [AmazonMQ](https://aws.amazon.com/amazon-mq/) | aws.amazonmq | [Usage](/configuration/connectors/kubemq-sources/aws/amazonmq.md) |
|           | [MSK](https://aws.amazon.com/msk/)            | aws.msk      | [Usage](/configuration/connectors/kubemq-sources/aws/msk.md)      |
|           | [SQS](https://aws.amazon.com/sqs/)            | aws.sqs      | [Usage](/configuration/connectors/kubemq-sources/aws/sqs.md)      |

### Microsoft Azure

| Category   | Target                                                                | Kind             | Configuration                                                         |
| ---------- | --------------------------------------------------------------------- | ---------------- | --------------------------------------------------------------------- |
| EventHubs  |                                                                       |                  |                                                                       |
|            | [EventHubs](https://azure.microsoft.com/en-us/services/event-hubs/)   | azure.eventhubs  | [Usage](/configuration/connectors/kubemq-sources/azure/eventhubs.md)  |
| ServiceBus |                                                                       |                  |                                                                       |
|            | [ServiceBus](https://azure.microsoft.com/en-us/services/service-bus/) | azure.servicebus | [Usage](/configuration/connectors/kubemq-sources/azure/servicebus.md) |

## Targets

| Type                                                                              | Kind                | Configuration                                                             |
| --------------------------------------------------------------------------------- | ------------------- | ------------------------------------------------------------------------- |
| [Queue](https://docs.kubemq.io/learn/message-patterns/queue)                      | kubemq.queue        | [Usage](/configuration/connectors/kubemq-sources/targets/queue.md)        |
| [Events](https://docs.kubemq.io/learn/message-patterns/pubsub#events)             | kubemq.events       | [Usage](/configuration/connectors/kubemq-sources/targets/events.md)       |
| [Events Store](https://docs.kubemq.io/learn/message-patterns/pubsub#events-store) | kubemq.events-store | [Usage](/configuration/connectors/kubemq-sources/targets/events-store.md) |
| [Command](https://docs.kubemq.io/learn/message-patterns/rpc#commands)             | kubemq.command      | [Usage](/configuration/connectors/kubemq-sources/targets/command.md)      |
| [Query](https://docs.kubemq.io/learn/message-patterns/rpc#queries)                | kubemq.query        | [Usage](/configuration/connectors/kubemq-sources/targets/query.md)        |

## Middlewares

In bindings configuration, KubeMQ Bridges supports middleware setting for each pair of source and target bindings.

These properties contain middleware information settings as follows:

### Logs Middleware

KubeMQ Bridges supports level based logging to console according to as follows:

| Property   | Description       | Possible Values                           |
| ---------- | ----------------- | ----------------------------------------- |
| log\_level | log level setting | "debug","info","error"                    |
|            |                   | "" - indicate no logging on this bindings |

An example for only error level log to console:

```yaml
bindings:
  - name: sample-binding 
    properties: 
      log_level: error
    sources:
    ......
```

### Retry Middleware

KubeMQ Bridges supports Retries' target execution before reporting of error back to the source on failed execution.

Retry middleware settings values:

| Property                         | Description                                           | Possible Values                             |
| -------------------------------- | ----------------------------------------------------- | ------------------------------------------- |
| retry\_attempts                  | how many retries before giving up on target execution | default - 1, or any int number              |
| retry\_delay\_milliseconds       | how long to wait between retries in milliseconds      | default - 100ms or any int number           |
| retry\_max\_jitter\_milliseconds | max delay jitter between retries                      | default - 100ms or any int number           |
| retry\_delay\_type               | type of retry delay                                   | "back-off" - delay increase on each attempt |
|                                  |                                                       | "fixed" - fixed time delay                  |
|                                  |                                                       | "random" - random time delay                |

An example for 3 retries with back-off strategy:

```yaml
bindings:
  - name: sample-binding 
    properties: 
      retry_attempts: 3
      retry_delay_milliseconds: 1000
      retry_max_jitter_milliseconds: 100
      retry_delay_type: "back-off"
    sources:
    ......
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.kubemq.io/configuration/connectors/kubemq-sources.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
