Merge branch 'v1.11' into wasm-http-fetch

Signed-off-by: Edoardo Vacchi <evacchi@users.noreply.github.com>
This commit is contained in:
Edoardo Vacchi 2023-08-03 09:17:42 +02:00 committed by GitHub
commit 75c224a263
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
65 changed files with 768 additions and 507 deletions

View File

@ -49,25 +49,31 @@ For a detailed list of all available arguments run `daprd --help` or see this [t
daprd --app-id myapp daprd --app-id myapp
``` ```
2. Specify the port your application is listening to 1. Specify the port your application is listening to
```bash ```bash
daprd --app-id --app-port 5000 daprd --app-id --app-port 5000
``` ```
3. If you are using several custom resources and want to specify the location of the resource definition files, use the `--resources-path` argument: 1. If you are using several custom resources and want to specify the location of the resource definition files, use the `--resources-path` argument:
```bash ```bash
daprd --app-id myapp --resources-path <PATH-TO-RESOURCES-FILES> daprd --app-id myapp --resources-path <PATH-TO-RESOURCES-FILES>
``` ```
4. Enable collection of Prometheus metrics while running your app 1. If you've organized your components and other resources (for example, resiliency policies, subscriptions, or configuration) into separate folders or a shared folder, you can specify multiple resource paths:
```bash
daprd --app-id myapp --resources-path <PATH-1-TO-RESOURCES-FILES> --resources-path <PATH-2-TO-RESOURCES-FILES>
```
1. Enable collection of Prometheus metrics while running your app
```bash ```bash
daprd --app-id myapp --enable-metrics daprd --app-id myapp --enable-metrics
``` ```
5. Listen to IPv4 and IPv6 loopback only 1. Listen to IPv4 and IPv6 loopback only
```bash ```bash
daprd --app-id myapp --dapr-listen-addresses '127.0.0.1,[::1]' daprd --app-id myapp --dapr-listen-addresses '127.0.0.1,[::1]'

View File

@ -57,6 +57,20 @@ To invoke an output binding:
Read the [Use output bindings to interface with external resources guide]({{< ref howto-bindings.md >}}) to get started with output bindings. Read the [Use output bindings to interface with external resources guide]({{< ref howto-bindings.md >}}) to get started with output bindings.
## Binding directions (optional)
You can provide the `direction` metadata field to indicate the direction(s) supported by the binding component. In doing so, the Dapr sidecar avoids the `"wait for the app to become ready"` state reducing the lifecycle dependency between the Dapr sidecar and the application:
- `"input"`
- `"output"`
- `"input, output"`
{{% alert title="Note" color="primary" %}}
It is highly recommended that all bindings should include the `direction` property.
{{% /alert %}}
[See a full example of the bindings `direction` metadata.]({{< ref "bindings_api.md#binding-direction-optional" >}})
## Try out bindings ## Try out bindings
### Quickstarts and tutorials ### Quickstarts and tutorials

View File

@ -32,6 +32,8 @@ Create a new binding component named `checkout`. Within the `metadata` section,
- The topic to which you'll publish the message - The topic to which you'll publish the message
- The broker - The broker
When creating the binding component, [specify the supported `direction` of the binding]({{< ref "bindings_api.md#binding-direction-optional" >}}).
{{< tabs "Self-Hosted (CLI)" Kubernetes >}} {{< tabs "Self-Hosted (CLI)" Kubernetes >}}
{{% codetab %}} {{% codetab %}}
@ -59,7 +61,9 @@ spec:
- name: publishTopic - name: publishTopic
value: sample value: sample
- name: authRequired - name: authRequired
value: "false" value: false
- name: direction
value: output
``` ```
{{% /codetab %}} {{% /codetab %}}
@ -89,7 +93,9 @@ spec:
- name: publishTopic - name: publishTopic
value: sample value: sample
- name: authRequired - name: authRequired
value: "false" value: false
- name: direction
value: output
``` ```
{{% /codetab %}} {{% /codetab %}}

View File

@ -37,6 +37,8 @@ Create a new binding component named `checkout`. Within the `metadata` section,
- The topic to which you'll publish the message - The topic to which you'll publish the message
- The broker - The broker
When creating the binding component, [specify the supported `direction` of the binding]({{< ref "bindings_api.md#binding-direction-optional" >}}).
{{< tabs "Self-Hosted (CLI)" Kubernetes >}} {{< tabs "Self-Hosted (CLI)" Kubernetes >}}
{{% codetab %}} {{% codetab %}}
@ -64,7 +66,9 @@ spec:
- name: publishTopic - name: publishTopic
value: sample value: sample
- name: authRequired - name: authRequired
value: "false" value: false
- name: direction
value: input
``` ```
{{% /codetab %}} {{% /codetab %}}
@ -94,7 +98,9 @@ spec:
- name: publishTopic - name: publishTopic
value: sample value: sample
- name: authRequired - name: authRequired
value: "false" value: false
- name: direction
value: input
``` ```
{{% /codetab %}} {{% /codetab %}}
@ -256,15 +262,15 @@ async function start() {
{{< /tabs >}} {{< /tabs >}}
### ACK-ing an event ### ACK an event
Tell Dapr you've successfully processed an event in your application by returning a `200 OK` response from your HTTP handler. Tell Dapr you've successfully processed an event in your application by returning a `200 OK` response from your HTTP handler.
### Rejecting an event ### Reject an event
Tell Dapr the event was not processed correctly in your application and schedule it for redelivery by returning any response other than `200 OK`. For example, a `500 Error`. Tell Dapr the event was not processed correctly in your application and schedule it for redelivery by returning any response other than `200 OK`. For example, a `500 Error`.
### Specifying a custom route ### Specify a custom route
By default, incoming events will be sent to an HTTP endpoint that corresponds to the name of the input binding. You can override this by setting the following metadata property in `binding.yaml`: By default, incoming events will be sent to an HTTP endpoint that corresponds to the name of the input binding. You can override this by setting the following metadata property in `binding.yaml`:

View File

@ -71,6 +71,10 @@ Additionally, app health checks are impacted by the protocol used for the app ch
| ----------------------------- | ----------------------------------- | ----------- | ------------- | | ----------------------------- | ----------------------------------- | ----------- | ------------- |
| [`--app-protocol`]({{< ref "app-health.md#health-check-paths" >}}) | `dapr.io/app-protocol` | Protocol used for the app channel. supported values are `http`, `grpc`, `https`, `grpcs`, and `h2c` (HTTP/2 Cleartext). | `http` | | [`--app-protocol`]({{< ref "app-health.md#health-check-paths" >}}) | `dapr.io/app-protocol` | Protocol used for the app channel. supported values are `http`, `grpc`, `https`, `grpcs`, and `h2c` (HTTP/2 Cleartext). | `http` |
{{% alert title="Note" color="primary" %}}
A low app health probe timeout value can classify an application as unhealthy if it experiences a sudden high load, causing the response time to degrade. If this happens, increase the `dapr.io/app-health-probe-timeout` value.
{{% /alert %}}
### Health check paths ### Health check paths
#### HTTP #### HTTP

View File

@ -102,14 +102,27 @@ Dapr solves multi-tenancy at-scale with [namespaces for consumer groups]({{< ref
Dapr guarantees at-least-once semantics for message delivery. When an application publishes a message to a topic using the pub/sub API, Dapr ensures the message is delivered *at least once* to every subscriber. Dapr guarantees at-least-once semantics for message delivery. When an application publishes a message to a topic using the pub/sub API, Dapr ensures the message is delivered *at least once* to every subscriber.
Even if the message fails to deliver, or your application crashes, Dapr attempts to redeliver the message until successful delivery.
All Dapr pub/sub components support the at-least-once guarantee.
### Consumer groups and competing consumers pattern ### Consumer groups and competing consumers pattern
Dapr automatically handles the burden of dealing with concepts like consumer groups and competing consumers pattern. The competing consumers pattern refers to multiple application instances using a single consumer group. When multiple instances of the same application (running same Dapr app ID) subscribe to a topic, Dapr delivers each message to *only one instance of **that** application*. This concept is illustrated in the diagram below. Dapr handles the burden of dealing with consumer groups and the competing consumers pattern. In the competing consumers pattern, multiple application instances using a single consumer group compete for the message. Dapr enforces the competing conusmer pattern when replicas use the same `app-id` without explict consumer group overrides.
When multiple instances of the same application (with same `app-id`) subscribe to a topic, Dapr delivers each message to *only one instance of **that** application*. This concept is illustrated in the diagram below.
<img src="/images/pubsub-overview-pattern-competing-consumers.png" width=1000> <img src="/images/pubsub-overview-pattern-competing-consumers.png" width=1000>
<br></br> <br></br>
Similarly, if two different applications (with different app-IDs) subscribe to the same topic, Dapr delivers each message to *only one instance of **each** application*. Similarly, if two different applications (with different `app-id`) subscribe to the same topic, Dapr delivers each message to *only one instance of **each** application*.
Not all Dapr pub/sub components support the competing consumer pattern. Currently, the following (non-exhaustive) pub/sub components support this:
- [Apache Kafka]({{< ref setup-apache-kafka >}})
- [Azure Service Bus Queues]({{< ref setup-azure-servicebus-queues >}})
- [RabbitMQ]({{< ref setup-rabbitmq >}})
- [Redis Streams]({{< ref setup-redis-pubsub >}})
### Scoping topics for added security ### Scoping topics for added security

View File

@ -223,7 +223,7 @@ Both of the handlers defined above also need to be mapped to configure the `dapr
app.UseEndpoints(endpoints => app.UseEndpoints(endpoints =>
{ {
endpoints.MapSubscribeHandler(); endpoints.MapSubscribeHandler();
} });
``` ```
{{% /codetab %}} {{% /codetab %}}

View File

@ -8,7 +8,7 @@ description: "Configure resiliency policies for timeouts, retries, and circuit b
Define timeouts, retries, and circuit breaker policies under `policies`. Each policy is given a name so you can refer to them from the `targets` section in the resiliency spec. Define timeouts, retries, and circuit breaker policies under `policies`. Each policy is given a name so you can refer to them from the `targets` section in the resiliency spec.
> Note: Dapr offers default retries for specific APIs. [See here]({{< ref "#override-default-retries" >}}) to learn how you can overwrite default retry logic with user defined retry policies. > Note: Dapr offers default retries for specific APIs. [See here]({{< ref "#overriding-default-retries" >}}) to learn how you can overwrite default retry logic with user defined retry policies.
## Timeouts ## Timeouts

View File

@ -35,58 +35,61 @@ The Dapr's sidecar image is published to both [GitHub Container Registry](https:
* Default sidecar images: `daprio/daprd:<version>` or `ghcr.io/dapr/daprd:<version>` (for example `ghcr.io/dapr/daprd:1.11.1`) * Default sidecar images: `daprio/daprd:<version>` or `ghcr.io/dapr/daprd:<version>` (for example `ghcr.io/dapr/daprd:1.11.1`)
* Sidecar images for stable components: `daprio/daprd:<version>-stablecomponents` or `ghcr.io/dapr/daprd:<version>-stablecomponents` (for example `ghcr.io/dapr/daprd:1.11.1-stablecomponents`) * Sidecar images for stable components: `daprio/daprd:<version>-stablecomponents` or `ghcr.io/dapr/daprd:<version>-stablecomponents` (for example `ghcr.io/dapr/daprd:1.11.1-stablecomponents`)
On Kubernetes, the sidecar image can be overwritten for the application Deployment resource with the `dapr.io/sidecar-image` annotation. See more about [Dapr's arguments and annotations]({{<ref "arguments-annotations-overview.md" >}}). The default 'daprio/daprd:latest' image is used if not specified. On Kubernetes, the sidecar image can be overwritten for the application Deployment resource with the `dapr.io/sidecar-image` annotation. See more about [Dapr's arguments and annotations]({{< ref "arguments-annotations-overview.md" >}}). The default 'daprio/daprd:latest' image is used if not specified.
Learn more about [Dapr components' certification lifecycle]({{<ref "certification-lifecycle.md" >}}). Learn more about [Dapr components' certification lifecycle]({{< ref "certification-lifecycle.md" >}}).
## Supported versions ## Supported versions
The table below shows the versions of Dapr releases that have been tested together and form a "packaged" release. Any other combinations of releases are not supported. The table below shows the versions of Dapr releases that have been tested together and form a "packaged" release. Any other combinations of releases are not supported.
| Release date | Runtime | CLI | SDKs | Dashboard | Status | | Release date | Runtime | CLI | SDKs | Dashboard | Status | Release notes |
|--------------------|:--------:|:--------|---------|---------|---------| |--------------------|:--------:|:--------|---------|---------|---------|------------|
| June 22nd 2023 | 1.11.1</br> | 1.11.0 | Java 1.9.0 </br>Go 1.8.0 </br>PHP 1.1.0 </br>Python 1.10.0 </br>.NET 1.11.0 </br>JS 3.1.0 | 0.13.0 | Supported (current) | | July 20th 2023 | 1.11.2</br> | 1.11.0 | Java 1.9.0 </br>Go 1.8.0 </br>PHP 1.1.0 </br>Python 1.10.0 </br>.NET 1.11.0 </br>JS 3.1.0 | 0.13.0 | Supported (current) | [v1.11.2 release notes](https://github.com/dapr/dapr/releases/tag/v1.11.2) |
| June 12th 2023 | 1.11.0</br> | 1.11.0 | Java 1.9.0 </br>Go 1.8.0 </br>PHP 1.1.0 </br>Python 1.10.0 </br>.NET 1.11.0 </br>JS 3.1.0 | 0.13.0 | Supported (current) | | June 22nd 2023 | 1.11.1</br> | 1.11.0 | Java 1.9.0 </br>Go 1.8.0 </br>PHP 1.1.0 </br>Python 1.10.0 </br>.NET 1.11.0 </br>JS 3.1.0 | 0.13.0 | Supported (current) | [v1.11.1 release notes](https://github.com/dapr/dapr/releases/tag/v1.11.1) |
| May 15th 2023 | 1.10.7</br> | 1.10.0 | Java 1.8.0 </br>Go 1.7.0 </br>PHP 1.1.0 </br>Python 1.9.0 </br>.NET 1.10.0 </br>JS 3.0.0 | 0.11.0 | Supported | | June 12th 2023 | 1.11.0</br> | 1.11.0 | Java 1.9.0 </br>Go 1.8.0 </br>PHP 1.1.0 </br>Python 1.10.0 </br>.NET 1.11.0 </br>JS 3.1.0 | 0.13.0 | Supported (current) | [v1.11.0 release notes](https://github.com/dapr/dapr/releases/tag/v1.11.0) |
| May 12th 2023 | 1.10.6</br> | 1.10.0 | Java 1.8.0 </br>Go 1.7.0 </br>PHP 1.1.0 </br>Python 1.9.0 </br>.NET 1.10.0 </br>JS 3.0.0 | 0.11.0 | Supported | | July 20th 2023 | 1.10.9</br> | 1.10.0 | Java 1.8.0 </br>Go 1.7.0 </br>PHP 1.1.0 </br>Python 1.9.0 </br>.NET 1.10.0 </br>JS 3.0.0 | 0.11.0 | Supported | [v1.10.9 release notes](https://github.com/dapr/dapr/releases/tag/v1.10.9) |
| April 13 2023 |1.10.5</br> | 1.10.0 | Java 1.8.0 </br>Go 1.6.0 </br>PHP 1.1.0 </br>Python 1.9.0 </br>.NET 1.10.0 </br>JS 3.0.0 | 0.11.0 | Supported (current) | | June 22nd 2023 | 1.10.8</br> | 1.10.0 | Java 1.8.0 </br>Go 1.7.0 </br>PHP 1.1.0 </br>Python 1.9.0 </br>.NET 1.10.0 </br>JS 3.0.0 | 0.11.0 | Supported | [v1.10.8 release notes](https://github.com/dapr/dapr/releases/tag/v1.10.8) |
| March 16 2023 | 1.10.4</br> | 1.10.0 | Java 1.8.0 </br>Go 1.6.0 </br>PHP 1.1.0 </br>Python 1.9.0 </br>.NET 1.10.0 </br>JS 2.5.0 | 0.11.0 | Supported | | May 15th 2023 | 1.10.7</br> | 1.10.0 | Java 1.8.0 </br>Go 1.7.0 </br>PHP 1.1.0 </br>Python 1.9.0 </br>.NET 1.10.0 </br>JS 3.0.0 | 0.11.0 | Supported | |
| March 14 2023 | 1.10.3</br> | 1.10.0 | Java 1.8.0 </br>Go 1.6.0 </br>PHP 1.1.0 </br>Python 1.9.0 </br>.NET 1.10.0 </br>JS 2.5.0 | 0.11.0 | Supported | | May 12th 2023 | 1.10.6</br> | 1.10.0 | Java 1.8.0 </br>Go 1.7.0 </br>PHP 1.1.0 </br>Python 1.9.0 </br>.NET 1.10.0 </br>JS 3.0.0 | 0.11.0 | Supported | |
| February 24 2023 | 1.10.2</br> | 1.10.0 | Java 1.8.0 </br>Go 1.6.0 </br>PHP 1.1.0 </br>Python 1.9.0 </br>.NET 1.10.0 </br>JS 2.5.0 | 0.11.0 | Supported | | April 13 2023 |1.10.5</br> | 1.10.0 | Java 1.8.0 </br>Go 1.6.0 </br>PHP 1.1.0 </br>Python 1.9.0 </br>.NET 1.10.0 </br>JS 3.0.0 | 0.11.0 | Supported | |
| February 20 2023 | 1.10.1</br> | 1.10.0 | Java 1.8.0 </br>Go 1.6.0 </br>PHP 1.1.0 </br>Python 1.9.0 </br>.NET 1.10.0 </br>JS 2.5.0 | 0.11.0 | Supported | | March 16 2023 | 1.10.4</br> | 1.10.0 | Java 1.8.0 </br>Go 1.6.0 </br>PHP 1.1.0 </br>Python 1.9.0 </br>.NET 1.10.0 </br>JS 2.5.0 | 0.11.0 | Supported | |
| February 14 2023 | 1.10.0</br> | 1.10.0 | Java 1.8.0 </br>Go 1.6.0 </br>PHP 1.1.0 </br>Python 1.9.0 </br>.NET 1.10.0 </br>JS 2.5.0 | 0.11.0 | Supported| | March 14 2023 | 1.10.3</br> | 1.10.0 | Java 1.8.0 </br>Go 1.6.0 </br>PHP 1.1.0 </br>Python 1.9.0 </br>.NET 1.10.0 </br>JS 2.5.0 | 0.11.0 | Supported | |
| December 2nd 2022 | 1.9.5</br> | 1.9.1 | Java 1.7.0 </br>Go 1.6.0 </br>PHP 1.1.0 </br>Python 1.8.3 </br>.NET 1.9.0 </br>JS 2.4.2 | 0.11.0 | Supported | | February 24 2023 | 1.10.2</br> | 1.10.0 | Java 1.8.0 </br>Go 1.6.0 </br>PHP 1.1.0 </br>Python 1.9.0 </br>.NET 1.10.0 </br>JS 2.5.0 | 0.11.0 | Supported | |
| November 17th 2022 | 1.9.4</br> | 1.9.1 | Java 1.7.0 </br>Go 1.6.0 </br>PHP 1.1.0 </br>Python 1.8.3 </br>.NET 1.9.0 </br>JS 2.4.2 | 0.11.0 | Supported | | February 20 2023 | 1.10.1</br> | 1.10.0 | Java 1.8.0 </br>Go 1.6.0 </br>PHP 1.1.0 </br>Python 1.9.0 </br>.NET 1.10.0 </br>JS 2.5.0 | 0.11.0 | Supported | |
| November 4th 2022 | 1.9.3</br> | 1.9.1 | Java 1.7.0 </br>Go 1.6.0 </br>PHP 1.1.0 </br>Python 1.8.3 </br>.NET 1.9.0 </br>JS 2.4.2 | 0.11.0 | Supported | | February 14 2023 | 1.10.0</br> | 1.10.0 | Java 1.8.0 </br>Go 1.6.0 </br>PHP 1.1.0 </br>Python 1.9.0 </br>.NET 1.10.0 </br>JS 2.5.0 | 0.11.0 | Supported| |
| November 1st 2022 | 1.9.2</br> | 1.9.1 | Java 1.7.0 </br>Go 1.6.0 </br>PHP 1.1.0 </br>Python 1.8.1 </br>.NET 1.9.0 </br>JS 2.4.2 | 0.11.0 | Supported | | December 2nd 2022 | 1.9.5</br> | 1.9.1 | Java 1.7.0 </br>Go 1.6.0 </br>PHP 1.1.0 </br>Python 1.8.3 </br>.NET 1.9.0 </br>JS 2.4.2 | 0.11.0 | Supported | |
| October 26th 2022 | 1.9.1</br> | 1.9.1 | Java 1.7.0 </br>Go 1.6.0 </br>PHP 1.1.0 </br>Python 1.8.1 </br>.NET 1.9.0 </br>JS 2.4.2 | 0.11.0 | Supported | | November 17th 2022 | 1.9.4</br> | 1.9.1 | Java 1.7.0 </br>Go 1.6.0 </br>PHP 1.1.0 </br>Python 1.8.3 </br>.NET 1.9.0 </br>JS 2.4.2 | 0.11.0 | Supported | |
| October 13th 2022 | 1.9.0</br> | 1.9.1 | Java 1.7.0 </br>Go 1.6.0 </br>PHP 1.1.0 </br>Python 1.8.3 </br>.NET 1.9.0 </br>JS 2.4.2 | 0.11.0 | Supported | | November 4th 2022 | 1.9.3</br> | 1.9.1 | Java 1.7.0 </br>Go 1.6.0 </br>PHP 1.1.0 </br>Python 1.8.3 </br>.NET 1.9.0 </br>JS 2.4.2 | 0.11.0 | Supported | |
| October 26th 2022 | 1.8.6</br> | 1.8.1 | Java 1.6.0 </br>Go 1.5.0 </br>PHP 1.1.0 </br>Python 1.7.0 </br>.NET 1.8.0 </br>JS 2.3.0 | 0.11.0 | Supported | | November 1st 2022 | 1.9.2</br> | 1.9.1 | Java 1.7.0 </br>Go 1.6.0 </br>PHP 1.1.0 </br>Python 1.8.1 </br>.NET 1.9.0 </br>JS 2.4.2 | 0.11.0 | Supported | |
| October 13th 2022 | 1.8.5</br> | 1.8.1 | Java 1.6.0 </br>Go 1.5.0 </br>PHP 1.1.0 </br>Python 1.7.0 </br>.NET 1.8.0 </br>JS 2.3.0 | 0.11.0 | Supported | | October 26th 2022 | 1.9.1</br> | 1.9.1 | Java 1.7.0 </br>Go 1.6.0 </br>PHP 1.1.0 </br>Python 1.8.1 </br>.NET 1.9.0 </br>JS 2.4.2 | 0.11.0 | Supported | |
| August 10th 2022 | 1.8.4</br> | 1.8.1 | Java 1.6.0 </br>Go 1.5.0 </br>PHP 1.1.0 </br>Python 1.7.0 </br>.NET 1.8.0 </br>JS 2.3.0 | 0.11.0 | Supported | | October 13th 2022 | 1.9.0</br> | 1.9.1 | Java 1.7.0 </br>Go 1.6.0 </br>PHP 1.1.0 </br>Python 1.8.3 </br>.NET 1.9.0 </br>JS 2.4.2 | 0.11.0 | Supported | |
| July 29th 2022 | 1.8.3</br> | 1.8.0 | Java 1.6.0 </br>Go 1.5.0 </br>PHP 1.1.0 </br>Python 1.7.0 </br>.NET 1.8.0 </br>JS 2.3.0 | 0.11.0 | Supported | | October 26th 2022 | 1.8.6</br> | 1.8.1 | Java 1.6.0 </br>Go 1.5.0 </br>PHP 1.1.0 </br>Python 1.7.0 </br>.NET 1.8.0 </br>JS 2.3.0 | 0.11.0 | Unsupported | |
| July 21st 2022 | 1.8.2</br> | 1.8.0 | Java 1.6.0 </br>Go 1.5.0 </br>PHP 1.1.0 </br>Python 1.7.0 </br>.NET 1.8.0 </br>JS 2.3.0 | 0.11.0 | Supported | | October 13th 2022 | 1.8.5</br> | 1.8.1 | Java 1.6.0 </br>Go 1.5.0 </br>PHP 1.1.0 </br>Python 1.7.0 </br>.NET 1.8.0 </br>JS 2.3.0 | 0.11.0 | Unsupported | |
| July 20th 2022 | 1.8.1</br> | 1.8.0 | Java 1.6.0 </br>Go 1.5.0 </br>PHP 1.1.0 </br>Python 1.7.0 </br>.NET 1.8.0 </br>JS 2.3.0 | 0.11.0 | Supported | | August 10th 2022 | 1.8.4</br> | 1.8.1 | Java 1.6.0 </br>Go 1.5.0 </br>PHP 1.1.0 </br>Python 1.7.0 </br>.NET 1.8.0 </br>JS 2.3.0 | 0.11.0 | Unsupported | |
| July 7th 2022 | 1.8.0</br> | 1.8.0 | Java 1.6.0 </br>Go 1.5.0 </br>PHP 1.1.0 </br>Python 1.7.0 </br>.NET 1.8.0 </br>JS 2.3.0 | 0.11.0 | Supported | | July 29th 2022 | 1.8.3</br> | 1.8.0 | Java 1.6.0 </br>Go 1.5.0 </br>PHP 1.1.0 </br>Python 1.7.0 </br>.NET 1.8.0 </br>JS 2.3.0 | 0.11.0 | Unsupported | |
| October 26th 2022 | 1.7.5</br> | 1.7.0 | Java 1.5.0 </br>Go 1.4.0 </br>PHP 1.1.0 </br>Python 1.6.0 </br>.NET 1.7.0 </br>JS 2.2.1 | 0.10.0 | Supported | | July 21st 2022 | 1.8.2</br> | 1.8.0 | Java 1.6.0 </br>Go 1.5.0 </br>PHP 1.1.0 </br>Python 1.7.0 </br>.NET 1.8.0 </br>JS 2.3.0 | 0.11.0 | Unsupported | |
| May 31st 2022 | 1.7.4</br> | 1.7.0 | Java 1.5.0 </br>Go 1.4.0 </br>PHP 1.1.0 </br>Python 1.6.0 </br>.NET 1.7.0 </br>JS 2.2.1 | 0.10.0 | Supported | | July 20th 2022 | 1.8.1</br> | 1.8.0 | Java 1.6.0 </br>Go 1.5.0 </br>PHP 1.1.0 </br>Python 1.7.0 </br>.NET 1.8.0 </br>JS 2.3.0 | 0.11.0 | Unsupported | |
| May 17th 2022 | 1.7.3</br> | 1.7.0 | Java 1.5.0 </br>Go 1.4.0 </br>PHP 1.1.0 </br>Python 1.6.0 </br>.NET 1.7.0 </br>JS 2.2.1 | 0.10.0 | Supported | | July 7th 2022 | 1.8.0</br> | 1.8.0 | Java 1.6.0 </br>Go 1.5.0 </br>PHP 1.1.0 </br>Python 1.7.0 </br>.NET 1.8.0 </br>JS 2.3.0 | 0.11.0 | Unsupported | |
| Apr 22th 2022 | 1.7.2</br> | 1.7.0 | Java 1.5.0 </br>Go 1.4.0 </br>PHP 1.1.0 </br>Python 1.6.0 </br>.NET 1.7.0 </br>JS 2.1.0 | 0.10.0 | Supported | | October 26th 2022 | 1.7.5</br> | 1.7.0 | Java 1.5.0 </br>Go 1.4.0 </br>PHP 1.1.0 </br>Python 1.6.0 </br>.NET 1.7.0 </br>JS 2.2.1 | 0.10.0 | Unsupported | |
| Apr 20th 2022 | 1.7.1</br> | 1.7.0 | Java 1.5.0 </br>Go 1.4.0 </br>PHP 1.1.0 </br>Python 1.6.0 </br>.NET 1.7.0 </br>JS 2.1.0 | 0.10.0 | Supported | | May 31st 2022 | 1.7.4</br> | 1.7.0 | Java 1.5.0 </br>Go 1.4.0 </br>PHP 1.1.0 </br>Python 1.6.0 </br>.NET 1.7.0 </br>JS 2.2.1 | 0.10.0 | Unsupported | |
| Apr 7th 2022 | 1.7.0</br> | 1.7.0 | Java 1.5.0 </br>Go 1.4.0 </br>PHP 1.1.0 </br>Python 1.6.0 </br>.NET 1.7.0 </br>JS 2.1.0 | 0.10.0 | Supported | | May 17th 2022 | 1.7.3</br> | 1.7.0 | Java 1.5.0 </br>Go 1.4.0 </br>PHP 1.1.0 </br>Python 1.6.0 </br>.NET 1.7.0 </br>JS 2.2.1 | 0.10.0 | Unsupported | |
| Apr 20th 2022 | 1.6.2</br> | 1.6.0 | Java 1.4.0 </br>Go 1.3.1 </br>PHP 1.1.0 </br>Python 1.5.0 </br>.NET 1.6.0 </br>JS 2.0.0 | 0.9.0 | Unsupported | | Apr 22th 2022 | 1.7.2</br> | 1.7.0 | Java 1.5.0 </br>Go 1.4.0 </br>PHP 1.1.0 </br>Python 1.6.0 </br>.NET 1.7.0 </br>JS 2.1.0 | 0.10.0 | Unsupported | |
| Mar 25th 2022 | 1.6.1</br> | 1.6.0 | Java 1.4.0 </br>Go 1.3.1 </br>PHP 1.1.0 </br>Python 1.5.0 </br>.NET 1.6.0 </br>JS 2.0.0 | 0.9.0 | Unsupported | | Apr 20th 2022 | 1.7.1</br> | 1.7.0 | Java 1.5.0 </br>Go 1.4.0 </br>PHP 1.1.0 </br>Python 1.6.0 </br>.NET 1.7.0 </br>JS 2.1.0 | 0.10.0 | Unsupported | |
| Jan 25th 2022 | 1.6.0</br> | 1.6.0 | Java 1.4.0 </br>Go 1.3.1 </br>PHP 1.1.0 </br>Python 1.5.0 </br>.NET 1.6.0 </br>JS 2.0.0 | 0.9.0 | Unsupported | | Apr 7th 2022 | 1.7.0</br> | 1.7.0 | Java 1.5.0 </br>Go 1.4.0 </br>PHP 1.1.0 </br>Python 1.6.0 </br>.NET 1.7.0 </br>JS 2.1.0 | 0.10.0 | Unsupported | |
| Mar 25th 2022 | 1.5.2</br> | 1.6.0 | Java 1.3.0 </br>Go 1.3.0 </br>PHP 1.1.0 </br>Python 1.4.0 </br>.NET 1.5.0 </br>JS 1.0.2 | 0.9.0 | Unsupported | | Apr 20th 2022 | 1.6.2</br> | 1.6.0 | Java 1.4.0 </br>Go 1.3.1 </br>PHP 1.1.0 </br>Python 1.5.0 </br>.NET 1.6.0 </br>JS 2.0.0 | 0.9.0 | Unsupported | |
| Dec 6th 2021 | 1.5.1</br> | 1.5.1 | Java 1.3.0 </br>Go 1.3.0 </br>PHP 1.1.0 </br>Python 1.4.0 </br>.NET 1.5.0 </br>JS 1.0.2 | 0.9.0 | Unsupported | | Mar 25th 2022 | 1.6.1</br> | 1.6.0 | Java 1.4.0 </br>Go 1.3.1 </br>PHP 1.1.0 </br>Python 1.5.0 </br>.NET 1.6.0 </br>JS 2.0.0 | 0.9.0 | Unsupported | |
| Nov 11th 2021 | 1.5.0</br> | 1.5.0 | Java 1.3.0 </br>Go 1.3.0 </br>PHP 1.1.0 </br>Python 1.4.0 </br>.NET 1.5.0 </br>JS 1.0.2 | 0.9.0 | Unsupported | | Jan 25th 2022 | 1.6.0</br> | 1.6.0 | Java 1.4.0 </br>Go 1.3.1 </br>PHP 1.1.0 </br>Python 1.5.0 </br>.NET 1.6.0 </br>JS 2.0.0 | 0.9.0 | Unsupported | |
| Dev 6th 2021 | 1.4.4</br> | 1.4.0 | Java 1.3.0 </br>Go 1.2.0 </br>PHP 1.1.0 </br>Python 1.3.0 </br>.NET 1.4.0 | 0.8.0 | Unsupported | | Mar 25th 2022 | 1.5.2</br> | 1.6.0 | Java 1.3.0 </br>Go 1.3.0 </br>PHP 1.1.0 </br>Python 1.4.0 </br>.NET 1.5.0 </br>JS 1.0.2 | 0.9.0 | Unsupported | |
| Oct 7th 2021 | 1.4.3</br> | 1.4.0 | Java 1.3.0 </br>Go 1.2.0 </br>PHP 1.1.0 </br>Python 1.3.0 </br>.NET 1.4.0 | 0.8.0 | Unsupported | | Dec 6th 2021 | 1.5.1</br> | 1.5.1 | Java 1.3.0 </br>Go 1.3.0 </br>PHP 1.1.0 </br>Python 1.4.0 </br>.NET 1.5.0 </br>JS 1.0.2 | 0.9.0 | Unsupported | |
| Sep 24th 2021 | 1.4.2</br> | 1.4.0 | Java 1.3.0 </br>Go 1.2.0 </br>PHP 1.1.0 </br>Python 1.3.0 </br>.NET 1.4.0 | 0.8.0 | Unsupported | | Nov 11th 2021 | 1.5.0</br> | 1.5.0 | Java 1.3.0 </br>Go 1.3.0 </br>PHP 1.1.0 </br>Python 1.4.0 </br>.NET 1.5.0 </br>JS 1.0.2 | 0.9.0 | Unsupported | |
| Sep 22nd 2021 | 1.4.1</br> | 1.4.0 | Java 1.3.0 </br>Go 1.2.0 </br>PHP 1.1.0 </br>Python 1.3.0 </br>.NET 1.4.0 | 0.8.0 | Unsupported | | Dev 6th 2021 | 1.4.4</br> | 1.4.0 | Java 1.3.0 </br>Go 1.2.0 </br>PHP 1.1.0 </br>Python 1.3.0 </br>.NET 1.4.0 | 0.8.0 | Unsupported | |
| Sep 15th 2021 | 1.4</br> | 1.4.0 | Java 1.3.0 </br>Go 1.2.0 </br>PHP 1.1.0 </br>Python 1.3.0 </br>.NET 1.4.0 | 0.8.0 | Unsupported | | Oct 7th 2021 | 1.4.3</br> | 1.4.0 | Java 1.3.0 </br>Go 1.2.0 </br>PHP 1.1.0 </br>Python 1.3.0 </br>.NET 1.4.0 | 0.8.0 | Unsupported | |
| Sep 14th 2021 | 1.3.1</br> | 1.3.0 | Java 1.2.0 </br>Go 1.2.0 </br>PHP 1.1.0 </br>Python 1.2.0 </br>.NET 1.3.0 | 0.7.0 | Unsupported | | Sep 24th 2021 | 1.4.2</br> | 1.4.0 | Java 1.3.0 </br>Go 1.2.0 </br>PHP 1.1.0 </br>Python 1.3.0 </br>.NET 1.4.0 | 0.8.0 | Unsupported | |
| Jul 26th 2021 | 1.3</br> | 1.3.0 | Java 1.2.0 </br>Go 1.2.0 </br>PHP 1.1.0 </br>Python 1.2.0 </br>.NET 1.3.0 | 0.7.0 | Unsupported | | Sep 22nd 2021 | 1.4.1</br> | 1.4.0 | Java 1.3.0 </br>Go 1.2.0 </br>PHP 1.1.0 </br>Python 1.3.0 </br>.NET 1.4.0 | 0.8.0 | Unsupported | |
| Sep 15th 2021 | 1.4</br> | 1.4.0 | Java 1.3.0 </br>Go 1.2.0 </br>PHP 1.1.0 </br>Python 1.3.0 </br>.NET 1.4.0 | 0.8.0 | Unsupported | |
| Sep 14th 2021 | 1.3.1</br> | 1.3.0 | Java 1.2.0 </br>Go 1.2.0 </br>PHP 1.1.0 </br>Python 1.2.0 </br>.NET 1.3.0 | 0.7.0 | Unsupported | |
| Jul 26th 2021 | 1.3</br> | 1.3.0 | Java 1.2.0 </br>Go 1.2.0 </br>PHP 1.1.0 </br>Python 1.2.0 </br>.NET 1.3.0 | 0.7.0 | Unsupported | |
## Upgrade paths ## Upgrade paths
@ -118,7 +121,7 @@ General guidance on upgrading can be found for [self hosted mode]({{< ref self-h
| 1.8.0 to 1.8.6 | N/A | 1.9.6 | | 1.8.0 to 1.8.6 | N/A | 1.9.6 |
| 1.9.0 | N/A | 1.9.6 | | 1.9.0 | N/A | 1.9.6 |
| 1.10.0 | N/A | 1.10.8 | | 1.10.0 | N/A | 1.10.8 |
| 1.11.0 | N/A | 1.11.1 | | 1.11.0 | N/A | 1.11.2 |
## Upgrade on Hosting platforms ## Upgrade on Hosting platforms

View File

@ -40,13 +40,18 @@ If running on kubernetes apply the component to your cluster.
### Binding direction (optional) ### Binding direction (optional)
In some scenarios, it would be useful to provide additional information to Dapr to indicate the direction supported by the binding component. In some scenarios, it would be useful to provide additional information to Dapr to indicate the direction supported by the binding component.
Providing the supported binding direction helps the Dapr sidecar avoid the `"wait for the app to become ready"` state, where it waits indefinitely for the application to become available.
Providing the binding `direction` helps the Dapr sidecar avoid the `"wait for the app to become ready"` state, where it waits indefinitely for the application to become available. This decouples the lifecycle dependency between the Dapr sidecar and the application.
You can specify the `direction` field as part of the component's metadata. The valid values for this field are: You can specify the `direction` field as part of the component's metadata. The valid values for this field are:
- `"input"` - `"input"`
- `"output"` - `"output"`
- `"input, output"` - `"input, output"`
{{% alert title="Note" color="primary" %}}
It is highly recommended that all bindings should include the `direction` property.
{{% /alert %}}
Here a few scenarios when the `"direction"` metadata field could help: Here a few scenarios when the `"direction"` metadata field could help:
- When an application (detached from the sidecar) runs as a serverless workload and is scaled to zero, the `"wait for the app to become ready"` check done by the Dapr sidecar becomes pointless. - When an application (detached from the sidecar) runs as a serverless workload and is scaled to zero, the `"wait for the app to become ready"` check done by the Dapr sidecar becomes pointless.

View File

@ -21,7 +21,7 @@ GET http://localhost:<daprPort>/v1.0/configuration/<storename>
Parameter | Description Parameter | Description
--------- | ----------- --------- | -----------
`daprPort` | The Dapr port `daprPort` | The Dapr port
`storename` | The `metadata.name` field component file. Refer to the [component schema]({{< ref component-schema.md>}}) `storename` | The `metadata.name` field component file. Refer to the [component spec]({{< ref component-schema.md>}})
#### Query Parameters #### Query Parameters
@ -83,7 +83,7 @@ GET http://localhost:<daprPort>/v1.0/configuration/<storename>/subscribe
Parameter | Description Parameter | Description
--------- | ----------- --------- | -----------
`daprPort` | The Dapr port `daprPort` | The Dapr port
`storename` | The `metadata.name` field component file. Refer to the [component schema]({{< ref component-schema.md>}}) `storename` | The `metadata.name` field component file. Refer to the [component spec]({{< ref component-schema.md>}})
#### Query Parameters #### Query Parameters
@ -149,7 +149,7 @@ GET http://localhost:<daprPort>/v1.0/configuration/<storename>/<subscription-id>
Parameter | Description Parameter | Description
--------- | ----------- --------- | -----------
`daprPort` | The Dapr port `daprPort` | The Dapr port
`storename` | The `metadata.name` field component file. Refer to the [component schema]({{< ref component-schema.md>}}) `storename` | The `metadata.name` field component file. Refer to the [component spec]({{< ref component-schema.md>}})
`subscription-id` | The value from the `id` field returned from the response of the subscribe endpoint `subscription-id` | The value from the `id` field returned from the response of the subscribe endpoint
#### Query Parameters #### Query Parameters
@ -172,7 +172,7 @@ Code | Description
#### Response Body #### Response Body
``` ```json
{ {
"ok" : true "ok" : true
} }
@ -181,7 +181,25 @@ Code | Description
### Example ### Example
```shell ```shell
curl -X GET 'http://localhost:3500/v1.0/configuration/mystore/bf3aa454-312d-403c-af95-6dec65058fa2/unsubscribe' curl -X GET 'http://localhost:3500/v1.0-alpha1/configuration/mystore/bf3aa454-312d-403c-af95-6dec65058fa2/unsubscribe'
```
> The above command returns the following JSON:
In case of successful operation:
```json
{
"ok": true
}
```
In case of unsuccessful operation:
```json
{
"ok": false,
"message": "<dapr returned error message>"
}
``` ```
## Optional application (user code) routes ## Optional application (user code) routes
@ -201,7 +219,7 @@ POST http://localhost:<appPort>/configuration/<store-name>/<key>
Parameter | Description Parameter | Description
--------- | ----------- --------- | -----------
`appPort` | The application port `appPort` | The application port
`storename` | The `metadata.name` field component file. Refer to the [component schema]({{< ref component-schema.md>}}) `storename` | The `metadata.name` field component file. Refer to the [component spec]({{< ref component-schema.md>}})
`key` | The key subscribed to `key` | The key subscribed to
#### Request Body #### Request Body

View File

@ -27,7 +27,7 @@ dapr run [flags] [command]
| `--app-max-concurrency` | | `unlimited` | The concurrency level of the application; default is unlimited | | `--app-max-concurrency` | | `unlimited` | The concurrency level of the application; default is unlimited |
| `--app-port`, `-p` | `APP_PORT` | | The port your application is listening on | | `--app-port`, `-p` | `APP_PORT` | | The port your application is listening on |
| `--app-protocol`, `-P` | | `http` | The protocol Dapr uses to talk to the application. Valid values are: `http`, `grpc`, `https` (HTTP with TLS), `grpcs` (gRPC with TLS), `h2c` (HTTP/2 Cleartext) | | `--app-protocol`, `-P` | | `http` | The protocol Dapr uses to talk to the application. Valid values are: `http`, `grpc`, `https` (HTTP with TLS), `grpcs` (gRPC with TLS), `h2c` (HTTP/2 Cleartext) |
| `--resources-path`, `-d` | | Linux/Mac: `$HOME/.dapr/components` <br/>Windows: `%USERPROFILE%\.dapr\components` | The path for components directory | | `--resources-path`, `-d` | | Linux/Mac: `$HOME/.dapr/components` <br/>Windows: `%USERPROFILE%\.dapr\components` | The path for resources directory. If you've organized your resources into multiple folders (for example, components in one folder, resiliency policies in another), you can define multiple resource paths. See [example]({{< ref "#examples" >}}) below. |
| `--app-channel-address` | | `127.0.0.1` | The network address the application listens on | | `--app-channel-address` | | `127.0.0.1` | The network address the application listens on |
| `--runtime-path` | | | Dapr runtime install path | | `--runtime-path` | | | Dapr runtime install path |
| `--config`, `-c` | | Linux/Mac: `$HOME/.dapr/config.yaml` <br/>Windows: `%USERPROFILE%\.dapr\config.yaml` | Dapr configuration file | | `--config`, `-c` | | Linux/Mac: `$HOME/.dapr/config.yaml` <br/>Windows: `%USERPROFILE%\.dapr\config.yaml` | Dapr configuration file |
@ -78,4 +78,7 @@ dapr run --app-id myapp --app-port 5000 --app-protocol grpc -- go run main.go
# Run a NodeJs application that listens to port 3000 with API logging enabled # Run a NodeJs application that listens to port 3000 with API logging enabled
dapr run --app-id myapp --app-port 3000 --enable-api-logging -- node myapp.js dapr run --app-id myapp --app-port 3000 --enable-api-logging -- node myapp.js
# Pass multiple resource paths
dapr run --app-id myapp --resources-path path1 --resources-path path2
``` ```

View File

@ -23,16 +23,21 @@ spec:
value: "https://oapi.dingtalk.com/robot/send?access_token=******" value: "https://oapi.dingtalk.com/robot/send?access_token=******"
- name: secret - name: secret
value: "****************" value: "****************"
- name: direction
value: "input, output"
``` ```
{{% alert title="Warning" color="warning" %}} {{% alert title="Warning" color="warning" %}}
The above example uses secrets as plain strings. It is recommended to use a secret store for the secrets as described [here]({{< ref component-secrets.md >}}). The above example uses secrets as plain strings. It is recommended to use a secret store for the secrets as described [here]({{< ref component-secrets.md >}}).
{{% /alert %}} {{% /alert %}}
## Spec metadata fields ## Spec metadata fields
| Field | Required | Binding support | Details | Example | | Field | Required | Binding support | Details | Example |
|--------------------|:--------:|--------|--------|---------| |--------------------|:--------:|--------|--------|---------|
| id | Y | Input/Output |unique id| `"test_webhook_id"` | `id` | Y | Input/Output |Unique id| `"test_webhook_id"`
| url | Y | Input/Output |DingTalk's Webhook url | `"https://oapi.dingtalk.com/robot/send?access_token=******"` | `url` | Y | Input/Output |DingTalk's Webhook url | `"https://oapi.dingtalk.com/robot/send?access_token=******"`
| secret | N | Input/Output |the secret of DingTalk's Webhook | `"****************"` | `secret` | N | Input/Output |The secret of DingTalk's Webhook | `"****************"`
| `direction` | N | Input/Output |The direction of the binding | `"input"`, `"output"`, `"input, output"`
## Binding support ## Binding support

View File

@ -28,6 +28,8 @@ spec:
value: "[access-key]" value: "[access-key]"
- name: bucket - name: bucket
value: "[bucket]" value: "[bucket]"
- name: direction
value: "output"
``` ```
{{% alert title="Warning" color="warning" %}} {{% alert title="Warning" color="warning" %}}
@ -42,6 +44,7 @@ The above example uses secrets as plain strings. It is recommended to use a secr
| `accessKeyID` | Y | Output | Access key ID credential. | | `accessKeyID` | Y | Output | Access key ID credential. |
| `accessKey` | Y | Output | Access key credential. | | `accessKey` | Y | Output | Access key credential. |
| `bucket` | Y | Output | Name of the storage bucket. | | `bucket` | Y | Output | Name of the storage bucket. |
| `direction` | N | Output | Direction of the binding. | `"output"`
## Binding support ## Binding support

View File

@ -26,6 +26,8 @@ spec:
value: "[accessKey-secret]" value: "[accessKey-secret]"
- name: Endpoint - name: Endpoint
value: "[endpoint]" value: "[endpoint]"
- name: direction
value: "output"
``` ```
## Spec metadata fields ## Spec metadata fields
@ -35,6 +37,7 @@ spec:
| `AccessKeyID` | Y | Output | Access key ID credential. | | `AccessKeyID` | Y | Output | Access key ID credential. |
| `AccessKeySecret` | Y | Output | Access key credential secret | | `AccessKeySecret` | Y | Output | Access key credential secret |
| `Endpoint` | Y | Output | Alicloud SLS endpoint. | | `Endpoint` | Y | Output | Alicloud SLS endpoint. |
| `direction` | N | Output | Direction of the binding. | `"output"`
## Binding support ## Binding support

View File

@ -32,6 +32,8 @@ spec:
value: "[table]" value: "[table]"
- name: endpoint - name: endpoint
value: "[endpoint]" value: "[endpoint]"
- name: direction
value: "output"
``` ```
{{% alert title="Warning" color="warning" %}} {{% alert title="Warning" color="warning" %}}
@ -47,6 +49,7 @@ The above example uses secrets as plain strings. It is recommended to use a secr
| `accessKey` | Y | Output | Access key credential. | | `accessKey` | Y | Output | Access key credential. |
| `instanceName` | Y | Output | Name of the instance. | | `instanceName` | Y | Output | Name of the instance. |
| `tableName` | Y | Output | Name of the table. | | `tableName` | Y | Output | Name of the table. |
| `direction` | N | Output | Direction of the binding. | `"output"`
## Binding support ## Binding support

View File

@ -21,24 +21,27 @@ spec:
version: v1 version: v1
metadata: metadata:
- name: development - name: development
value: <bool> value: "<bool>"
- name: key-id - name: key-id
value: <APPLE_KEY_ID> value: "<APPLE_KEY_ID>"
- name: team-id - name: team-id
value: <APPLE_TEAM_ID> value: "<APPLE_TEAM_ID>"
- name: private-key - name: private-key
secretKeyRef: secretKeyRef:
name: <SECRET> name: <SECRET>
key: <SECRET-KEY-NAME> key: "<SECRET-KEY-NAME>"
- name: direction
value: "output"
``` ```
## Spec metadata fields ## Spec metadata fields
| Field | Required | Binding support | Details | Example | | Field | Required | Binding support | Details | Example |
|--------------------|:--------:| ----------------|---------|---------| |--------------------|:--------:| ----------------|---------|---------|
| development | Y | Output | Tells the binding which APNs service to use. Set to `"true"` to use the development service or `"false"` to use the production service. Default: `"true"` | `"true"` | | `development` | Y | Output | Tells the binding which APNs service to use. Set to `"true"` to use the development service or `"false"` to use the production service. Default: `"true"` | `"true"` |
| key-id | Y | Output | The identifier for the private key from the Apple Developer Portal | `"private-key-id`" | | `key-id` | Y | Output | The identifier for the private key from the Apple Developer Portal | `"private-key-id`" |
| team-id | Y | Output | The identifier for the organization or author from the Apple Developer Portal | `"team-id"` | | `team-id` | Y | Output | The identifier for the organization or author from the Apple Developer Portal | `"team-id"` |
| private-key | Y | Output| Is a PKCS #8-formatted private key. It is intended that the private key is stored in the secret store and not exposed directly in the configuration. See [here](#private-key) for more details | `"pem file"` | | `private-key` | Y | Output| Is a PKCS #8-formatted private key. It is intended that the private key is stored in the secret store and not exposed directly in the configuration. See [here](#private-key) for more details | `"pem file"` |
| `direction` | N | Output| The direction of the binding. | `"output"` |
### Private key ### Private key
The APNS binding needs a cryptographic private key in order to generate authentication tokens for the APNS service. The APNS binding needs a cryptographic private key in order to generate authentication tokens for the APNS service.

View File

@ -33,6 +33,8 @@ spec:
# value: <integer> # value: <integer>
# - name: publicAccessLevel # - name: publicAccessLevel
# value: <publicAccessLevel> # value: <publicAccessLevel>
# - name: direction
# value: "output"
``` ```
{{% alert title="Warning" color="warning" %}} {{% alert title="Warning" color="warning" %}}
The above example uses secrets as plain strings. It is recommended to use a secret store for the secrets as described [here]({{< ref component-secrets.md >}}). The above example uses secrets as plain strings. It is recommended to use a secret store for the secrets as described [here]({{< ref component-secrets.md >}}).
@ -49,6 +51,7 @@ The above example uses secrets as plain strings. It is recommended to use a secr
| `decodeBase64` | N | Output | Configuration to decode base64 file content before saving to Blob Storage. (In case of saving a file with binary content). Defaults to `false` | `true`, `false` | | `decodeBase64` | N | Output | Configuration to decode base64 file content before saving to Blob Storage. (In case of saving a file with binary content). Defaults to `false` | `true`, `false` |
| `getBlobRetryCount` | N | Output | Specifies the maximum number of HTTP GET requests that will be made while reading from a RetryReader Defaults to `10` | `1`, `2` | `getBlobRetryCount` | N | Output | Specifies the maximum number of HTTP GET requests that will be made while reading from a RetryReader Defaults to `10` | `1`, `2`
| `publicAccessLevel` | N | Output | Specifies whether data in the container may be accessed publicly and the level of access (only used if the container is created by Dapr). Defaults to `none` | `blob`, `container`, `none` | `publicAccessLevel` | N | Output | Specifies whether data in the container may be accessed publicly and the level of access (only used if the container is created by Dapr). Defaults to `none` | `blob`, `container`, `none`
| `direction` | N | Output | The direction of the binding. | `"output"`
### Azure Active Directory (AAD) authentication ### Azure Active Directory (AAD) authentication

View File

@ -46,6 +46,9 @@ spec:
# URL of the Worker (required if the Worker has been pre-created outside of Dapr) # URL of the Worker (required if the Worker has been pre-created outside of Dapr)
- name: workerUrl - name: workerUrl
value: "" value: ""
# Direction of the binding
- name: direction
value: "output"
``` ```
{{% alert title="Warning" color="warning" %}} {{% alert title="Warning" color="warning" %}}
@ -61,6 +64,7 @@ The above example uses secrets as plain strings. It is recommended to use a secr
| `cfAccountID` | Y/N | Output | Cloudflare account ID. Required to have Dapr manage the worker. | `"456789abcdef8b5588f3d134f74ac"def` | `cfAccountID` | Y/N | Output | Cloudflare account ID. Required to have Dapr manage the worker. | `"456789abcdef8b5588f3d134f74ac"def`
| `cfAPIToken` | Y/N | Output | API token for Cloudflare. Required to have Dapr manage the Worker. | `"secret-key"` | `cfAPIToken` | Y/N | Output | API token for Cloudflare. Required to have Dapr manage the Worker. | `"secret-key"`
| `workerUrl` | Y/N | Output | URL of the Worker. Required if the Worker has been pre-provisioned outside of Dapr. | `"https://mydaprqueue.mydomain.workers.dev"` | `workerUrl` | Y/N | Output | URL of the Worker. Required if the Worker has been pre-provisioned outside of Dapr. | `"https://mydaprqueue.mydomain.workers.dev"`
| `direction` | N | Output | Direction of the binding. | `"output"`
> When you configure Dapr to create your Worker for you, you may need to set a longer value for the `initTimeout` property of the component, to allow enough time for the Worker script to be deployed. For example: `initTimeout: "120s"` > When you configure Dapr to create your Worker for you, you may need to set a longer value for the `initTimeout` property of the component, to allow enough time for the Worker script to be deployed. For example: `initTimeout: "120s"`

View File

@ -23,18 +23,19 @@ spec:
version: v1 version: v1
metadata: metadata:
- name: region # required. - name: region # required.
value: region value: "region"
- name: provider # required. - name: provider # required.
value: provider (gcp/aws) value: "gcp"
- name: projectKey # required. - name: projectKey # required.
value: project-key value: "<project-key>"
- name: clientID # required. - name: clientID # required.
value: ***************** value: "*****************"
- name: clientSecret # required. - name: clientSecret # required.
value: ***************** value: "*****************"
- name: scopes # required. - name: scopes # required.
value: scopes value: "<project-scopes>"
- name: direction
value: "output"
``` ```
{{% alert title="Warning" color="warning" %}} {{% alert title="Warning" color="warning" %}}
The above example uses secrets as plain strings. It is recommended to use a secret store for the secrets as described [here]({{< ref component-secrets.md >}}). The above example uses secrets as plain strings. It is recommended to use a secret store for the secrets as described [here]({{< ref component-secrets.md >}}).
@ -44,12 +45,13 @@ The above example uses secrets as plain strings. It is recommended to use a secr
| Field | Required | Binding support | Details | Example | | Field | Required | Binding support | Details | Example |
|--------------------|:--------:|------------|-----|---------| |--------------------|:--------:|------------|-----|---------|
| region | Y | Output | The region of the commercetools project | `"europe-west1"` | | `region` | Y | Output | The region of the commercetools project | `"europe-west1"` |
| provider | Y | Output | The cloud provider, either gcp or aws | `"gcp"` | | `provider` | Y | Output | The cloud provider, either gcp or aws | `"gcp"`, `"aws"` |
| projectKey | Y | Output | The commercetools project key | `"project-key"` | | `projectKey` | Y | Output | The commercetools project key | |
| clientID | Y | Output | The commercetools client ID for the project | `"client ID"` | | `clientID` | Y | Output | The commercetools client ID for the project | |
| clientSecret | Y | Output | The commercetools client secret for the project | `"client secret"` | | `clientSecret` | Y | Output | The commercetools client secret for the project | |
| scopes | Y | Output | The commercetools scopes for the project | `"manage_project:project-key"` | | `scopes` | Y | Output | The commercetools scopes for the project | `"manage_project:project-key"` |
| `direction` | N | Output | The direction of the binding | `"output"` |
For more information see [commercetools - Creating an API Client](https://docs.commercetools.com/getting-started/create-api-client#create-an-api-client) and [commercetools - Regions](https://docs.commercetools.com/api/general-concepts#regions). For more information see [commercetools - Creating an API Client](https://docs.commercetools.com/getting-started/create-api-client#create-an-api-client) and [commercetools - Regions](https://docs.commercetools.com/api/general-concepts#regions).

View File

@ -22,15 +22,17 @@ spec:
version: v1 version: v1
metadata: metadata:
- name: url - name: url
value: https://******.documents.azure.com:443/ value: "https://******.documents.azure.com:443/"
- name: masterKey - name: masterKey
value: ***** value: "*****"
- name: database - name: database
value: db value: "OrderDb"
- name: collection - name: collection
value: collection value: "Orders"
- name: partitionKey - name: partitionKey
value: message value: "<message>"
- name: direction
value: "output"
``` ```
{{% alert title="Warning" color="warning" %}} {{% alert title="Warning" color="warning" %}}
@ -41,11 +43,12 @@ The above example uses secrets as plain strings. It is recommended to use a secr
| Field | Required | Binding support | Details | Example | | Field | Required | Binding support | Details | Example |
|--------------------|:--------:|--------|---------|---------| |--------------------|:--------:|--------|---------|---------|
| url | Y | Output | The Cosmos DB url | `"https://******.documents.azure.com:443/"` | | `url` | Y | Output | The Cosmos DB url | `"https://******.documents.azure.com:443/"` |
| masterKey | Y | Output | The Cosmos DB account master key | `"master-key"` | | `masterKey` | Y | Output | The Cosmos DB account master key | `"master-key"` |
| database | Y | Output | The name of the Cosmos DB database | `"OrderDb"` | | `database` | Y | Output | The name of the Cosmos DB database | `"OrderDb"` |
| collection | Y | Output | The name of the container inside the database. | `"Orders"` | | `collection` | Y | Output | The name of the container inside the database. | `"Orders"` |
| partitionKey | Y | Output | The name of the key to extract from the payload (document to be created) that is used as the partition key. This name must match the partition key specified upon creation of the Cosmos DB container. | `"OrderId"`, `"message"` | | `partitionKey` | Y | Output | The name of the key to extract from the payload (document to be created) that is used as the partition key. This name must match the partition key specified upon creation of the Cosmos DB container. | `"OrderId"`, `"message"` |
| `direction` | N | Output | The direction of the binding. | `"output"` |
For more information see [Azure Cosmos DB resource model](https://docs.microsoft.com/azure/cosmos-db/account-databases-containers-items). For more information see [Azure Cosmos DB resource model](https://docs.microsoft.com/azure/cosmos-db/account-databases-containers-items).

View File

@ -20,12 +20,14 @@ spec:
version: v1 version: v1
metadata: metadata:
- name: url - name: url
value: wss://******.gremlin.cosmos.azure.com:443/ value: "wss://******.gremlin.cosmos.azure.com:443/"
- name: masterKey - name: masterKey
value: ***** value: "*****"
- name: username - name: username
value: ***** value: "*****"
``` - name: direction
value: "output"
```
{{% alert title="Warning" color="warning" %}} {{% alert title="Warning" color="warning" %}}
The above example uses secrets as plain strings. It is recommended to use a secret store for the secrets as described [here]({{< ref component-secrets.md >}}). The above example uses secrets as plain strings. It is recommended to use a secret store for the secrets as described [here]({{< ref component-secrets.md >}}).
@ -38,6 +40,7 @@ The above example uses secrets as plain strings. It is recommended to use a secr
| `url` | Y | Output | The Cosmos DB url for Gremlin APIs | `"wss://******.gremlin.cosmos.azure.com:443/"` | | `url` | Y | Output | The Cosmos DB url for Gremlin APIs | `"wss://******.gremlin.cosmos.azure.com:443/"` |
| `masterKey` | Y | Output | The Cosmos DB account master key | `"masterKey"` | | `masterKey` | Y | Output | The Cosmos DB account master key | `"masterKey"` |
| `username` | Y | Output | The username of the Cosmos DB database | `"/dbs/<database_name>/colls/<graph_name>"` | | `username` | Y | Output | The username of the Cosmos DB database | `"/dbs/<database_name>/colls/<graph_name>"` |
| `direction` | N | Output | The direction of the binding | `"output"` |
For more information see [Quickstart: Azure Cosmos Graph DB using Gremlin](https://docs.microsoft.com/azure/cosmos-db/graph/create-graph-console). For more information see [Quickstart: Azure Cosmos Graph DB using Gremlin](https://docs.microsoft.com/azure/cosmos-db/graph/create-graph-console).

View File

@ -23,13 +23,16 @@ spec:
metadata: metadata:
- name: schedule - name: schedule
value: "@every 15m" # valid cron schedule value: "@every 15m" # valid cron schedule
- name: direction
value: "input"
``` ```
## Spec metadata fields ## Spec metadata fields
| Field | Required | Binding support | Details | Example | | Field | Required | Binding support | Details | Example |
|--------------------|:--------:|-------|--------|---------| |--------------------|:--------:|-------|--------|---------|
| schedule | Y | Input| The valid cron schedule to use. See [this](#schedule-format) for more details | `"@every 15m"` | `schedule` | Y | Input| The valid cron schedule to use. See [this](#schedule-format) for more details | `"@every 15m"`
| `direction` | N | Input| The direction of the binding | `"input"`
### Schedule Format ### Schedule Format

View File

@ -23,16 +23,17 @@ spec:
version: v1 version: v1
metadata: metadata:
- name: table - name: table
value: items value: "items"
- name: region - name: region
value: us-west-2 value: "us-west-2"
- name: accessKey - name: accessKey
value: ***************** value: "*****************"
- name: secretKey - name: secretKey
value: ***************** value: "*****************"
- name: sessionToken - name: sessionToken
value: ***************** value: "*****************"
- name: direction
value: "output"
``` ```
{{% alert title="Warning" color="warning" %}} {{% alert title="Warning" color="warning" %}}
@ -43,11 +44,12 @@ The above example uses secrets as plain strings. It is recommended to use a secr
| Field | Required | Binding support | Details | Example | | Field | Required | Binding support | Details | Example |
|--------------------|:--------:|------------|-----|---------| |--------------------|:--------:|------------|-----|---------|
| table | Y | Output | The DynamoDB table name | `"items"` | | `table` | Y | Output | The DynamoDB table name | `"items"` |
| region | Y | Output | The specific AWS region the AWS DynamoDB instance is deployed in | `"us-east-1"` | | `region` | Y | Output | The specific AWS region the AWS DynamoDB instance is deployed in | `"us-east-1"` |
| accessKey | Y | Output | The AWS Access Key to access this resource | `"key"` | | `accessKey` | Y | Output | The AWS Access Key to access this resource | `"key"` |
| secretKey | Y | Output | The AWS Secret Access Key to access this resource | `"secretAccessKey"` | | `secretKey` | Y | Output | The AWS Secret Access Key to access this resource | `"secretAccessKey"` |
| sessionToken | N | Output | The AWS session token to use | `"sessionToken"` | | `sessionToken` | N | Output | The AWS session token to use | `"sessionToken"` |
| `direction` | N | Output | The direction of the binding | `"output"` |
{{% alert title="Important" color="warning" %}} {{% alert title="Important" color="warning" %}}
When running the Dapr sidecar (daprd) with your application on EKS (AWS Kubernetes), if you're using a node/pod that has already been attached to an IAM policy defining access to AWS resources, you **must not** provide AWS access-key, secret-key, and tokens in the definition of the component spec you're using. When running the Dapr sidecar (daprd) with your application on EKS (AWS Kubernetes), if you're using a node/pod that has already been attached to an IAM policy defining access to AWS resources, you **must not** provide AWS access-key, secret-key, and tokens in the definition of the component spec you're using.

View File

@ -46,6 +46,9 @@ spec:
# Optional Input Binding Metadata # Optional Input Binding Metadata
- name: eventSubscriptionName - name: eventSubscriptionName
value: "[EventSubscriptionName]" value: "[EventSubscriptionName]"
# Optional metadata
- name: direction
value: "input, output"
``` ```
{{% alert title="Warning" color="warning" %}} {{% alert title="Warning" color="warning" %}}
@ -66,6 +69,7 @@ The above example uses secrets as plain strings. It is recommended to use a secr
| `handshakePort` | Y | Input | The container port that the input binding listens on when receiving events on the webhook | `"9000"` | | `handshakePort` | Y | Input | The container port that the input binding listens on when receiving events on the webhook | `"9000"` |
| `scope` | Y | Input | The identifier of the resource to which the event subscription needs to be created or updated. See the [scope section](#scope) for more details | `"/subscriptions/{subscriptionId}/"` | | `scope` | Y | Input | The identifier of the resource to which the event subscription needs to be created or updated. See the [scope section](#scope) for more details | `"/subscriptions/{subscriptionId}/"` |
| `eventSubscriptionName` | N | Input | The name of the event subscription. Event subscription names must be between 3 and 64 characters long and should use alphanumeric letters only | `"name"` | | `eventSubscriptionName` | N | Input | The name of the event subscription. Event subscription names must be between 3 and 64 characters long and should use alphanumeric letters only | `"name"` |
| `direction` | N | Input/Output | The direction of the binding | `"input"`, `"output"`, `"input, output"` |
### Scope ### Scope

View File

@ -55,6 +55,9 @@ spec:
# Alternative to passing storageAccountKey # Alternative to passing storageAccountKey
- name: storageConnectionString - name: storageConnectionString
value: "DefaultEndpointsProtocol=https;AccountName=<account>;AccountKey=<account-key>" value: "DefaultEndpointsProtocol=https;AccountName=<account>;AccountKey=<account-key>"
# Optional metadata
- name: direction
value: "input, output"
``` ```
{{% alert title="Warning" color="warning" %}} {{% alert title="Warning" color="warning" %}}
@ -78,6 +81,7 @@ The above example uses secrets as plain strings. It is recommended to use a secr
| `storageAccountKey` | Y* | Input | Storage account key for the checkpoint store account.<br>* When using Azure AD, it's possible to omit this if the service principal has access to the storage account too. | `"112233445566778899"` | `storageAccountKey` | Y* | Input | Storage account key for the checkpoint store account.<br>* When using Azure AD, it's possible to omit this if the service principal has access to the storage account too. | `"112233445566778899"`
| `storageConnectionString` | Y* | Input | Connection string for the checkpoint store, alternative to specifying `storageAccountKey` | `"DefaultEndpointsProtocol=https;AccountName=myeventhubstorage;AccountKey=<account-key>"` | `storageConnectionString` | Y* | Input | Connection string for the checkpoint store, alternative to specifying `storageAccountKey` | `"DefaultEndpointsProtocol=https;AccountName=myeventhubstorage;AccountKey=<account-key>"`
| `storageContainerName` | Y | Input | Storage container name for the storage account name. | `"myeventhubstoragecontainer"` | `storageContainerName` | Y | Input | Storage container name for the storage account name. | `"myeventhubstoragecontainer"`
| `direction` | N | Input/Output | The direction of the binding. | `"input"`, `"output"`, `"input, output"`
### Azure Active Directory (AAD) authentication ### Azure Active Directory (AAD) authentication

View File

@ -22,31 +22,33 @@ spec:
version: v1 version: v1
metadata: metadata:
- name: bucket - name: bucket
value: mybucket value: "mybucket"
- name: type - name: type
value: service_account value: "service_account"
- name: project_id - name: project_id
value: project_111 value: "project_111"
- name: private_key_id - name: private_key_id
value: ************* value: "*************"
- name: client_email - name: client_email
value: name@domain.com value: "name@domain.com"
- name: client_id - name: client_id
value: '1111111111111111' value: "1111111111111111"
- name: auth_uri - name: auth_uri
value: https://accounts.google.com/o/oauth2/auth value: "https://accounts.google.com/o/oauth2/auth"
- name: token_uri - name: token_uri
value: https://oauth2.googleapis.com/token value: "https://oauth2.googleapis.com/token"
- name: auth_provider_x509_cert_url - name: auth_provider_x509_cert_url
value: https://www.googleapis.com/oauth2/v1/certs value: "https://www.googleapis.com/oauth2/v1/certs"
- name: client_x509_cert_url - name: client_x509_cert_url
value: https://www.googleapis.com/robot/v1/metadata/x509/<project-name>.iam.gserviceaccount.com value: "https://www.googleapis.com/robot/v1/metadata/x509/<project-name>.iam.gserviceaccount.com"
- name: private_key - name: private_key
value: PRIVATE KEY value: "PRIVATE KEY"
- name: decodeBase64 - name: decodeBase64
value: <bool> value: "<bool>"
- name: encodeBase64 - name: encodeBase64
value: <bool> value: "<bool>"
- name: direction
value: "output"
``` ```
{{% alert title="Warning" color="warning" %}} {{% alert title="Warning" color="warning" %}}
@ -57,19 +59,20 @@ The above example uses secrets as plain strings. It is recommended to use a secr
| Field | Required | Binding support | Details | Example | | Field | Required | Binding support | Details | Example |
|--------------------|:--------:|------------|-----|---------| |--------------------|:--------:|------------|-----|---------|
| bucket | Y | Output | The bucket name | `"mybucket"` | | `bucket` | Y | Output | The bucket name | `"mybucket"` |
| type | Y | Output | Tge GCP credentials type | `"service_account"` | | `type` | Y | Output | Tge GCP credentials type | `"service_account"` |
| project_id | Y | Output | GCP project id| `projectId` | `project_id` | Y | Output | GCP project id| `projectId`
| private_key_id | Y | Output | GCP private key id | `"privateKeyId"` | `private_key_id` | Y | Output | GCP private key id | `"privateKeyId"`
| private_key | Y | Output | GCP credentials private key. Replace with x509 cert | `12345-12345` | `private_key` | Y | Output | GCP credentials private key. Replace with x509 cert | `12345-12345`
| client_email | Y | Output | GCP client email | `"client@email.com"` | `client_email` | Y | Output | GCP client email | `"client@email.com"`
| client_id | Y | Output | GCP client id | `0123456789-0123456789` | `client_id` | Y | Output | GCP client id | `0123456789-0123456789`
| auth_uri | Y | Output | Google account OAuth endpoint | `https://accounts.google.com/o/oauth2/auth` | `auth_uri` | Y | Output | Google account OAuth endpoint | `https://accounts.google.com/o/oauth2/auth`
| token_uri | Y | Output | Google account token uri | `https://oauth2.googleapis.com/token` | `token_uri` | Y | Output | Google account token uri | `https://oauth2.googleapis.com/token`
| auth_provider_x509_cert_url | Y | Output | GCP credentials cert url | `https://www.googleapis.com/oauth2/v1/certs` | `auth_provider_x509_cert_url` | Y | Output | GCP credentials cert url | `https://www.googleapis.com/oauth2/v1/certs`
| client_x509_cert_url | Y | Output | GCP credentials project x509 cert url | `https://www.googleapis.com/robot/v1/metadata/x509/<PROJECT_NAME>.iam.gserviceaccount.com` | `client_x509_cert_url` | Y | Output | GCP credentials project x509 cert url | `https://www.googleapis.com/robot/v1/metadata/x509/<PROJECT_NAME>.iam.gserviceaccount.com`
| decodeBase64 | N | Output | Configuration to decode base64 file content before saving to bucket storage. (In case of saving a file with binary content). `true` is the only allowed positive value. Other positive variations like `"True", "1"` are not acceptable. Defaults to `false` | `true`, `false` | | `decodeBase64` | N | Output | Configuration to decode base64 file content before saving to bucket storage. (In case of saving a file with binary content). `true` is the only allowed positive value. Other positive variations like `"True", "1"` are not acceptable. Defaults to `false` | `true`, `false` |
| encodeBase64 | N | Output | Configuration to encode base64 file content before return the content. (In case of opening a file with binary content). `true` is the only allowed positive value. Other positive variations like `"True", "1"` are not acceptable. Defaults to `false` | `true`, `false` | | `encodeBase64` | N | Output | Configuration to encode base64 file content before return the content. (In case of opening a file with binary content). `true` is the only allowed positive value. Other positive variations like `"True", "1"` are not acceptable. Defaults to `false` | `true`, `false` |
| `direction` | N | Output | The direction of the binding. | `"output"`
## Binding support ## Binding support

View File

@ -22,29 +22,31 @@ spec:
version: v1 version: v1
metadata: metadata:
- name: topic - name: topic
value: topic1 value: "topic1"
- name: subscription - name: subscription
value: subscription1 value: "subscription1"
- name: type - name: type
value: service_account value: "service_account"
- name: project_id - name: project_id
value: project_111 value: "project_111"
- name: private_key_id - name: private_key_id
value: ************* value: "*************"
- name: client_email - name: client_email
value: name@domain.com value: "name@domain.com"
- name: client_id - name: client_id
value: '1111111111111111' value: "1111111111111111"
- name: auth_uri - name: auth_uri
value: https://accounts.google.com/o/oauth2/auth value: "https://accounts.google.com/o/oauth2/auth"
- name: token_uri - name: token_uri
value: https://oauth2.googleapis.com/token value: "https://oauth2.googleapis.com/token"
- name: auth_provider_x509_cert_url - name: auth_provider_x509_cert_url
value: https://www.googleapis.com/oauth2/v1/certs value: "https://www.googleapis.com/oauth2/v1/certs"
- name: client_x509_cert_url - name: client_x509_cert_url
value: https://www.googleapis.com/robot/v1/metadata/x509/<project-name>.iam.gserviceaccount.com value: "https://www.googleapis.com/robot/v1/metadata/x509/<project-name>.iam.gserviceaccount.com"
- name: private_key - name: private_key
value: PRIVATE KEY value: "PRIVATE KEY"
- name: direction
value: "input, output"
``` ```
{{% alert title="Warning" color="warning" %}} {{% alert title="Warning" color="warning" %}}
The above example uses secrets as plain strings. It is recommended to use a secret store for the secrets as described [here]({{< ref component-secrets.md >}}). The above example uses secrets as plain strings. It is recommended to use a secret store for the secrets as described [here]({{< ref component-secrets.md >}}).
@ -54,18 +56,19 @@ The above example uses secrets as plain strings. It is recommended to use a secr
| Field | Required | Binding support | Details | Example | | Field | Required | Binding support | Details | Example |
|--------------------|:--------:|-----------| -----|---------| |--------------------|:--------:|-----------| -----|---------|
| topic | Y | Output | GCP Pub/Sub topic name | `"topic1"` | | `topic` | Y | Output | GCP Pub/Sub topic name | `"topic1"` |
| subscription | N | GCP Pub/Sub subscription name | `"name1"` | | `subscription` | N | GCP Pub/Sub subscription name | `"name1"` |
| type | Y | Output | GCP credentials type | `service_account` | `type` | Y | Output | GCP credentials type | `service_account`
| project_id | Y | Output | GCP project id| `projectId` | `project_id` | Y | Output | GCP project id| `projectId`
| private_key_id | N | Output | GCP private key id | `"privateKeyId"` | `private_key_id` | N | Output | GCP private key id | `"privateKeyId"`
| private_key | Y | Output | GCP credentials private key. Replace with x509 cert | `12345-12345` | `private_key` | Y | Output | GCP credentials private key. Replace with x509 cert | `12345-12345`
| client_email | Y | Output | GCP client email | `"client@email.com"` | `client_email` | Y | Output | GCP client email | `"client@email.com"`
| client_id | N | Output | GCP client id | `0123456789-0123456789` | `client_id` | N | Output | GCP client id | `0123456789-0123456789`
| auth_uri | N | Output | Google account OAuth endpoint | `https://accounts.google.com/o/oauth2/auth` | `auth_uri` | N | Output | Google account OAuth endpoint | `https://accounts.google.com/o/oauth2/auth`
| token_uri | N | Output | Google account token uri | `https://oauth2.googleapis.com/token` | `token_uri` | N | Output | Google account token uri | `https://oauth2.googleapis.com/token`
| auth_provider_x509_cert_url | N | Output |GCP credentials cert url | `https://www.googleapis.com/oauth2/v1/certs` | `auth_provider_x509_cert_url` | N | Output |GCP credentials cert url | `https://www.googleapis.com/oauth2/v1/certs`
| client_x509_cert_url | N | Output | GCP credentials project x509 cert url | `https://www.googleapis.com/robot/v1/metadata/x509/<PROJECT_NAME>.iam.gserviceaccount.com` | `client_x509_cert_url` | N | Output | GCP credentials project x509 cert url | `https://www.googleapis.com/robot/v1/metadata/x509/<PROJECT_NAME>.iam.gserviceaccount.com`
| `direction` | N |Input/Output | The direction of the binding. | `"input"`, `"output"`, `"input, output"`
## Binding support ## Binding support

View File

@ -22,11 +22,13 @@ spec:
version: v1 version: v1
metadata: metadata:
- name: endpoint - name: endpoint
value: http://localhost:8080/v1/graphql value: "http://localhost:8080/v1/graphql"
- name: header:x-hasura-access-key - name: header:x-hasura-access-key
value: adminkey value: "adminkey"
- name: header:Cache-Control - name: header:Cache-Control
value: no-cache value: "no-cache"
- name: direction
value: "output"
``` ```
{{% alert title="Warning" color="warning" %}} {{% alert title="Warning" color="warning" %}}
@ -37,9 +39,10 @@ The above example uses secrets as plain strings. It is recommended to use a secr
| Field | Required | Binding support | Details | Example | | Field | Required | Binding support | Details | Example |
|--------------------|:--------:|------------|-----|---------| |--------------------|:--------:|------------|-----|---------|
| endpoint | Y | Output | GraphQL endpoint string See [here](#url-format) for more details | `"http://localhost:4000/graphql/graphql"` | | `endpoint` | Y | Output | GraphQL endpoint string See [here](#url-format) for more details | `"http://localhost:4000/graphql/graphql"` |
| header:[HEADERKEY] | N | Output | GraphQL header. Specify the header key in the `name`, and the header value in the `value`. | `"no-cache"` (see above) | | `header:[HEADERKEY]` | N | Output | GraphQL header. Specify the header key in the `name`, and the header value in the `value`. | `"no-cache"` (see above) |
| variable:[VARIABLEKEY] | N | Output | GraphQL query variable. Specify the variable name in the `name`, and the variable value in the `value`. | `"123"` (see below) | | `variable:[VARIABLEKEY]` | N | Output | GraphQL query variable. Specify the variable name in the `name`, and the variable value in the `value`. | `"123"` (see below) |
| `direction` | N | Output | The direction of the binding | `"output"` |
### Endpoint and Header format ### Endpoint and Header format

View File

@ -23,34 +23,37 @@ spec:
version: v1 version: v1
metadata: metadata:
- name: url - name: url
value: http://something.com value: "http://something.com"
- name: MTLSRootCA - name: MTLSRootCA
value: /Users/somepath/root.pem # OPTIONAL Secret store ref, <path to root CA>, or <pem encoded string> value: "/Users/somepath/root.pem" # OPTIONAL Secret store ref, <path to root CA>, or <pem encoded string>
- name: MTLSClientCert - name: MTLSClientCert
value: /Users/somepath/client.pem # OPTIONAL Secret store ref, <path to client cert>, or <pem encoded string> value: "/Users/somepath/client.pem" # OPTIONAL Secret store ref, <path to client cert>, or <pem encoded string>
- name: MTLSClientKey - name: MTLSClientKey
value: /Users/somepath/client.key # OPTIONAL Secret store ref, <path to client key>, or <pem encoded string> value: "/Users/somepath/client.key" # OPTIONAL Secret store ref, <path to client key>, or <pem encoded string>
- name: MTLSRenegotiation - name: MTLSRenegotiation
value: RenegotiateOnceAsClient # OPTIONAL one of: RenegotiateNever, RenegotiateOnceAsClient, RenegotiateFreelyAsClient value: "RenegotiateOnceAsClient" # OPTIONAL one of: RenegotiateNever, RenegotiateOnceAsClient, RenegotiateFreelyAsClient
- name: securityToken # OPTIONAL <token to include as a header on HTTP requests> - name: securityToken # OPTIONAL <token to include as a header on HTTP requests>
secretKeyRef: secretKeyRef:
name: mysecret name: mysecret
key: mytoken key: "mytoken"
- name: securityTokenHeader - name: securityTokenHeader
value: "Authorization: Bearer" # OPTIONAL <header name for the security token> value: "Authorization: Bearer" # OPTIONAL <header name for the security token>
- name: direction
value: "output"
``` ```
## Spec metadata fields ## Spec metadata fields
| Field | Required | Binding support | Details | Example | | Field | Required | Binding support | Details | Example |
|--------------------|:--------:|--------|--------|---------| |--------------------|:--------:|--------|--------|---------|
| url | Y | Output |The base URL of the HTTP endpoint to invoke | `http://host:port/path`, `http://myservice:8000/customers` | `url` | Y | Output |The base URL of the HTTP endpoint to invoke | `http://host:port/path`, `http://myservice:8000/customers`
| MTLSRootCA | N | Output |Secret store reference, path to root ca certificate, or pem encoded string | | `MTLSRootCA` | N | Output |Secret store reference, path to root ca certificate, or pem encoded string |
| MTLSClientCert | N | Output |Secret store reference, path to client certificate, or pem encoded string | | `MTLSClientCert` | N | Output |Secret store reference, path to client certificate, or pem encoded string |
| MTLSClientKey | N | Output |Secret store reference, path client private key, or pem encoded string | | `MTLSClientKey` | N | Output |Secret store reference, path client private key, or pem encoded string |
| MTLSRenegotiation | N | Output |Type of TLS renegotiation to be used | `RenegotiateOnceAsClient` | `MTLSRenegotiation` | N | Output |Type of TLS renegotiation to be used | `RenegotiateOnceAsClient`
| securityToken | N | Output |The value of a token to be added to an HTTP request as a header. Used together with `securityTokenHeader` | | `securityToken` | N | Output |The value of a token to be added to an HTTP request as a header. Used together with `securityTokenHeader` |
| securityTokenHeader| N | Output |The name of the header for `securityToken` on an HTTP request that | | `securityTokenHeader`| N | Output |The name of the header for `securityToken` on an HTTP request that |
| `direction`| N | Output |The direction of the binding | `"output"`
### How to configure MTLS related fields in Metadata ### How to configure MTLS related fields in Metadata
The values for **MTLSRootCA**, **MTLSClientCert** and **MTLSClientKey** can be provided in three ways: The values for **MTLSRootCA**, **MTLSClientCert** and **MTLSClientKey** can be provided in three ways:

View File

@ -20,16 +20,18 @@ spec:
type: bindings.huawei.obs type: bindings.huawei.obs
version: v1 version: v1
- name: bucket - name: bucket
value: <your-bucket-name> value: "<your-bucket-name>"
- name: endpoint - name: endpoint
value: <obs-bucket-endpoint> value: "<obs-bucket-endpoint>"
- name: accessKey - name: accessKey
value: <your-access-key> value: "<your-access-key>"
- name: secretKey - name: secretKey
value: <your-secret-key> value: "<your-secret-key>"
# optional fields # optional fields
- name: region - name: region
value: <your-bucket-region> value: "<your-bucket-region>"
- name: direction
value: "<your-binding-direction>"
``` ```
{{% alert title="Warning" color="warning" %}} {{% alert title="Warning" color="warning" %}}
@ -40,12 +42,12 @@ The above example uses secrets as plain strings. It is recommended to use a secr
| Field | Required | Binding support | Details | Example | | Field | Required | Binding support | Details | Example |
|--------------------|:--------:|------------|-----|---------| |--------------------|:--------:|------------|-----|---------|
| bucket | Y | Output | The name of the Huawei OBS bucket to write to | `"My-OBS-Bucket"` | | `bucket` | Y | Output | The name of the Huawei OBS bucket to write to | `"My-OBS-Bucket"` |
| endpoint | Y | Output | The specific Huawei OBS endpoint | `"obs.cn-north-4.myhuaweicloud.com"` | | `endpoint` | Y | Output | The specific Huawei OBS endpoint | `"obs.cn-north-4.myhuaweicloud.com"` |
| accessKey | Y | Output | The Huawei Access Key (AK) to access this resource | `"************"` | | `accessKey` | Y | Output | The Huawei Access Key (AK) to access this resource | `"************"` |
| secretKey | Y | Output | The Huawei Secret Key (SK) to access this resource | `"************"` | | `secretKey` | Y | Output | The Huawei Secret Key (SK) to access this resource | `"************"` |
| region | N | Output | The specific Huawei region of the bucket | `"cn-north-4"` | | `region` | N | Output | The specific Huawei region of the bucket | `"cn-north-4"` |
| `direction` | N | Output | The direction of the binding | `"output"` |
## Binding support ## Binding support

View File

@ -22,13 +22,15 @@ spec:
version: v1 version: v1
metadata: metadata:
- name: url # Required - name: url # Required
value: <INFLUX-DB-URL> value: "<INFLUX-DB-URL>"
- name: token # Required - name: token # Required
value: <TOKEN> value: "<TOKEN>"
- name: org # Required - name: org # Required
value: <ORG> value: "<ORG>"
- name: bucket # Required - name: bucket # Required
value: <BUCKET> value: "<BUCKET>"
- name: direction
value: "<DIRECTION>"
``` ```
{{% alert title="Warning" color="warning" %}} {{% alert title="Warning" color="warning" %}}
@ -39,10 +41,11 @@ The above example uses secrets as plain strings. It is recommended to use a secr
| Field | Required | Binding support | Details | Example | | Field | Required | Binding support | Details | Example |
|--------------------|:--------:|------------|-----|---------| |--------------------|:--------:|------------|-----|---------|
| url | Y | Output | The URL for the InfluxDB instance| `"http://localhost:8086"` | | `url` | Y | Output | The URL for the InfluxDB instance| `"http://localhost:8086"` |
| token | Y | Output | The authorization token for InfluxDB | `"mytoken"` | | `token` | Y | Output | The authorization token for InfluxDB | `"mytoken"` |
| org | Y | Output | The InfluxDB organization | `"myorg"` | | `org` | Y | Output | The InfluxDB organization | `"myorg"` |
| bucket | Y | Output | Bucket name to write to | `"mybucket"` | | `bucket` | Y | Output | Bucket name to write to | `"mybucket"` |
| `direction` | N | Output | Direction of the binding | `"output"` |
## Binding support ## Binding support

View File

@ -38,39 +38,42 @@ spec:
- name: saslPassword # Required if authRequired is `true`. - name: saslPassword # Required if authRequired is `true`.
secretKeyRef: secretKeyRef:
name: kafka-secrets name: kafka-secrets
key: saslPasswordSecret key: "saslPasswordSecret"
- name: saslMechanism - name: saslMechanism
value: "SHA-512" value: "SHA-512"
- name: initialOffset # Optional. Used for input bindings. - name: initialOffset # Optional. Used for input bindings.
value: "newest" value: "newest"
- name: maxMessageBytes # Optional. - name: maxMessageBytes # Optional.
value: 1024 value: "1024"
- name: version # Optional. - name: version # Optional.
value: 1.0.0 value: "1.0.0"
- name: direction
value: "input, output"
``` ```
## Spec metadata fields ## Spec metadata fields
| Field | Required | Binding support | Details | Example | | Field | Required | Binding support | Details | Example |
|--------------------|:--------:|------------|-----|---------| |--------------------|:--------:|------------|-----|---------|
| topics | N | Input | A comma-separated string of topics. | `"mytopic1,topic2"` | | `topics` | N | Input | A comma-separated string of topics. | `"mytopic1,topic2"` |
| brokers | Y | Input/Output | A comma-separated string of Kafka brokers. | `"localhost:9092,dapr-kafka.myapp.svc.cluster.local:9093"` | | `brokers` | Y | Input/Output | A comma-separated string of Kafka brokers. | `"localhost:9092,dapr-kafka.myapp.svc.cluster.local:9093"` |
| clientID | N | Input/Output | A user-provided string sent with every request to the Kafka brokers for logging, debugging, and auditing purposes. | `"my-dapr-app"` | | `clientID` | N | Input/Output | A user-provided string sent with every request to the Kafka brokers for logging, debugging, and auditing purposes. | `"my-dapr-app"` |
| consumerGroup | N | Input | A kafka consumer group to listen on. Each record published to a topic is delivered to one consumer within each consumer group subscribed to the topic. | `"group1"` | | `consumerGroup` | N | Input | A kafka consumer group to listen on. Each record published to a topic is delivered to one consumer within each consumer group subscribed to the topic. | `"group1"` |
| consumeRetryEnabled | N | Input/Output | Enable consume retry by setting to `"true"`. Default to `false` in Kafka binding component. | `"true"`, `"false"` | | `consumeRetryEnabled` | N | Input/Output | Enable consume retry by setting to `"true"`. Default to `false` in Kafka binding component. | `"true"`, `"false"` |
| publishTopic | Y | Output | The topic to publish to. | `"mytopic"` | | `publishTopic` | Y | Output | The topic to publish to. | `"mytopic"` |
| authRequired | N | *Deprecated* | Enable [SASL](https://en.wikipedia.org/wiki/Simple_Authentication_and_Security_Layer) authentication with the Kafka brokers. | `"true"`, `"false"` | | `authRequired` | N | *Deprecated* | Enable [SASL](https://en.wikipedia.org/wiki/Simple_Authentication_and_Security_Layer) authentication with the Kafka brokers. | `"true"`, `"false"` |
| authType | Y | Input/Output | Configure or disable authentication. Supported values: `none`, `password`, `mtls`, or `oidc` | `"password"`, `"none"` | | `authType` | Y | Input/Output | Configure or disable authentication. Supported values: `none`, `password`, `mtls`, or `oidc` | `"password"`, `"none"` |
| saslUsername | N | Input/Output | The SASL username used for authentication. Only required if `authRequired` is set to `"true"`. | `"adminuser"` | | `saslUsername` | N | Input/Output | The SASL username used for authentication. Only required if `authRequired` is set to `"true"`. | `"adminuser"` |
| saslPassword | N | Input/Output | The SASL password used for authentication. Can be `secretKeyRef` to use a [secret reference]({{< ref component-secrets.md >}}). Only required if `authRequired` is set to `"true"`. | `""`, `"KeFg23!"` | | `saslPassword` | N | Input/Output | The SASL password used for authentication. Can be `secretKeyRef` to use a [secret reference]({{< ref component-secrets.md >}}). Only required if `authRequired` is set to `"true"`. | `""`, `"KeFg23!"` |
| saslMechanism | N | Input/Output | The SASL authentication mechanism you'd like to use. Only required if `authtype` is set to `"password"`. If not provided, defaults to `PLAINTEXT`, which could cause a break for some services, like Amazon Managed Service for Kafka. | `"SHA-512", "SHA-256", "PLAINTEXT"` | | `saslMechanism` | N | Input/Output | The SASL authentication mechanism you'd like to use. Only required if `authtype` is set to `"password"`. If not provided, defaults to `PLAINTEXT`, which could cause a break for some services, like Amazon Managed Service for Kafka. | `"SHA-512", "SHA-256", "PLAINTEXT"` |
| initialOffset | N | Input | The initial offset to use if no offset was previously committed. Should be "newest" or "oldest". Defaults to "newest". | `"oldest"` | | `initialOffset` | N | Input | The initial offset to use if no offset was previously committed. Should be "newest" or "oldest". Defaults to "newest". | `"oldest"` |
| maxMessageBytes | N | Input/Output | The maximum size in bytes allowed for a single Kafka message. Defaults to 1024. | `2048` | | `maxMessageBytes` | N | Input/Output | The maximum size in bytes allowed for a single Kafka message. Defaults to 1024. | `"2048"` |
| oidcTokenEndpoint | N | Input/Output | Full URL to an OAuth2 identity provider access token endpoint. Required when `authType` is set to `oidc` | "https://identity.example.com/v1/token" | | `oidcTokenEndpoint` | N | Input/Output | Full URL to an OAuth2 identity provider access token endpoint. Required when `authType` is set to `oidc` | "https://identity.example.com/v1/token" |
| oidcClientID | N | Input/Output | The OAuth2 client ID that has been provisioned in the identity provider. Required when `authType` is set to `oidc` | `dapr-kafka` | | `oidcClientID` | N | Input/Output | The OAuth2 client ID that has been provisioned in the identity provider. Required when `authType` is set to `oidc` | `"dapr-kafka"` |
| oidcClientSecret | N | Input/Output | The OAuth2 client secret that has been provisioned in the identity provider: Required when `authType` is set to `oidc` | `"KeFg23!"` | | `oidcClientSecret` | N | Input/Output | The OAuth2 client secret that has been provisioned in the identity provider: Required when `authType` is set to `oidc` | `"KeFg23!"` |
| oidcScopes | N | Input/Output | Comma-delimited list of OAuth2/OIDC scopes to request with the access token. Recommended when `authType` is set to `oidc`. Defaults to `"openid"` | `"openid,kafka-prod"` | | `oidcScopes` | N | Input/Output | Comma-delimited list of OAuth2/OIDC scopes to request with the access token. Recommended when `authType` is set to `oidc`. Defaults to `"openid"` | `"openid,kafka-prod"` |
| version | N | Input/Output | Kafka cluster version. Defaults to 2.0.0. Please note that this needs to be mandatorily set to `1.0.0` for EventHubs with Kafka. | `1.0.0` | | `version` | N | Input/Output | Kafka cluster version. Defaults to 2.0.0. Please note that this needs to be mandatorily set to `1.0.0` for EventHubs with Kafka. | `"1.0.0"` |
| `direction` | N | Input/Output | The direction of the binding. | `"input"`, `"output"`, `"input, output"` |
#### Note #### Note
The metadata `version` must be set to `1.0.0` when using Azure EventHubs with Kafka. The metadata `version` must be set to `1.0.0` when using Azure EventHubs with Kafka.

View File

@ -23,20 +23,21 @@ spec:
version: v1 version: v1
metadata: metadata:
- name: streamName - name: streamName
value: KINESIS_STREAM_NAME # Kinesis stream name value: "KINESIS_STREAM_NAME" # Kinesis stream name
- name: consumerName - name: consumerName
value: KINESIS_CONSUMER_NAME # Kinesis consumer name value: "KINESIS_CONSUMER_NAME" # Kinesis consumer name
- name: mode - name: mode
value: shared # shared - Shared throughput or extended - Extended/Enhanced fanout value: "shared" # shared - Shared throughput or extended - Extended/Enhanced fanout
- name: region - name: region
value: AWS_REGION #replace value: "AWS_REGION" #replace
- name: accessKey - name: accessKey
value: AWS_ACCESS_KEY # replace value: "AWS_ACCESS_KEY" # replace
- name: secretKey - name: secretKey
value: AWS_SECRET_KEY #replace value: "AWS_SECRET_KEY" #replace
- name: sessionToken - name: sessionToken
value: ***************** value: "*****************"
- name: direction
value: "input, output"
``` ```
{{% alert title="Warning" color="warning" %}} {{% alert title="Warning" color="warning" %}}
The above example uses secrets as plain strings. It is recommended to use a secret store for the secrets as described [here]({{< ref component-secrets.md >}}). The above example uses secrets as plain strings. It is recommended to use a secret store for the secrets as described [here]({{< ref component-secrets.md >}}).
@ -46,13 +47,14 @@ The above example uses secrets as plain strings. It is recommended to use a secr
| Field | Required | Binding support | Details | Example | | Field | Required | Binding support | Details | Example |
|--------------------|:--------:|------------|-----|---------| |--------------------|:--------:|------------|-----|---------|
| mode | N | Input| The Kinesis stream mode. `shared`- Shared throughput, `extended` - Extended/Enhanced fanout methods. More details are [here](https://docs.aws.amazon.com/streams/latest/dev/building-consumers.html). Defaults to `"shared"` | `"shared"`, `"extended"` | | `mode` | N | Input| The Kinesis stream mode. `shared`- Shared throughput, `extended` - Extended/Enhanced fanout methods. More details are [here](https://docs.aws.amazon.com/streams/latest/dev/building-consumers.html). Defaults to `"shared"` | `"shared"`, `"extended"` |
| streamName | Y | Input/Output | The AWS Kinesis Stream Name | `"stream"` | | `streamName` | Y | Input/Output | The AWS Kinesis Stream Name | `"stream"` |
| consumerName | Y | Input | The AWS Kinesis Consumer Name | `"myconsumer"` | | `consumerName` | Y | Input | The AWS Kinesis Consumer Name | `"myconsumer"` |
| region | Y | Output | The specific AWS region the AWS Kinesis instance is deployed in | `"us-east-1"` | | `region` | Y | Output | The specific AWS region the AWS Kinesis instance is deployed in | `"us-east-1"` |
| accessKey | Y | Output | The AWS Access Key to access this resource | `"key"` | | `accessKey` | Y | Output | The AWS Access Key to access this resource | `"key"` |
| secretKey | Y | Output | The AWS Secret Access Key to access this resource | `"secretAccessKey"` | | `secretKey` | Y | Output | The AWS Secret Access Key to access this resource | `"secretAccessKey"` |
| sessionToken | N | Output | The AWS session token to use | `"sessionToken"` | | `sessionToken` | N | Output | The AWS session token to use | `"sessionToken"` |
| `direction` | N | Input/Output | The direction of the binding | `"input"`, `"output"`, `"input, output"` |
{{% alert title="Important" color="warning" %}} {{% alert title="Important" color="warning" %}}
When running the Dapr sidecar (daprd) with your application on EKS (AWS Kubernetes), if you're using a node/pod that has already been attached to an IAM policy defining access to AWS resources, you **must not** provide AWS access-key, secret-key, and tokens in the definition of the component spec you're using. When running the Dapr sidecar (daprd) with your application on EKS (AWS Kubernetes), if you're using a node/pod that has already been attached to an IAM policy defining access to AWS resources, you **must not** provide AWS access-key, secret-key, and tokens in the definition of the component spec you're using.

View File

@ -26,6 +26,16 @@ spec:
type: bindings.kitex type: bindings.kitex
version: v1 version: v1
metadata: metadata:
- name: hostPorts
value: "127.0.0.1:8888"
- name: destService
value: "echo"
- name: methodName
value: "echo"
- name: version
value: "0.5.0"
- name: direction
value: "output"
``` ```
## Spec metadata fields ## Spec metadata fields
@ -38,10 +48,11 @@ The `InvokeRequest.Metadata` for `bindings.kitex` requires the client to fill in
| Field | Required | Binding support | Details | Example | | Field | Required | Binding support | Details | Example |
|-------------|:--------:|--------|---------------------------------------------------------------------------------------------------------|--------------------| |-------------|:--------:|--------|---------------------------------------------------------------------------------------------------------|--------------------|
| hostPorts | Y | Output | IP address and port information of the Kitex server (Thrift) | `"127.0.0.1:8888"` | | `hostPorts` | Y | Output | IP address and port information of the Kitex server (Thrift) | `"127.0.0.1:8888"` |
| destService | Y | Output | Service name of the Kitex server (Thrift) | `"echo"` | | `destService` | Y | Output | Service name of the Kitex server (Thrift) | `"echo"` |
| methodName | Y | Output | Method name under a specific service name of the Kitex server (Thrift) | `"echo"` | | `methodName` | Y | Output | Method name under a specific service name of the Kitex server (Thrift) | `"echo"` |
| version | Y | Output | Kitex version | `"0.5.0"` | | `version` | Y | Output | Kitex version | `"0.5.0"` |
| `direction` | N | Output | Direction of the binding | `"output"` |
## Binding support ## Binding support

View File

@ -22,21 +22,24 @@ spec:
version: v1 version: v1
metadata: metadata:
- name: address - name: address
value: localhost:50000 value: "localhost:50000"
- name: channel - name: channel
value: queue1 value: "queue1"
- name: direction
value: "input, output"
``` ```
## Spec metadata fields ## Spec metadata fields
| Field | Required | Details | Example | | Field | Required | Details | Example |
|--------------------|:--------:|------------------------------------------------------------------------------------------------------------------------------|----------------------------------------| |--------------------|:--------:|------------------------------------------------------------------------------------------------------------------------------|----------------------------------------|
| address | Y | Address of the KubeMQ server | `"localhost:50000"` | | `address` | Y | Address of the KubeMQ server | `"localhost:50000"` |
| channel | Y | The Queue channel name | `queue1` | | `channel` | Y | The Queue channel name | `"queue1"` |
| authToken | N | Auth JWT token for connection. Check out [KubeMQ Authentication](https://docs.kubemq.io/learn/access-control/authentication) | `ew...` | | `authToken` | N | Auth JWT token for connection. Check out [KubeMQ Authentication](https://docs.kubemq.io/learn/access-control/authentication) | `"ew..."` |
| autoAcknowledged | N | Sets if received queue message is automatically acknowledged | `true` or `false` (default is `false`) | | `autoAcknowledged` | N | Sets if received queue message is automatically acknowledged | `"true"` or `"false"` (default is `"false"`) |
| pollMaxItems | N | Sets the number of messages to poll on every connection | `1` | | `pollMaxItems` | N | Sets the number of messages to poll on every connection | `"1"` |
| pollTimeoutSeconds | N | Sets the time in seconds for each poll interval | `3600` | | `pollTimeoutSeconds` | N | Sets the time in seconds for each poll interval | `"3600"` |
| `direction` | N | The direction of the binding | `"input"`, `"output"`, `"input, output"` |
## Binding support ## Binding support

View File

@ -22,17 +22,20 @@ spec:
version: v1 version: v1
metadata: metadata:
- name: namespace - name: namespace
value: <NAMESPACE> value: "<NAMESPACE>"
- name: resyncPeriodInSec - name: resyncPeriodInSec
value: "<seconds>" value: "<seconds>"
- name: direction
value: "input"
``` ```
## Spec metadata fields ## Spec metadata fields
| Field | Required | Binding support | Details | Example | | Field | Required | Binding support | Details | Example |
|--------------------|:--------:|------------|-----|---------| |--------------------|:--------:|------------|-----|---------|
| namespace | Y | Input | The Kubernetes namespace to read events from | `"default"` | | `namespace` | Y | Input | The Kubernetes namespace to read events from | `"default"` |
| resyncPeriodInSec | N | Input | The period of time to refresh event list from Kubernetes API server. Defaults to `"10"` | `"15"` | `resyncPeriodInSec` | N | Input | The period of time to refresh event list from Kubernetes API server. Defaults to `"10"` | `"15"`
| `direction` | N | Input | The direction of the binding | `"input"`
## Binding support ## Binding support

View File

@ -22,14 +22,17 @@ spec:
version: v1 version: v1
metadata: metadata:
- name: rootPath - name: rootPath
value: <string> value: "<string>"
- name: direction
value: "<direction>"
``` ```
## Spec metadata fields ## Spec metadata fields
| Field | Required | Binding support | Details | Example | | Field | Required | Binding support | Details | Example |
|--------------------|:--------:|--------|---------|---------| |--------------------|:--------:|--------|---------|---------|
| rootPath | Y | Input / Output | The root path anchor to which files can be read / saved | `"/temp/files"` | | `rootPath` | Y | Input / Output | The root path anchor to which files can be read / saved | `"/temp/files"` |
| `direction` | N | Input / Output | The direction of the binding | `"output"` |
## Binding support ## Binding support

View File

@ -34,6 +34,8 @@ spec:
value: "false" value: "false"
- name: backOffMaxRetries - name: backOffMaxRetries
value: "0" value: "0"
- name: direction
value: "input, output"
``` ```
{{% alert title="Warning" color="warning" %}} {{% alert title="Warning" color="warning" %}}
@ -53,6 +55,7 @@ The above example uses secrets as plain strings. It is recommended to use a secr
| `clientCert` | Required for using TLS | Input/Output | TLS client certificate in PEM format. Must be used with `clientKey`. | See example below | `clientCert` | Required for using TLS | Input/Output | TLS client certificate in PEM format. Must be used with `clientKey`. | See example below
| `clientKey` | Required for using TLS | Input/Output | TLS client key in PEM format. Must be used with `clientCert`. Can be `secretKeyRef` to use a secret reference. | See example below | `clientKey` | Required for using TLS | Input/Output | TLS client key in PEM format. Must be used with `clientCert`. Can be `secretKeyRef` to use a secret reference. | See example below
| `backOffMaxRetries` | N | Input | The maximum number of retries to process the message before returning an error. Defaults to `"0"`, which means that no retries will be attempted. `"-1"` can be specified to indicate that messages should be retried indefinitely until they are successfully processed or the application is shutdown. The component will wait 5 seconds between retries. | `"3"` | `backOffMaxRetries` | N | Input | The maximum number of retries to process the message before returning an error. Defaults to `"0"`, which means that no retries will be attempted. `"-1"` can be specified to indicate that messages should be retried indefinitely until they are successfully processed or the application is shutdown. The component will wait 5 seconds between retries. | `"3"`
| `direction` | N | Input/Output | The direction of the binding | `"input"`, `"output"`, `"input, output"`
### Communication using TLS ### Communication using TLS

View File

@ -25,17 +25,19 @@ spec:
version: v1 version: v1
metadata: metadata:
- name: url # Required, define DB connection in DSN format - name: url # Required, define DB connection in DSN format
value: <CONNECTION_STRING> value: "<CONNECTION_STRING>"
- name: pemPath # Optional - name: pemPath # Optional
value: <PEM PATH> value: "<PEM PATH>"
- name: maxIdleConns - name: maxIdleConns
value: <MAX_IDLE_CONNECTIONS> value: "<MAX_IDLE_CONNECTIONS>"
- name: maxOpenConns - name: maxOpenConns
value: <MAX_OPEN_CONNECTIONS> value: "<MAX_OPEN_CONNECTIONS>"
- name: connMaxLifetime - name: connMaxLifetime
value: <CONNECTILN_MAX_LIFE_TIME> value: "<CONNECTION_MAX_LIFE_TIME>"
- name: connMaxIdleTime - name: connMaxIdleTime
value: <CONNECTION_MAX_IDLE_TIME> value: "<CONNECTION_MAX_IDLE_TIME>"
- name: direction
value: "<DIRECTION_OF_BINDING>"
``` ```
{{% alert title="Warning" color="warning" %}} {{% alert title="Warning" color="warning" %}}
@ -47,12 +49,13 @@ Note that you can not use secret just for username/password. If you use secret,
| Field | Required | Binding support | Details | Example | | Field | Required | Binding support | Details | Example |
|--------------------|:--------:|------------|-----|---------| |--------------------|:--------:|------------|-----|---------|
| url | Y | Output | Represent DB connection in Data Source Name (DNS) format. See [here](#ssl-connection-details) SSL details | `"user:password@tcp(localhost:3306)/dbname"` | | `url` | Y | Output | Represent DB connection in Data Source Name (DNS) format. See [here](#ssl-connection-details) SSL details | `"user:password@tcp(localhost:3306)/dbname"` |
| pemPath | Y | Output | Path to the PEM file. Used with SSL connection | `"path/to/pem/file"` | | `pemPath` | Y | Output | Path to the PEM file. Used with SSL connection | `"path/to/pem/file"` |
| maxIdleConns | N | Output | The max idle connections. Integer greater than 0 | `"10"` | | `maxIdleConns` | N | Output | The max idle connections. Integer greater than 0 | `"10"` |
| maxOpenConns | N | Output | The max open connections. Integer greater than 0 | `"10"` | | `maxOpenConns` | N | Output | The max open connections. Integer greater than 0 | `"10"` |
| connMaxLifetime | N | Output | The max connection lifetime. Duration string | `"12s"` | | `connMaxLifetime` | N | Output | The max connection lifetime. Duration string | `"12s"` |
| connMaxIdleTime | N | Output | The max connection idel time. Duration string | `"12s"` | | `connMaxIdleTime` | N | Output | The max connection idel time. Duration string | `"12s"` |
| `direction` | N | Output | The direction of the binding | `"output"` |
### SSL connection ### SSL connection

View File

@ -23,7 +23,9 @@ spec:
version: v1 version: v1
metadata: metadata:
- name: url # Required - name: url # Required
value: <CONNECTION_STRING> value: "<CONNECTION_STRING>"
- name: direction
value: "<DIRECTION_OF_BINDING>"
``` ```
{{% alert title="Warning" color="warning" %}} {{% alert title="Warning" color="warning" %}}
@ -34,7 +36,8 @@ The above example uses secrets as plain strings. It is recommended to use a secr
| Field | Required | Binding support | Details | Example | | Field | Required | Binding support | Details | Example |
|--------------------|:--------:|------------|-----|---------| |--------------------|:--------:|------------|-----|---------|
| url | Y | Output | PostgreSQL connection string See [here](#url-format) for more details | `"user=dapr password=secret host=dapr.example.com port=5432 dbname=dapr sslmode=verify-ca"` | | `url` | Y | Output | PostgreSQL connection string See [here](#url-format) for more details | `"user=dapr password=secret host=dapr.example.com port=5432 dbname=dapr sslmode=verify-ca"` |
| `direction` | N | Output | The direction of the binding | `"output"` |
### URL format ### URL format

View File

@ -30,6 +30,8 @@ spec:
value: "dave@dapr.io" # optional value: "dave@dapr.io" # optional
- name: subject - name: subject
value: "Hello!" # optional value: "Hello!" # optional
- name: direction
value: "output" # optional
``` ```
{{% alert title="Warning" color="warning" %}} {{% alert title="Warning" color="warning" %}}
The above example uses secrets as plain strings. It is recommended to use a secret store for the secrets as described [here]({{< ref component-secrets.md >}}). The above example uses secrets as plain strings. It is recommended to use a secret store for the secrets as described [here]({{< ref component-secrets.md >}}).
@ -39,13 +41,14 @@ The above example uses secrets as plain strings. It is recommended to use a secr
| Field | Required | Binding support | Details | Example | | Field | Required | Binding support | Details | Example |
|--------------------|:--------:|------------|-----|---------| |--------------------|:--------:|------------|-----|---------|
| accountToken | Y | Output | The Postmark account token, this should be considered a secret value | `"account token"` | | `accountToken` | Y | Output | The Postmark account token, this should be considered a secret value | `"account token"` |
| serverToken | Y | Output | The Postmark server token, this should be considered a secret value | `"server token"` | | `serverToken` | Y | Output | The Postmark server token, this should be considered a secret value | `"server token"` |
| emailFrom | N | Output | If set this specifies the 'from' email address of the email message | `"me@exmaple.com"` | | `emailFrom` | N | Output | If set this specifies the 'from' email address of the email message | `"me@exmaple.com"` |
| emailTo | N | Output | If set this specifies the 'to' email address of the email message | `"me@example.com"` | | `emailTo` | N | Output | If set this specifies the 'to' email address of the email message | `"me@example.com"` |
| emailCc | N | Output | If set this specifies the 'cc' email address of the email message | `"me@example.com"` | | `emailCc` | N | Output | If set this specifies the 'cc' email address of the email message | `"me@example.com"` |
| emailBcc | N | Output | If set this specifies the 'bcc' email address of the email message | `"me@example.com"` | | `emailBcc` | N | Output | If set this specifies the 'bcc' email address of the email message | `"me@example.com"` |
| subject | N | Output | If set this specifies the subject of the email message | `"me@example.com"` | | `subject` | N | Output | If set this specifies the subject of the email message | `"me@example.com"` |
| `direction` | N | Output | The direction of the binding | `"output"` |
You can specify any of the optional metadata properties on the output binding request too (e.g. `emailFrom`, `emailTo`, `subject`, etc.) You can specify any of the optional metadata properties on the output binding request too (e.g. `emailFrom`, `emailTo`, `subject`, etc.)

View File

@ -22,33 +22,35 @@ spec:
version: v1 version: v1
metadata: metadata:
- name: queueName - name: queueName
value: queue1 value: "queue1"
- name: host - name: host
value: amqp://[username][:password]@host.domain[:port] value: "amqp://[username][:password]@host.domain[:port]"
- name: durable - name: durable
value: true value: "true"
- name: deleteWhenUnused - name: deleteWhenUnused
value: false value: "false"
- name: ttlInSeconds - name: ttlInSeconds
value: 60 value: "60"
- name: prefetchCount - name: prefetchCount
value: 0 value: "0"
- name: exclusive - name: exclusive
value: false value: "false"
- name: maxPriority - name: maxPriority
value: 5 value: "5"
- name: contentType - name: contentType
value: "text/plain" value: "text/plain"
- name: reconnectWaitInSeconds - name: reconnectWaitInSeconds
value: 5 value: "5"
- name: externalSasl - name: externalSasl
value: false value: "false"
- name: caCert - name: caCert
value: null value: "null"
- name: clientCert - name: clientCert
value: null value: "null"
- name: clientKey - name: clientKey
value: null value: "null"
- name: direction
value: "input, output"
``` ```
{{% alert title="Warning" color="warning" %}} {{% alert title="Warning" color="warning" %}}
@ -61,20 +63,21 @@ The above example uses secrets as plain strings. It is recommended to use a secr
| Field | Required | Binding support | Details | Example | | Field | Required | Binding support | Details | Example |
|--------------------|:--------:|------------|-----|---------| |--------------------|:--------:|------------|-----|---------|
| queueName | Y | Input/Output | The RabbitMQ queue name | `"myqueue"` | | `queueName` | Y | Input/Output | The RabbitMQ queue name | `"myqueue"` |
| host | Y | Input/Output | The RabbitMQ host address | `"amqp://[username][:password]@host.domain[:port]"` or with TLS: `"amqps://[username][:password]@host.domain[:port]"` | | `host` | Y | Input/Output | The RabbitMQ host address | `"amqp://[username][:password]@host.domain[:port]"` or with TLS: `"amqps://[username][:password]@host.domain[:port]"` |
| durable | N | Output | Tells RabbitMQ to persist message in storage. Defaults to `"false"` | `"true"`, `"false"` | | `durable` | N | Output | Tells RabbitMQ to persist message in storage. Defaults to `"false"` | `"true"`, `"false"` |
| deleteWhenUnused | N | Input/Output | Enables or disables auto-delete. Defaults to `"false"` | `"true"`, `"false"` | | `deleteWhenUnused` | N | Input/Output | Enables or disables auto-delete. Defaults to `"false"` | `"true"`, `"false"` |
| ttlInSeconds | N | Output | Set the [default message time to live at RabbitMQ queue level](https://www.rabbitmq.com/ttl.html). If this parameter is omitted, messages won't expire, continuing to exist on the queue until processed. See [also](#specifying-a-ttl-per-message) | `60` | | `ttlInSeconds` | N | Output | Set the [default message time to live at RabbitMQ queue level](https://www.rabbitmq.com/ttl.html). If this parameter is omitted, messages won't expire, continuing to exist on the queue until processed. See [also](#specifying-a-ttl-per-message) | `60` |
| prefetchCount | N | Input | Set the [Channel Prefetch Setting (QoS)](https://www.rabbitmq.com/confirms.html#channel-qos-prefetch). If this parameter is omiited, QoS would set value to 0 as no limit | `0` | | `prefetchCount` | N | Input | Set the [Channel Prefetch Setting (QoS)](https://www.rabbitmq.com/confirms.html#channel-qos-prefetch). If this parameter is omiited, QoS would set value to 0 as no limit | `0` |
| exclusive | N | Input/Output | Determines whether the topic will be an exclusive topic or not. Defaults to `"false"` | `"true"`, `"false"` | | `exclusive` | N | Input/Output | Determines whether the topic will be an exclusive topic or not. Defaults to `"false"` | `"true"`, `"false"` |
| maxPriority| N | Input/Output | Parameter to set the [priority queue](https://www.rabbitmq.com/priority.html). If this parameter is omitted, queue will be created as a general queue instead of a priority queue. Value between 1 and 255. See [also](#specifying-a-priority-per-message) | `"1"`, `"10"` | | `maxPriority`| N | Input/Output | Parameter to set the [priority queue](https://www.rabbitmq.com/priority.html). If this parameter is omitted, queue will be created as a general queue instead of a priority queue. Value between 1 and 255. See [also](#specifying-a-priority-per-message) | `"1"`, `"10"` |
| contentType | N | Input/Output | The content type of the message. Defaults to "text/plain". | `"text/plain"`, `"application/cloudevent+json"` and so on | | `contentType` | N | Input/Output | The content type of the message. Defaults to "text/plain". | `"text/plain"`, `"application/cloudevent+json"` and so on |
| reconnectWaitInSeconds | N | Input/Output | Represents the duration in seconds that the client should wait before attempting to reconnect to the server after a disconnection occurs. Defaults to `"5"`. | `"5"`, `"10"` | | `reconnectWaitInSeconds` | N | Input/Output | Represents the duration in seconds that the client should wait before attempting to reconnect to the server after a disconnection occurs. Defaults to `"5"`. | `"5"`, `"10"` |
| externalSasl | N | Input/Output | With TLS, should the username be taken from an additional field (e.g. CN.) See [RabbitMQ Authentication Mechanisms](https://www.rabbitmq.com/access-control.html#mechanisms). Defaults to `"false"`. | `"true"`, `"false"` | | `externalSasl` | N | Input/Output | With TLS, should the username be taken from an additional field (e.g. CN.) See [RabbitMQ Authentication Mechanisms](https://www.rabbitmq.com/access-control.html#mechanisms). Defaults to `"false"`. | `"true"`, `"false"` |
| caCert | N | Input/Output | The CA certificate to use for TLS connection. Defaults to `null`. | `"-----BEGIN CERTIFICATE-----\nMI..."` | | `caCert` | N | Input/Output | The CA certificate to use for TLS connection. Defaults to `null`. | `"-----BEGIN CERTIFICATE-----\nMI..."` |
| clientCert | N | Input/Output | The client certificate to use for TLS connection. Defaults to `null`. | `"-----BEGIN CERTIFICATE-----\nMI..."` | | `clientCert` | N | Input/Output | The client certificate to use for TLS connection. Defaults to `null`. | `"-----BEGIN CERTIFICATE-----\nMI..."` |
| clientKey | N | Input/Output | The client key to use for TLS connection. Defaults to `null`. | `"-----BEGIN PRIVATE KEY-----\nMI..."` | | `clientKey` | N | Input/Output | The client key to use for TLS connection. Defaults to `null`. | `"-----BEGIN PRIVATE KEY-----\nMI..."` |
| `direction` | N | Input/Output | The direction of the binding. | `"input"`, `"output"`, `"input, output"` |
## Binding support ## Binding support

View File

@ -22,11 +22,13 @@ spec:
version: v1 version: v1
metadata: metadata:
- name: redisHost - name: redisHost
value: <address>:6379 value: "<address>:6379"
- name: redisPassword - name: redisPassword
value: ************** value: "**************"
- name: enableTLS - name: enableTLS
value: <bool> value: "<bool>"
- name: direction
value: "output"
``` ```
{{% alert title="Warning" color="warning" %}} {{% alert title="Warning" color="warning" %}}
@ -37,29 +39,29 @@ The above example uses secrets as plain strings. It is recommended to use a secr
| Field | Required | Binding support | Details | Example | | Field | Required | Binding support | Details | Example |
|--------------------|:--------:|------------|-----|---------| |--------------------|:--------:|------------|-----|---------|
| redisHost | Y | Output | The Redis host address | `"localhost:6379"` | | `redisHost` | Y | Output | The Redis host address | `"localhost:6379"` |
| redisPassword | Y | Output | The Redis password | `"password"` | | `redisPassword` | Y | Output | The Redis password | `"password"` |
| redisUsername | N | Output | Username for Redis host. Defaults to empty. Make sure your redis server version is 6 or above, and have created acl rule correctly. | `"username"` | | `redisUsername` | N | Output | Username for Redis host. Defaults to empty. Make sure your redis server version is 6 or above, and have created acl rule correctly. | `"username"` |
| enableTLS | N | Output | If the Redis instance supports TLS with public certificates it can be configured to enable or disable TLS. Defaults to `"false"` | `"true"`, `"false"` | | `enableTLS` | N | Output | If the Redis instance supports TLS with public certificates it can be configured to enable or disable TLS. Defaults to `"false"` | `"true"`, `"false"` |
| failover | N | Output | Property to enabled failover configuration. Needs sentinalMasterName to be set. Defaults to `"false"` | `"true"`, `"false"` | `failover` | N | Output | Property to enabled failover configuration. Needs sentinalMasterName to be set. Defaults to `"false"` | `"true"`, `"false"`
| sentinelMasterName | N | Output | The sentinel master name. See [Redis Sentinel Documentation](https://redis.io/docs/reference/sentinel-clients/) | `""`, `"127.0.0.1:6379"` | `sentinelMasterName` | N | Output | The sentinel master name. See [Redis Sentinel Documentation](https://redis.io/docs/reference/sentinel-clients/) | `""`, `"127.0.0.1:6379"`
| redeliverInterval | N | Output | The interval between checking for pending messages to redelivery. Defaults to `"60s"`. `"0"` disables redelivery. | `"30s"` | `redeliverInterval` | N | Output | The interval between checking for pending messages to redelivery. Defaults to `"60s"`. `"0"` disables redelivery. | `"30s"`
| processingTimeout | N | Output | The amount time a message must be pending before attempting to redeliver it. Defaults to `"15s"`. `"0"` disables redelivery. | `"30s"` | `processingTimeout` | N | Output | The amount time a message must be pending before attempting to redeliver it. Defaults to `"15s"`. `"0"` disables redelivery. | `"30s"`
| redisType | N | Output | The type of redis. There are two valid values, one is `"node"` for single node mode, the other is `"cluster"` for redis cluster mode. Defaults to `"node"`. | `"cluster"` | `redisType` | N | Output | The type of redis. There are two valid values, one is `"node"` for single node mode, the other is `"cluster"` for redis cluster mode. Defaults to `"node"`. | `"cluster"`
| redisDB | N | Output | Database selected after connecting to redis. If `"redisType"` is `"cluster"` this option is ignored. Defaults to `"0"`. | `"0"` | `redisDB` | N | Output | Database selected after connecting to redis. If `"redisType"` is `"cluster"` this option is ignored. Defaults to `"0"`. | `"0"`
| redisMaxRetries | N | Output | Maximum number of times to retry commands before giving up. Default is to not retry failed commands. | `"5"` | `redisMaxRetries` | N | Output | Maximum number of times to retry commands before giving up. Default is to not retry failed commands. | `"5"`
| redisMinRetryInterval | N | Output | Minimum backoff for redis commands between each retry. Default is `"8ms"`; `"-1"` disables backoff. | `"8ms"` | `redisMinRetryInterval` | N | Output | Minimum backoff for redis commands between each retry. Default is `"8ms"`; `"-1"` disables backoff. | `"8ms"`
| redisMaxRetryInterval | N | Output | Maximum backoff for redis commands between each retry. Default is `"512ms"`;`"-1"` disables backoff. | `"5s"` | `redisMaxRetryInterval` | N | Output | Maximum backoff for redis commands between each retry. Default is `"512ms"`;`"-1"` disables backoff. | `"5s"`
| dialTimeout | N | Output | Dial timeout for establishing new connections. Defaults to `"5s"`. | `"5s"` | `dialTimeout` | N | Output | Dial timeout for establishing new connections. Defaults to `"5s"`. | `"5s"`
| readTimeout | N | Output | Timeout for socket reads. If reached, redis commands will fail with a timeout instead of blocking. Defaults to `"3s"`, `"-1"` for no timeout. | `"3s"` | `readTimeout` | N | Output | Timeout for socket reads. If reached, redis commands will fail with a timeout instead of blocking. Defaults to `"3s"`, `"-1"` for no timeout. | `"3s"`
| writeTimeout | N | Output | Timeout for socket writes. If reached, redis commands will fail with a timeout instead of blocking. Defaults is readTimeout. | `"3s"` | `writeTimeout` | N | Output | Timeout for socket writes. If reached, redis commands will fail with a timeout instead of blocking. Defaults is readTimeout. | `"3s"`
| poolSize | N | Output | Maximum number of socket connections. Default is 10 connections per every CPU as reported by runtime.NumCPU. | `"20"` | `poolSize` | N | Output | Maximum number of socket connections. Default is 10 connections per every CPU as reported by runtime.NumCPU. | `"20"`
| poolTimeout | N | Output | Amount of time client waits for a connection if all connections are busy before returning an error. Default is readTimeout + 1 second. | `"5s"` | `poolTimeout` | N | Output | Amount of time client waits for a connection if all connections are busy before returning an error. Default is readTimeout + 1 second. | `"5s"`
| maxConnAge | N | Output | Connection age at which the client retires (closes) the connection. Default is to not close aged connections. | `"30m"` | `maxConnAge` | N | Output | Connection age at which the client retires (closes) the connection. Default is to not close aged connections. | `"30m"`
| minIdleConns | N | Output | Minimum number of idle connections to keep open in order to avoid the performance degradation associated with creating new connections. Defaults to `"0"`. | `"2"` | `minIdleConns` | N | Output | Minimum number of idle connections to keep open in order to avoid the performance degradation associated with creating new connections. Defaults to `"0"`. | `"2"`
| idleCheckFrequency | N | Output | Frequency of idle checks made by idle connections reaper. Default is `"1m"`. `"-1"` disables idle connections reaper. | `"-1"` | `idleCheckFrequency` | N | Output | Frequency of idle checks made by idle connections reaper. Default is `"1m"`. `"-1"` disables idle connections reaper. | `"-1"`
| idleTimeout | N | Output | Amount of time after which the client closes idle connections. Should be less than server's timeout. Default is `"5m"`. `"-1"` disables idle timeout check. | `"10m"` | `idleTimeout` | N | Output | Amount of time after which the client closes idle connections. Should be less than server's timeout. Default is `"5m"`. `"-1"` disables idle timeout check. | `"10m"`
| `direction` | N | Output | Direction of the binding. | `"output"`
## Binding support ## Binding support

View File

@ -15,7 +15,6 @@ To enable users to track change of the state of actors, this binding leverages R
To setup RethinkDB statechange binding create a component of type `bindings.rethinkdb.statechange`. See [this guide]({{< ref "howto-bindings.md#1-create-a-binding" >}}) on how to create and apply a binding configuration. To setup RethinkDB statechange binding create a component of type `bindings.rethinkdb.statechange`. See [this guide]({{< ref "howto-bindings.md#1-create-a-binding" >}}) on how to create and apply a binding configuration.
```yaml ```yaml
apiVersion: dapr.io/v1alpha1 apiVersion: dapr.io/v1alpha1
kind: Component kind: Component
@ -26,17 +25,20 @@ spec:
version: v1 version: v1
metadata: metadata:
- name: address - name: address
value: <REPLACE-RETHINKDB-ADDRESS> # Required, e.g. 127.0.0.1:28015 or rethinkdb.default.svc.cluster.local:28015). value: "<REPLACE-RETHINKDB-ADDRESS>" # Required, e.g. 127.0.0.1:28015 or rethinkdb.default.svc.cluster.local:28015).
- name: database - name: database
value: <REPLACE-RETHINKDB-DB-NAME> # Required, e.g. dapr (alpha-numerics only) value: "<REPLACE-RETHINKDB-DB-NAME>" # Required, e.g. dapr (alpha-numerics only)
- name: direction
value: "<DIRECTION-OF-RETHINKDB-BINDING>"
``` ```
## Spec metadata fields ## Spec metadata fields
| Field | Required | Binding support | Details | Example | | Field | Required | Binding support | Details | Example |
|--------------------|:--------:|------------|-----|---------| |--------------------|:--------:|------------|-----|---------|
| address | Y | Input | Address of RethinkDB server | `"27.0.0.1:28015"`, `"rethinkdb.default.svc.cluster.local:28015"` | | `address` | Y | Input | Address of RethinkDB server | `"27.0.0.1:28015"`, `"rethinkdb.default.svc.cluster.local:28015"` |
| database | Y | Input | RethinDB database name | `"dapr"` | | `database` | Y | Input | RethinDB database name | `"dapr"` |
| `direction` | N | Input | Direction of the binding | `"input"` |
## Binding support ## Binding support

View File

@ -23,27 +23,29 @@ spec:
version: v1 version: v1
metadata: metadata:
- name: bucket - name: bucket
value: mybucket value: "mybucket"
- name: region - name: region
value: us-west-2 value: "us-west-2"
- name: endpoint - name: endpoint
value: s3.us-west-2.amazonaws.com value: "s3.us-west-2.amazonaws.com"
- name: accessKey - name: accessKey
value: ***************** value: "*****************"
- name: secretKey - name: secretKey
value: ***************** value: "*****************"
- name: sessionToken - name: sessionToken
value: mysession value: "mysession"
- name: decodeBase64 - name: decodeBase64
value: <bool> value: "<bool>"
- name: encodeBase64 - name: encodeBase64
value: <bool> value: "<bool>"
- name: forcePathStyle - name: forcePathStyle
value: <bool> value: "<bool>"
- name: disableSSL - name: disableSSL
value: <bool> value: "<bool>"
- name: insecureSSL - name: insecureSSL
value: <bool> value: "<bool>"
- name: direction
value: "output"
``` ```
{{% alert title="Warning" color="warning" %}} {{% alert title="Warning" color="warning" %}}
@ -54,17 +56,18 @@ The above example uses secrets as plain strings. It is recommended to use a secr
| Field | Required | Binding support | Details | Example | | Field | Required | Binding support | Details | Example |
|--------------------|:--------:|------------|-----|---------| |--------------------|:--------:|------------|-----|---------|
| bucket | Y | Output | The name of the S3 bucket to write to | `"bucket"` | | `bucket` | Y | Output | The name of the S3 bucket to write to | `"bucket"` |
| region | Y | Output | The specific AWS region | `"us-east-1"` | | `region` | Y | Output | The specific AWS region | `"us-east-1"` |
| endpoint | N | Output | The specific AWS endpoint | `"s3.us-east-1.amazonaws.com"` | | `endpoint` | N | Output | The specific AWS endpoint | `"s3.us-east-1.amazonaws.com"` |
| accessKey | Y | Output | The AWS Access Key to access this resource | `"key"` | | `accessKey` | Y | Output | The AWS Access Key to access this resource | `"key"` |
| secretKey | Y | Output | The AWS Secret Access Key to access this resource | `"secretAccessKey"` | | `secretKey` | Y | Output | The AWS Secret Access Key to access this resource | `"secretAccessKey"` |
| sessionToken | N | Output | The AWS session token to use | `"sessionToken"` | | `sessionToken` | N | Output | The AWS session token to use | `"sessionToken"` |
| forcePathStyle | N | Output | Currently Amazon S3 SDK supports virtual hosted-style and path-style access. `true` is path-style format like `https://<endpoint>/<your bucket>/<key>`. `false` is hosted-style format like `https://<your bucket>.<endpoint>/<key>`. Defaults to `false` | `true`, `false` | | `forcePathStyle` | N | Output | Currently Amazon S3 SDK supports virtual hosted-style and path-style access. `"true"` is path-style format like `"https://<endpoint>/<your bucket>/<key>"`. `"false"` is hosted-style format like `"https://<your bucket>.<endpoint>/<key>"`. Defaults to `"false"` | `"true"`, `"false"` |
| decodeBase64 | N | Output | Configuration to decode base64 file content before saving to bucket storage. (In case of saving a file with binary content). `true` is the only allowed positive value. Other positive variations like `"True", "1"` are not acceptable. Defaults to `false` | `true`, `false` | | `decodeBase64` | N | Output | Configuration to decode base64 file content before saving to bucket storage. (In case of saving a file with binary content). `"true"` is the only allowed positive value. Other positive variations like `"True", "1"` are not acceptable. Defaults to `false` | `"true"`, `"false"` |
| encodeBase64 | N | Output | Configuration to encode base64 file content before return the content. (In case of opening a file with binary content). `true` is the only allowed positive value. Other positive variations like `"True", "1"` are not acceptable. Defaults to `false` | `true`, `false` | | `encodeBase64` | N | Output | Configuration to encode base64 file content before return the content. (In case of opening a file with binary content). `"true"` is the only allowed positive value. Other positive variations like `"True", "1"` are not acceptable. Defaults to `"false"` | `"true"`, `"false"` |
| disableSSL | N | Output | Allows to connect to non `https://` endpoints. Defaults to `false` | `true`, `false` | | `disableSSL` | N | Output | Allows to connect to non `https://` endpoints. Defaults to `"false"` | `"true"`, `"false"` |
| insecureSSL | N | Output | When connecting to `https://` endpoints, accepts invalid or self-signed certificates. Defaults to `false` | `true`, `false` | | `insecureSSL` | N | Output | When connecting to `https://` endpoints, accepts invalid or self-signed certificates. Defaults to `"false"` | `"true"`, `"false"` |
| `direction` | N | Output | The direction of the binding | `"output"` |
{{% alert title="Important" color="warning" %}} {{% alert title="Important" color="warning" %}}
When running the Dapr sidecar (daprd) with your application on EKS (AWS Kubernetes), if you're using a node/pod that has already been attached to an IAM policy defining access to AWS resources, you **must not** provide AWS access-key, secret-key, and tokens in the definition of the component spec you're using. When running the Dapr sidecar (daprd) with your application on EKS (AWS Kubernetes), if you're using a node/pod that has already been attached to an IAM policy defining access to AWS resources, you **must not** provide AWS access-key, secret-key, and tokens in the definition of the component spec you're using.

View File

@ -37,6 +37,8 @@ spec:
value: "bob@dapr.io" # optional value: "bob@dapr.io" # optional
- name: apiKey - name: apiKey
value: "YOUR_API_KEY" # required, this is your SendGrid key value: "YOUR_API_KEY" # required, this is your SendGrid key
- name: direction
value: "output"
``` ```
{{% alert title="Warning" color="warning" %}} {{% alert title="Warning" color="warning" %}}
@ -47,15 +49,15 @@ The above example uses secrets as plain strings. It is recommended to use a secr
| Field | Required | Binding support | Details | Example | | Field | Required | Binding support | Details | Example |
|--------------------|:--------:|------------|-----|---------| |--------------------|:--------:|------------|-----|---------|
| apiKey | Y | Output | SendGrid API key, this should be considered a secret value | `"apikey"` | | `apiKey` | Y | Output | SendGrid API key, this should be considered a secret value | `"apikey"` |
| emailFrom | N | Output | If set this specifies the 'from' email address of the email message. Only a single email address is allowed. Optional field, see [below](#example-request-payload) | `"me@example.com"` | | `emailFrom` | N | Output | If set this specifies the 'from' email address of the email message. Only a single email address is allowed. Optional field, see [below](#example-request-payload) | `"me@example.com"` |
| emailFromName | N | Output | If set this specifies the 'from' name of the email message. Optional field, see [below](#example-request-payload) | `"me"` | | `emailFromName` | N | Output | If set this specifies the 'from' name of the email message. Optional field, see [below](#example-request-payload) | `"me"` |
| emailTo | N | Output | If set this specifies the 'to' email address of the email message. Only a single email address is allowed. Optional field, see [below](#example-request-payload) | `"me@example.com"` | | `emailTo` | N | Output | If set this specifies the 'to' email address of the email message. Only a single email address is allowed. Optional field, see [below](#example-request-payload) | `"me@example.com"` |
| emailToName | N | Output | If set this specifies the 'to' name of the email message. Optional field, see [below](#example-request-payload) | `"me"` | | `emailToName` | N | Output | If set this specifies the 'to' name of the email message. Optional field, see [below](#example-request-payload) | `"me"` |
| emailCc | N | Output | If set this specifies the 'cc' email address of the email message. Only a single email address is allowed. Optional field, see [below](#example-request-payload) | `"me@example.com"` | | `emailCc` | N | Output | If set this specifies the 'cc' email address of the email message. Only a single email address is allowed. Optional field, see [below](#example-request-payload) | `"me@example.com"` |
| emailBcc | N | Output | If set this specifies the 'bcc' email address of the email message. Only a single email address is allowed. Optional field, see [below](#example-request-payload) | `"me@example.com"` | | `emailBcc` | N | Output | If set this specifies the 'bcc' email address of the email message. Only a single email address is allowed. Optional field, see [below](#example-request-payload) | `"me@example.com"` |
| subject | N | Output | If set this specifies the subject of the email message. Optional field, see [below](#example-request-payload) | `"subject of the email"` | | `subject` | N | Output | If set this specifies the subject of the email message. Optional field, see [below](#example-request-payload) | `"subject of the email"` |
| `direction` | N | Output | The direction of the binding | `"output"` |
## Binding support ## Binding support

View File

@ -25,37 +25,39 @@ spec:
- name: connectionString # Required when not using Azure Authentication. - name: connectionString # Required when not using Azure Authentication.
value: "Endpoint=sb://{ServiceBusNamespace}.servicebus.windows.net/;SharedAccessKeyName={PolicyName};SharedAccessKey={Key};EntityPath={ServiceBus}" value: "Endpoint=sb://{ServiceBusNamespace}.servicebus.windows.net/;SharedAccessKeyName={PolicyName};SharedAccessKey={Key};EntityPath={ServiceBus}"
- name: queueName - name: queueName
value: queue1 value: "queue1"
# - name: timeoutInSec # Optional # - name: timeoutInSec # Optional
# value: 60 # value: "60"
# - name: handlerTimeoutInSec # Optional # - name: handlerTimeoutInSec # Optional
# value: 60 # value: "60"
# - name: disableEntityManagement # Optional # - name: disableEntityManagement # Optional
# value: "false" # value: "false"
# - name: maxDeliveryCount # Optional # - name: maxDeliveryCount # Optional
# value: 3 # value: "3"
# - name: lockDurationInSec # Optional # - name: lockDurationInSec # Optional
# value: 60 # value: "60"
# - name: lockRenewalInSec # Optional # - name: lockRenewalInSec # Optional
# value: 20 # value: "20"
# - name: maxActiveMessages # Optional # - name: maxActiveMessages # Optional
# value: 10000 # value: "10000"
# - name: maxConcurrentHandlers # Optional # - name: maxConcurrentHandlers # Optional
# value: 10 # value: "10"
# - name: defaultMessageTimeToLiveInSec # Optional # - name: defaultMessageTimeToLiveInSec # Optional
# value: 10 # value: "10"
# - name: autoDeleteOnIdleInSec # Optional # - name: autoDeleteOnIdleInSec # Optional
# value: 3600 # value: "3600"
# - name: minConnectionRecoveryInSec # Optional # - name: minConnectionRecoveryInSec # Optional
# value: 2 # value: "2"
# - name: maxConnectionRecoveryInSec # Optional # - name: maxConnectionRecoveryInSec # Optional
# value: 300 # value: "300"
# - name: maxRetriableErrorsPerSec # Optional # - name: maxRetriableErrorsPerSec # Optional
# value: 10 # value: "10"
# - name: publishMaxRetries # Optional # - name: publishMaxRetries # Optional
# value: 5 # value: "5"
# - name: publishInitialRetryIntervalInMs # Optional # - name: publishInitialRetryIntervalInMs # Optional
# value: 500 # value: "500"
# - name: direction
# value: "input, output"
``` ```
{{% alert title="Warning" color="warning" %}} {{% alert title="Warning" color="warning" %}}
The above example uses secrets as plain strings. It is recommended to use a secret store for the secrets as described [here]({{< ref component-secrets.md >}}). The above example uses secrets as plain strings. It is recommended to use a secret store for the secrets as described [here]({{< ref component-secrets.md >}}).
@ -67,25 +69,26 @@ The above example uses secrets as plain strings. It is recommended to use a secr
|--------------------|:--------:|-----------------|----------|---------| |--------------------|:--------:|-----------------|----------|---------|
| `connectionString` | Y | Input/Output | The Service Bus connection string. Required unless using Azure AD authentication. | `"Endpoint=sb://************"` | | `connectionString` | Y | Input/Output | The Service Bus connection string. Required unless using Azure AD authentication. | `"Endpoint=sb://************"` |
| `queueName` | Y | Input/Output | The Service Bus queue name. Queue names are case-insensitive and will always be forced to lowercase. | `"queuename"` | | `queueName` | Y | Input/Output | The Service Bus queue name. Queue names are case-insensitive and will always be forced to lowercase. | `"queuename"` |
| `timeoutInSec` | N | Input/Output | Timeout for all invocations to the Azure Service Bus endpoint, in seconds. *Note that this option impacts network calls and it's unrelated to the TTL applies to messages*. Default: `60` | `60` | | `timeoutInSec` | N | Input/Output | Timeout for all invocations to the Azure Service Bus endpoint, in seconds. *Note that this option impacts network calls and it's unrelated to the TTL applies to messages*. Default: `"60"` | `"60"` |
| `namespaceName`| N | Input/Output | Parameter to set the address of the Service Bus namespace, as a fully-qualified domain name. Required if using Azure AD authentication. | `"namespace.servicebus.windows.net"` | | `namespaceName`| N | Input/Output | Parameter to set the address of the Service Bus namespace, as a fully-qualified domain name. Required if using Azure AD authentication. | `"namespace.servicebus.windows.net"` |
| `disableEntityManagement` | N | Input/Output | When set to true, queues and subscriptions do not get created automatically. Default: `"false"` | `"true"`, `"false"` | `disableEntityManagement` | N | Input/Output | When set to true, queues and subscriptions do not get created automatically. Default: `"false"` | `"true"`, `"false"`
| `lockDurationInSec` | N | Input/Output | Defines the length in seconds that a message will be locked for before expiring. Used during subscription creation only. Default set by server. | `30` | `lockDurationInSec` | N | Input/Output | Defines the length in seconds that a message will be locked for before expiring. Used during subscription creation only. Default set by server. | `"30"`
| `autoDeleteOnIdleInSec` | N | Input/Output | Time in seconds to wait before auto deleting idle subscriptions. Used during subscription creation only. Default: `0` (disabled) | `3600` | `autoDeleteOnIdleInSec` | N | Input/Output | Time in seconds to wait before auto deleting idle subscriptions. Used during subscription creation only. Default: `"0"` (disabled) | `"3600"`
| `defaultMessageTimeToLiveInSec` | N | Input/Output | Default message time to live, in seconds. Used during subscription creation only. | `10` | `defaultMessageTimeToLiveInSec` | N | Input/Output | Default message time to live, in seconds. Used during subscription creation only. | `"10"`
| `maxDeliveryCount` | N | Input/Output | Defines the number of attempts the server will make to deliver a message. Used during subscription creation only. Default set by server. | `10` | `maxDeliveryCount` | N | Input/Output | Defines the number of attempts the server will make to deliver a message. Used during subscription creation only. Default set by server. | `"10"`
| `minConnectionRecoveryInSec` | N | Input/Output | Minimum interval (in seconds) to wait before attempting to reconnect to Azure Service Bus in case of a connection failure. Default: `2` | `5` | `minConnectionRecoveryInSec` | N | Input/Output | Minimum interval (in seconds) to wait before attempting to reconnect to Azure Service Bus in case of a connection failure. Default: `"2"` | `"5"`
| `maxConnectionRecoveryInSec` | N | Input/Output | Maximum interval (in seconds) to wait before attempting to reconnect to Azure Service Bus in case of a connection failure. After each attempt, the component waits a random number of seconds, increasing every time, between the minimum and the maximum. Default: `300` (5 minutes) | `600` | `maxConnectionRecoveryInSec` | N | Input/Output | Maximum interval (in seconds) to wait before attempting to reconnect to Azure Service Bus in case of a connection failure. After each attempt, the component waits a random number of seconds, increasing every time, between the minimum and the maximum. Default: `"300"` (5 minutes) | `"600"`
| `maxActiveMessages` | N | Defines the maximum number of messages to be processing or in the buffer at once. This should be at least as big as the maximum concurrent handlers. Default: `1` | `1` | `maxActiveMessages` | N | Defines the maximum number of messages to be processing or in the buffer at once. This should be at least as big as the maximum concurrent handlers. Default: `"1"` | `"1"`
| `handlerTimeoutInSec`| N | Input | Timeout for invoking the app's handler. Default: `0` (no timeout) | `30` | `handlerTimeoutInSec`| N | Input | Timeout for invoking the app's handler. Default: `"0"` (no timeout) | `"30"`
| `minConnectionRecoveryInSec` | N | Input | Minimum interval (in seconds) to wait before attempting to reconnect to Azure Service Bus in case of a connection failure. Default: `2` | `5` | | `minConnectionRecoveryInSec` | N | Input | Minimum interval (in seconds) to wait before attempting to reconnect to Azure Service Bus in case of a connection failure. Default: `"2"` | `"5"` |
| `maxConnectionRecoveryInSec` | N | Input | Maximum interval (in seconds) to wait before attempting to reconnect to Azure Service Bus in case of a connection failure. After each attempt, the binding waits a random number of seconds, increasing every time, between the minimum and the maximum. Default: `300` (5 minutes) | `600` | | `maxConnectionRecoveryInSec` | N | Input | Maximum interval (in seconds) to wait before attempting to reconnect to Azure Service Bus in case of a connection failure. After each attempt, the binding waits a random number of seconds, increasing every time, between the minimum and the maximum. Default: `"300"` (5 minutes) | `"600"` |
| `lockRenewalInSec` | N | Input | Defines the frequency at which buffered message locks will be renewed. Default: `20`. | `20` | `lockRenewalInSec` | N | Input | Defines the frequency at which buffered message locks will be renewed. Default: `"20"`. | `"20"`
| `maxActiveMessages` | N | Input | Defines the maximum number of messages to be processing or in the buffer at once. This should be at least as big as the maximum concurrent handlers. Default: `1` | `2000` | `maxActiveMessages` | N | Input | Defines the maximum number of messages to be processing or in the buffer at once. This should be at least as big as the maximum concurrent handlers. Default: `"1"` | `"2000"`
| `maxConcurrentHandlers` | N | Input | Defines the maximum number of concurrent message handlers; set to `0` for unlimited. Default: `1` | `10` | `maxConcurrentHandlers` | N | Input | Defines the maximum number of concurrent message handlers; set to `0` for unlimited. Default: `"1"` | `"10"`
| `maxRetriableErrorsPerSec` | N | Input | Maximum number of retriable errors that are processed per second. If a message fails to be processed with a retriable error, the component adds a delay before it starts processing another message, to avoid immediately re-processing messages that have failed. Default: `10` | `10` | `maxRetriableErrorsPerSec` | N | Input | Maximum number of retriable errors that are processed per second. If a message fails to be processed with a retriable error, the component adds a delay before it starts processing another message, to avoid immediately re-processing messages that have failed. Default: `"10"` | `"10"`
| `publishMaxRetries` | N | Output | The max number of retries for when Azure Service Bus responds with "too busy" in order to throttle messages. Defaults: `5` | `5` | `publishMaxRetries` | N | Output | The max number of retries for when Azure Service Bus responds with "too busy" in order to throttle messages. Defaults: `"5"` | `"5"`
| `publishInitialRetryIntervalInMs` | N | Output | Time in milliseconds for the initial exponential backoff when Azure Service Bus throttle messages. Defaults: `500` | `500` | `publishInitialRetryIntervalInMs` | N | Output | Time in milliseconds for the initial exponential backoff when Azure Service Bus throttle messages. Defaults: `"500"` | `"500"`
| `direction` | N | Input/Output | The direction of the binding | `"input"`, `"output"`, `"input, output"`
### Azure Active Directory (AAD) authentication ### Azure Active Directory (AAD) authentication

View File

@ -40,6 +40,8 @@ spec:
value: "bcc@example.com" value: "bcc@example.com"
- name: subject - name: subject
value: "subject" value: "subject"
- name: direction
value: "output"
``` ```
{{% alert title="Warning" color="warning" %}} {{% alert title="Warning" color="warning" %}}
@ -50,15 +52,16 @@ The above example uses secrets as plain strings. It is recommended to use a secr
| Field | Required | Binding support | Details | Example | | Field | Required | Binding support | Details | Example |
|--------------------|:--------:|------------|-----|---------| |--------------------|:--------:|------------|-----|---------|
| region | N | Output | The specific AWS region | `"eu-west-1"` | | `region` | N | Output | The specific AWS region | `"eu-west-1"` |
| accessKey | N | Output | The AWS Access Key to access this resource | `"key"` | | `accessKey` | N | Output | The AWS Access Key to access this resource | `"key"` |
| secretKey | N | Output | The AWS Secret Access Key to access this resource | `"secretAccessKey"` | | `secretKey` | N | Output | The AWS Secret Access Key to access this resource | `"secretAccessKey"` |
| sessionToken | N | Output | The AWS session token to use | `"sessionToken"` | | `sessionToken` | N | Output | The AWS session token to use | `"sessionToken"` |
| emailFrom | N | Output | If set, this specifies the email address of the sender. See [also](#example-request) | `"me@example.com"` | | `emailFrom` | N | Output | If set, this specifies the email address of the sender. See [also](#example-request) | `"me@example.com"` |
| emailTo | N | Output | If set, this specifies the email address of the receiver. See [also](#example-request) | `"me@example.com"` | | `emailTo` | N | Output | If set, this specifies the email address of the receiver. See [also](#example-request) | `"me@example.com"` |
| emailCc | N | Output | If set, this specifies the email address to CC in. See [also](#example-request) | `"me@example.com"` | | `emailCc` | N | Output | If set, this specifies the email address to CC in. See [also](#example-request) | `"me@example.com"` |
| emailBcc | N | Output | If set, this specifies email address to BCC in. See [also](#example-request) | `"me@example.com"` | | `emailBcc` | N | Output | If set, this specifies email address to BCC in. See [also](#example-request) | `"me@example.com"` |
| subject | N | Output | If set, this specifies the subject of the email message. See [also](#example-request) | `"subject of mail"` | | `subject` | N | Output | If set, this specifies the subject of the email message. See [also](#example-request) | `"subject of mail"` |
| `direction` | N | Output | The direction of the binding | `"output"` |
{{% alert title="Important" color="warning" %}} {{% alert title="Important" color="warning" %}}
When running the Dapr sidecar (daprd) with your application on EKS (AWS Kubernetes), if you're using a node/pod that has already been attached to an IAM policy defining access to AWS resources, you **must not** provide AWS access-key, secret-key, and tokens in the definition of the component spec you're using. When running the Dapr sidecar (daprd) with your application on EKS (AWS Kubernetes), if you're using a node/pod that has already been attached to an IAM policy defining access to AWS resources, you **must not** provide AWS access-key, secret-key, and tokens in the definition of the component spec you're using.

View File

@ -22,9 +22,11 @@ spec:
version: v1 version: v1
metadata: metadata:
- name: connectionString - name: connectionString
value: Endpoint=https://<your-azure-signalr>.service.signalr.net;AccessKey=<your-access-key>;Version=1.0; value: "Endpoint=https://<your-azure-signalr>.service.signalr.net;AccessKey=<your-access-key>;Version=1.0;"
- name: hub # Optional - name: hub # Optional
value: <hub name> value: "<hub name>"
- name: direction
value: "<direction of binding>"
``` ```
{{% alert title="Warning" color="warning" %}} {{% alert title="Warning" color="warning" %}}
@ -37,8 +39,9 @@ The above example uses secrets as plain strings. It is recommended to use a secr
|--------------------|:--------:|------------|-----|---------| |--------------------|:--------:|------------|-----|---------|
| `connectionString` | Y | Output | The Azure SignalR connection string | `"Endpoint=https://<your-azure-signalr>.service.signalr.net;AccessKey=<your-access-key>;Version=1.0;"` | | `connectionString` | Y | Output | The Azure SignalR connection string | `"Endpoint=https://<your-azure-signalr>.service.signalr.net;AccessKey=<your-access-key>;Version=1.0;"` |
| `hub` | N | Output | Defines the hub in which the message will be send. The hub can be dynamically defined as a metadata value when publishing to an output binding (key is "hub") | `"myhub"` | | `hub` | N | Output | Defines the hub in which the message will be send. The hub can be dynamically defined as a metadata value when publishing to an output binding (key is "hub") | `"myhub"` |
| `endpoint` | N | Output | Endpoint of Azure SignalR; required if not included in the `connectionString` or if using Azure AD | `https://<your-azure-signalr>.service.signalr.net` | `endpoint` | N | Output | Endpoint of Azure SignalR; required if not included in the `connectionString` or if using Azure AD | `"https://<your-azure-signalr>.service.signalr.net"`
| `accessKey` | N | Output | Access key | `your-access-key` | `accessKey` | N | Output | Access key | `"your-access-key"`
| `direction` | N | Output | The direction of the binding | `"output"`
### Azure Active Directory (Azure AD) authentication ### Azure Active Directory (Azure AD) authentication

View File

@ -43,6 +43,8 @@ spec:
value: "subject" value: "subject"
- name: priority - name: priority
value: "[value 1-5]" value: "[value 1-5]"
- name: direction
value: "output"
``` ```
{{% alert title="Warning" color="warning" %}} {{% alert title="Warning" color="warning" %}}
@ -53,17 +55,18 @@ The example configuration shown above, contain a username and password as plain-
| Field | Required | Binding support | Details | Example | | Field | Required | Binding support | Details | Example |
|--------------------|:--------:|------------|-----|---------| |--------------------|:--------:|------------|-----|---------|
| host | Y | Output | The host where your SMTP server runs | `"smtphost"` | | `host` | Y | Output | The host where your SMTP server runs | `"smtphost"` |
| port | Y | Output | The port your SMTP server listens on | `"9999"` | | `port` | Y | Output | The port your SMTP server listens on | `"9999"` |
| user | Y | Output | The user to authenticate against the SMTP server | `"user"` | | `user` | Y | Output | The user to authenticate against the SMTP server | `"user"` |
| password | Y | Output | The password of the user | `"password"` | | `password` | Y | Output | The password of the user | `"password"` |
| skipTLSVerify | N | Output | If set to true, the SMPT server's TLS certificate will not be verified. Defaults to `"false"` | `"true"`, `"false"` | | `skipTLSVerify` | N | Output | If set to true, the SMPT server's TLS certificate will not be verified. Defaults to `"false"` | `"true"`, `"false"` |
| emailFrom | N | Output | If set, this specifies the email address of the sender. See [also](#example-request) | `"me@example.com"` | | `emailFrom` | N | Output | If set, this specifies the email address of the sender. See [also](#example-request) | `"me@example.com"` |
| emailTo | N | Output | If set, this specifies the email address of the receiver. See [also](#example-request) | `"me@example.com"` | | `emailTo` | N | Output | If set, this specifies the email address of the receiver. See [also](#example-request) | `"me@example.com"` |
| emailCc | N | Output | If set, this specifies the email address to CC in. See [also](#example-request) | `"me@example.com"` | | `emailCc` | N | Output | If set, this specifies the email address to CC in. See [also](#example-request) | `"me@example.com"` |
| emailBcc | N | Output | If set, this specifies email address to BCC in. See [also](#example-request) | `"me@example.com"` | | `emailBcc` | N | Output | If set, this specifies email address to BCC in. See [also](#example-request) | `"me@example.com"` |
| subject | N | Output | If set, this specifies the subject of the email message. See [also](#example-request) | `"subject of mail"` | | `subject` | N | Output | If set, this specifies the subject of the email message. See [also](#example-request) | `"subject of mail"` |
| priority | N | Output | If set, this specifies the priority (X-Priority) of the email message, from 1 (lowest) to 5 (highest) (default value: 3). See [also](#example-request) | `"1"` | | `priority` | N | Output | If set, this specifies the priority (X-Priority) of the email message, from 1 (lowest) to 5 (highest) (default value: 3). See [also](#example-request) | `"1"` |
| `direction` | N | Output | The direction of the binding | `"output"` |
## Binding support ## Binding support

View File

@ -23,16 +23,17 @@ spec:
version: v1 version: v1
metadata: metadata:
- name: topicArn - name: topicArn
value: mytopic value: "mytopic"
- name: region - name: region
value: us-west-2 value: "us-west-2"
- name: accessKey - name: accessKey
value: ***************** value: "*****************"
- name: secretKey - name: secretKey
value: ***************** value: "*****************"
- name: sessionToken - name: sessionToken
value: ***************** value: "*****************"
- name: direction
value: "output"
``` ```
{{% alert title="Warning" color="warning" %}} {{% alert title="Warning" color="warning" %}}
@ -43,11 +44,12 @@ The above example uses secrets as plain strings. It is recommended to use a secr
| Field | Required | Binding support | Details | Example | | Field | Required | Binding support | Details | Example |
|--------------------|:--------:|------------|-----|---------| |--------------------|:--------:|------------|-----|---------|
| topicArn | Y | Output | The SNS topic name | `"arn:::topicarn"` | | `topicArn` | Y | Output | The SNS topic name | `"arn:::topicarn"` |
| region | Y | Output | The specific AWS region | `"us-east-1"` | | `region` | Y | Output | The specific AWS region | `"us-east-1"` |
| accessKey | Y | Output | The AWS Access Key to access this resource | `"key"` | | `accessKey` | Y | Output | The AWS Access Key to access this resource | `"key"` |
| secretKey | Y | Output | The AWS Secret Access Key to access this resource | `"secretAccessKey"` | | `secretKey` | Y | Output | The AWS Secret Access Key to access this resource | `"secretAccessKey"` |
| sessionToken | N | Output | The AWS session token to use | `"sessionToken"` | | `sessionToken` | N | Output | The AWS session token to use | `"sessionToken"` |
| `direction` | N | Output | The direction of the binding | `"output"` |
{{% alert title="Important" color="warning" %}} {{% alert title="Important" color="warning" %}}
When running the Dapr sidecar (daprd) with your application on EKS (AWS Kubernetes), if you're using a node/pod that has already been attached to an IAM policy defining access to AWS resources, you **must not** provide AWS access-key, secret-key, and tokens in the definition of the component spec you're using. When running the Dapr sidecar (daprd) with your application on EKS (AWS Kubernetes), if you're using a node/pod that has already been attached to an IAM policy defining access to AWS resources, you **must not** provide AWS access-key, secret-key, and tokens in the definition of the component spec you're using.

View File

@ -23,16 +23,17 @@ spec:
version: v1 version: v1
metadata: metadata:
- name: queueName - name: queueName
value: items value: "items"
- name: region - name: region
value: us-west-2 value: "us-west-2"
- name: accessKey - name: accessKey
value: ***************** value: "*****************"
- name: secretKey - name: secretKey
value: ***************** value: "*****************"
- name: sessionToken - name: sessionToken
value: ***************** value: "*****************"
- name: direction
value: "input, output"
``` ```
{{% alert title="Warning" color="warning" %}} {{% alert title="Warning" color="warning" %}}
@ -43,11 +44,12 @@ The above example uses secrets as plain strings. It is recommended to use a secr
| Field | Required | Binding support | Details | Example | | Field | Required | Binding support | Details | Example |
|--------------------|:--------:|------------|-----|---------| |--------------------|:--------:|------------|-----|---------|
| queueName | Y | Input/Output | The SQS queue name | `"myqueue"` | | `queueName` | Y | Input/Output | The SQS queue name | `"myqueue"` |
| region | Y | Input/Output | The specific AWS region | `"us-east-1"` | | `region` | Y | Input/Output | The specific AWS region | `"us-east-1"` |
| accessKey | Y | Input/Output | The AWS Access Key to access this resource | `"key"` | | `accessKey` | Y | Input/Output | The AWS Access Key to access this resource | `"key"` |
| secretKey | Y | Input/Output | The AWS Secret Access Key to access this resource | `"secretAccessKey"` | | `secretKey` | Y | Input/Output | The AWS Secret Access Key to access this resource | `"secretAccessKey"` |
| sessionToken | N | Input/Output | The AWS session token to use | `"sessionToken"` | | `sessionToken` | N | Input/Output | The AWS session token to use | `"sessionToken"` |
| `direction` | N | Input/Output | The direction of the binding | `"input"`, `"output"`, `"input, output"` |
{{% alert title="Important" color="warning" %}} {{% alert title="Important" color="warning" %}}
When running the Dapr sidecar (daprd) with your application on EKS (AWS Kubernetes), if you're using a node/pod that has already been attached to an IAM policy defining access to AWS resources, you **must not** provide AWS access-key, secret-key, and tokens in the definition of the component spec you're using. When running the Dapr sidecar (daprd) with your application on EKS (AWS Kubernetes), if you're using a node/pod that has already been attached to an IAM policy defining access to AWS resources, you **must not** provide AWS access-key, secret-key, and tokens in the definition of the component spec you're using.

View File

@ -39,6 +39,8 @@ spec:
# value: "http://127.0.0.1:10001" # value: "http://127.0.0.1:10001"
# - name: visibilityTimeout # - name: visibilityTimeout
# value: "30s" # value: "30s"
# - name: direction
# value: "input, output"
``` ```
{{% alert title="Warning" color="warning" %}} {{% alert title="Warning" color="warning" %}}
@ -57,7 +59,8 @@ The above example uses secrets as plain strings. It is recommended to use a secr
| `decodeBase64` | N | Input | Configuration to decode base64 content received from the Storage Queue into a string. Defaults to `false` | `true`, `false` | | `decodeBase64` | N | Input | Configuration to decode base64 content received from the Storage Queue into a string. Defaults to `false` | `true`, `false` |
| `encodeBase64` | N | Output | If enabled base64 encodes the data payload before uploading to Azure storage queues. Default `false`. | `true`, `false` | | `encodeBase64` | N | Output | If enabled base64 encodes the data payload before uploading to Azure storage queues. Default `false`. | `true`, `false` |
| `endpoint` | N | Input/Output | Optional custom endpoint URL. This is useful when using the [Azurite emulator](https://github.com/Azure/azurite) or when using custom domains for Azure Storage (although this is not officially supported). The endpoint must be the full base URL, including the protocol (`http://` or `https://`), the IP or FQDN, and optional port. | `"http://127.0.0.1:10001"` or `"https://accountName.queue.example.com"` | | `endpoint` | N | Input/Output | Optional custom endpoint URL. This is useful when using the [Azurite emulator](https://github.com/Azure/azurite) or when using custom domains for Azure Storage (although this is not officially supported). The endpoint must be the full base URL, including the protocol (`http://` or `https://`), the IP or FQDN, and optional port. | `"http://127.0.0.1:10001"` or `"https://accountName.queue.example.com"` |
| `visibilityTimeout` | N | Input | Allows setting a custom queue visibility timeout to avoid immediate retrying of recently failed messages. Defaults to 30 seconds. | "100s" | | `visibilityTimeout` | N | Input | Allows setting a custom queue visibility timeout to avoid immediate retrying of recently failed messages. Defaults to 30 seconds. | `"100s"` |
| `direction` | N | Input/Output | Direction of the binding. | `"input"`, `"output"`, `"input, output"` |
### Azure Active Directory (Azure AD) authentication ### Azure Active Directory (Azure AD) authentication

View File

@ -23,13 +23,15 @@ spec:
version: v1 version: v1
metadata: metadata:
- name: toNumber # required. - name: toNumber # required.
value: 111-111-1111 value: "111-111-1111"
- name: fromNumber # required. - name: fromNumber # required.
value: 222-222-2222 value: "222-222-2222"
- name: accountSid # required. - name: accountSid # required.
value: ***************** value: "*****************"
- name: authToken # required. - name: authToken # required.
value: ***************** value: "*****************"
- name: direction
value: "output"
``` ```
{{% alert title="Warning" color="warning" %}} {{% alert title="Warning" color="warning" %}}
The above example uses secrets as plain strings. It is recommended to use a secret store for the secrets as described [here]({{< ref component-secrets.md >}}). The above example uses secrets as plain strings. It is recommended to use a secret store for the secrets as described [here]({{< ref component-secrets.md >}}).
@ -39,10 +41,11 @@ The above example uses secrets as plain strings. It is recommended to use a secr
| Field | Required | Binding support | Details | Example | | Field | Required | Binding support | Details | Example |
|--------------------|:--------:|------------|-----|---------| |--------------------|:--------:|------------|-----|---------|
| toNumber | Y | Output | The target number to send the sms to | `"111-111-1111"` | | `toNumber` | Y | Output | The target number to send the sms to | `"111-111-1111"` |
| fromNumber | Y | Output | The sender phone number | `"122-222-2222"` | | `fromNumber` | Y | Output | The sender phone number | `"222-222-2222"` |
| accountSid | Y | Output | The Twilio account SID | `"account sid"` | | `accountSid` | Y | Output | The Twilio account SID | `"account sid"` |
| authToken | Y | Output | The Twilio auth token | `"auth token"` | | `authToken` | Y | Output | The Twilio auth token | `"auth token"` |
| `direction` | N | Output | The direction of the binding | `"output"` |
## Binding support ## Binding support

View File

@ -62,6 +62,8 @@ spec:
metadata: metadata:
- name: url - name: url
value: "file://uppercase.wasm" value: "file://uppercase.wasm"
- name: direction
value: "output"
``` ```
## Spec metadata fields ## Spec metadata fields
@ -69,7 +71,7 @@ spec:
| Field | Details | Required | Example | | Field | Details | Required | Example |
|-------|----------------------------------------------------------------|----------|----------------| |-------|----------------------------------------------------------------|----------|----------------|
| url | The URL of the resource including the Wasm binary to instantiate. The supported schemes include `file://`, `http://`, and `https://`. The path of a `file://` URL is relative to the Dapr process unless it begins with `/`. | true | `file://hello.wasm`, `https://example.com/hello.wasm` | | url | The URL of the resource including the Wasm binary to instantiate. The supported schemes include `file://`, `http://`, and `https://`. The path of a `file://` URL is relative to the Dapr process unless it begins with `/`. | true | `file://hello.wasm`, `https://example.com/hello.wasm` |
| `direction` | The direction of the binding | false | `"output"` |
## Binding support ## Binding support

View File

@ -21,23 +21,26 @@ spec:
version: v1 version: v1
metadata: metadata:
- name: gatewayAddr - name: gatewayAddr
value: <host>:<port> value: "<host>:<port>"
- name: gatewayKeepAlive - name: gatewayKeepAlive
value: 45s value: "45s"
- name: usePlainTextConnection - name: usePlainTextConnection
value: true value: "true"
- name: caCertificatePath - name: caCertificatePath
value: /path/to/ca-cert value: "/path/to/ca-cert"
- name: direction
value: "output"
``` ```
## Spec metadata fields ## Spec metadata fields
| Field | Required | Binding support | Details | Example | | Field | Required | Binding support | Details | Example |
|-------------------------|:--------:|------------|-----|---------| |-------------------------|:--------:|------------|-----|---------|
| gatewayAddr | Y | Output | Zeebe gateway address | `localhost:26500` | | `gatewayAddr` | Y | Output | Zeebe gateway address | `"localhost:26500"` |
| gatewayKeepAlive | N | Output | Sets how often keep alive messages should be sent to the gateway. Defaults to 45 seconds | `45s` | | `gatewayKeepAlive` | N | Output | Sets how often keep alive messages should be sent to the gateway. Defaults to 45 seconds | `"45s"` |
| usePlainTextConnection | N | Output | Whether to use a plain text connection or not | `true,false` | | `usePlainTextConnection` | N | Output | Whether to use a plain text connection or not | `"true"`, `"false"` |
| caCertificatePath | N | Output | The path to the CA cert | `/path/to/ca-cert` | | `caCertificatePath` | N | Output | The path to the CA cert | `"/path/to/ca-cert"` |
| `direction` | N | Output | The direction of the binding | `"output"` |
## Binding support ## Binding support

View File

@ -21,53 +21,56 @@ spec:
version: v1 version: v1
metadata: metadata:
- name: gatewayAddr - name: gatewayAddr
value: <host>:<port> value: "<host>:<port>"
- name: gatewayKeepAlive - name: gatewayKeepAlive
value: 45s value: "45s"
- name: usePlainTextConnection - name: usePlainTextConnection
value: true value: "true"
- name: caCertificatePath - name: caCertificatePath
value: /path/to/ca-cert value: "/path/to/ca-cert"
- name: workerName - name: workerName
value: products-worker value: "products-worker"
- name: workerTimeout - name: workerTimeout
value: 5m value: "5m"
- name: requestTimeout - name: requestTimeout
value: 15s value: "15s"
- name: jobType - name: jobType
value: fetch-products value: "fetch-products"
- name: maxJobsActive - name: maxJobsActive
value: 32 value: "32"
- name: concurrency - name: concurrency
value: 4 value: "4"
- name: pollInterval - name: pollInterval
value: 100ms value: "100ms"
- name: pollThreshold - name: pollThreshold
value: 0.3 value: "0.3"
- name: fetchVariables - name: fetchVariables
value: productId, productName, productKey value: "productId, productName, productKey"
- name: autocomplete - name: autocomplete
value: true value: "true"
- name: direction
value: "input"
``` ```
## Spec metadata fields ## Spec metadata fields
| Field | Required | Binding support | Details | Example | | Field | Required | Binding support | Details | Example |
|-------------------------|:--------:|------------|-----|---------| |-------------------------|:--------:|------------|-----|---------|
| gatewayAddr | Y | Input | Zeebe gateway address | `localhost:26500` | | `gatewayAddr` | Y | Input | Zeebe gateway address | `"localhost:26500"` |
| gatewayKeepAlive | N | Input | Sets how often keep alive messages should be sent to the gateway. Defaults to 45 seconds | `45s` | | `gatewayKeepAlive` | N | Input | Sets how often keep alive messages should be sent to the gateway. Defaults to 45 seconds | `"45s"` |
| usePlainTextConnection | N | Input | Whether to use a plain text connection or not | `true,false` | | `usePlainTextConnection` | N | Input | Whether to use a plain text connection or not | `"true"`, `"false"` |
| caCertificatePath | N | Input | The path to the CA cert | `/path/to/ca-cert` | | `caCertificatePath` | N | Input | The path to the CA cert | `"/path/to/ca-cert"` |
| workerName | N | Input | The name of the worker activating the jobs, mostly used for logging purposes | `products-worker` | | `workerName` | N | Input | The name of the worker activating the jobs, mostly used for logging purposes | `"products-worker"` |
| workerTimeout | N | Input | A job returned after this call will not be activated by another call until the timeout has been reached; defaults to 5 minutes | `5m` | | `workerTimeout` | N | Input | A job returned after this call will not be activated by another call until the timeout has been reached; defaults to 5 minutes | `"5m"` |
| requestTimeout | N | Input | The request will be completed when at least one job is activated or after the requestTimeout. If the requestTimeout = 0, a default timeout is used. If the requestTimeout < 0, long polling is disabled and the request is completed immediately, even when no job is activated. Defaults to 10 seconds | `30s` | | `requestTimeout` | N | Input | The request will be completed when at least one job is activated or after the requestTimeout. If the requestTimeout = 0, a default timeout is used. If the requestTimeout < 0, long polling is disabled and the request is completed immediately, even when no job is activated. Defaults to 10 seconds | `"30s"` |
| jobType | Y | Input | the job type, as defined in the BPMN process (e.g. `<zeebe:taskDefinition type="fetch-products" />`) | `fetch-products` | | `jobType` | Y | Input | the job type, as defined in the BPMN process (e.g. `<zeebe:taskDefinition type="fetch-products" />`) | `"fetch-products"` |
| maxJobsActive | N | Input | Set the maximum number of jobs which will be activated for this worker at the same time. Defaults to 32 | `32` | | `maxJobsActive` | N | Input | Set the maximum number of jobs which will be activated for this worker at the same time. Defaults to 32 | `"32"` |
| concurrency | N | Input | The maximum number of concurrent spawned goroutines to complete jobs. Defaults to 4 | `4` | | `concurrency` | N | Input | The maximum number of concurrent spawned goroutines to complete jobs. Defaults to 4 | `"4"` |
| pollInterval | N | Input | Set the maximal interval between polling for new jobs. Defaults to 100 milliseconds | `100ms` | | `pollInterval` | N | Input | Set the maximal interval between polling for new jobs. Defaults to 100 milliseconds | `"100ms"` |
| pollThreshold | N | Input | Set the threshold of buffered activated jobs before polling for new jobs, i.e. threshold * maxJobsActive. Defaults to 0.3 | `0.3` | | `pollThreshold` | N | Input | Set the threshold of buffered activated jobs before polling for new jobs, i.e. threshold * maxJobsActive. Defaults to 0.3 | `"0.3"` |
| fetchVariables | N | Input | A list of variables to fetch as the job variables; if empty, all visible variables at the time of activation for the scope of the job will be returned | `productId, productName, productKey` | | `fetchVariables` | N | Input | A list of variables to fetch as the job variables; if empty, all visible variables at the time of activation for the scope of the job will be returned | `"productId"`, `"productName"`, `"productKey"` |
| autocomplete | N | Input | Indicates if a job should be autocompleted or not. If not set, all jobs will be auto-completed by default. Disable it if the worker should manually complete or fail the job with either a business error or an incident | `true,false` | | `autocomplete` | N | Input | Indicates if a job should be autocompleted or not. If not set, all jobs will be auto-completed by default. Disable it if the worker should manually complete or fail the job with either a business error or an incident | `"true"`, `"false"` |
| `direction` | N | Input | The direction of the binding | `"input"` |
## Binding support ## Binding support

View File

@ -40,7 +40,7 @@ spec:
- name: azureCertificateFile # Optional - name: azureCertificateFile # Optional
value : "[pfx_certificate_file_fully_qualified_local_path]" value : "[pfx_certificate_file_fully_qualified_local_path]"
- name: subscribePollInterval # Optional - name: subscribePollInterval # Optional
value: #Optional [Expected format example - 1s|1m|1h] value: #Optional [Expected format example - 86400000000000]
``` ```
@ -57,7 +57,7 @@ The above example uses secrets as plain strings. It is recommended to use a secr
| maxRetries | N | Maximum number of retries before giving up. Defaults to `3` | `5`, `10` | maxRetries | N | Maximum number of retries before giving up. Defaults to `3` | `5`, `10`
| retryDelay | N | RetryDelay specifies the initial amount of delay to use before retrying an operation. The delay increases exponentially with each retry up to the maximum specified by MaxRetryDelay. Defaults to `4` seconds; `"-1"` disables delay between retries. | `4000000000` | retryDelay | N | RetryDelay specifies the initial amount of delay to use before retrying an operation. The delay increases exponentially with each retry up to the maximum specified by MaxRetryDelay. Defaults to `4` seconds; `"-1"` disables delay between retries. | `4000000000`
| maxRetryDelay | N | MaxRetryDelay specifies the maximum delay allowed before retrying an operation. Typically the value is greater than or equal to the value specified in RetryDelay. Defaults to `120` seconds; `"-1"` disables the limit | `120000000000` | maxRetryDelay | N | MaxRetryDelay specifies the maximum delay allowed before retrying an operation. Typically the value is greater than or equal to the value specified in RetryDelay. Defaults to `120` seconds; `"-1"` disables the limit | `120000000000`
| subscribePollInterval | N | subscribePollInterval specifies the poll interval for polling the subscribed keys for any changes. Default polling interval is set to `24` hours. | subscribePollInterval | N | subscribePollInterval specifies the poll interval in nanoseconds for polling the subscribed keys for any changes. This will be updated in the future to Go Time format. Default polling interval is set to `24` hours. | `86400000000000`
**Note**: either `host` or `connectionString` must be specified. **Note**: either `host` or `connectionString` must be specified.

View File

@ -9,8 +9,18 @@ aliases:
## Component format ## Component format
To set up AWS SNS/SQS pub/sub, create a component of type `pubsub.aws.snssqs`. See the [pub/sub broker component file]({{< ref setup-pubsub.md >}}) to learn how ConsumerID is automatically generated. Read the [How-to: Publish and Subscribe guide]({{< ref "howto-publish-subscribe.md#step-1-setup-the-pubsub-component" >}}) on how to create and apply a pub/sub configuration. To set up AWS SNS/SQS pub/sub, create a component of type `pubsub.aws.snssqs`.
By default, the AWS SNS/SQS component:
- Generates the SNS topics
- Provisions the SQS queues
- Configures a subscription of the queues to the topics
{{% alert title="Note" color="primary" %}}
If you only have a publisher and no subscriber, only the SNS topics are created.
However, if you have a subscriber, SNS, SQS, and the dynamic or static subscription thereof are generated.
{{% /alert %}}
```yaml ```yaml
apiVersion: dapr.io/v1alpha1 apiVersion: dapr.io/v1alpha1
@ -72,7 +82,7 @@ The above example uses secrets as plain strings. It is recommended to use [a sec
| accessKey | Y | ID of the AWS account/role with appropriate permissions to SNS and SQS (see below) | `"AKIAIOSFODNN7EXAMPLE"` | accessKey | Y | ID of the AWS account/role with appropriate permissions to SNS and SQS (see below) | `"AKIAIOSFODNN7EXAMPLE"`
| secretKey | Y | Secret for the AWS user/role. If using an `AssumeRole` access, you will also need to provide a `sessionToken` |`"wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"` | secretKey | Y | Secret for the AWS user/role. If using an `AssumeRole` access, you will also need to provide a `sessionToken` |`"wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"`
| region | Y | The AWS region where the SNS/SQS assets are located or be created in. See [this page](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/?p=ugi&l=na) for valid regions. Ensure that SNS and SQS are available in that region | `"us-east-1"` | region | Y | The AWS region where the SNS/SQS assets are located or be created in. See [this page](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/?p=ugi&l=na) for valid regions. Ensure that SNS and SQS are available in that region | `"us-east-1"`
| consumerID | N | Consumer ID (consumer tag) organizes one or more consumers into a group. Consumers with the same consumer ID work as one virtual consumer; for example, a message is processed only once by one of the consumers in the group. If the `consumerID` is not provided, the Dapr runtime set it to the Dapr application ID (`appID`) value. | `"channel1"` | consumerID | N | Consumer ID (consumer tag) organizes one or more consumers into a group. Consumers with the same consumer ID work as one virtual consumer; for example, a message is processed only once by one of the consumers in the group. If the `consumerID` is not provided, the Dapr runtime set it to the Dapr application ID (`appID`) value. See the [pub/sub broker component file]({{< ref setup-pubsub.md >}}) to learn how ConsumerID is automatically generated. | `"channel1"`
| endpoint | N | AWS endpoint for the component to use. Only used for local development with, for example, [localstack](https://github.com/localstack/localstack). The `endpoint` is unncessary when running against production AWS | `"http://localhost:4566"` | endpoint | N | AWS endpoint for the component to use. Only used for local development with, for example, [localstack](https://github.com/localstack/localstack). The `endpoint` is unncessary when running against production AWS | `"http://localhost:4566"`
| sessionToken | N | AWS session token to use. A session token is only required if you are using temporary security credentials | `"TOKEN"` | sessionToken | N | AWS session token to use. A session token is only required if you are using temporary security credentials | `"TOKEN"`
| messageReceiveLimit | N | Number of times a message is received, after processing of that message fails, that once reached, results in removing of that message from the queue. If `sqsDeadLettersQueueName` is specified, `messageReceiveLimit` is the number of times a message is received, after processing of that message fails, that once reached, results in moving of the message to the SQS dead-letters queue. Default: `10` | `10` | messageReceiveLimit | N | Number of times a message is received, after processing of that message fails, that once reached, results in removing of that message from the queue. If `sqsDeadLettersQueueName` is specified, `messageReceiveLimit` is the number of times a message is received, after processing of that message fails, that once reached, results in moving of the message to the SQS dead-letters queue. Default: `10` | `10`

View File

@ -20,8 +20,8 @@ scopes:
- <REPLACE-WITH-SCOPED-APPIDS> - <REPLACE-WITH-SCOPED-APPIDS>
spec: spec:
policies: # Required policies: # Required
timeouts: # Replace with any unique name timeouts:
timeoutName: <REPLACE-WITH-TIME-VALUE> timeoutName: <REPLACE-WITH-TIME-VALUE> # Replace with any unique name
retries: retries:
retryName: # Replace with any unique name retryName: # Replace with any unique name
policy: <REPLACE-WITH-VALUE> policy: <REPLACE-WITH-VALUE>

View File

@ -14,6 +14,14 @@
features: features:
input: true input: true
output: false output: false
- component: commercetools GraphQL
link: commercetools
state: Alpha
version: v1
since: "1.8"
features:
input: false
output: true
- component: GraphQL - component: GraphQL
link: graghql link: graghql
state: Alpha state: Alpha
@ -22,6 +30,14 @@
features: features:
input: false input: false
output: true output: true
- component: Huawei OBS
link: huawei-obs
state: Alpha
version: v1
since: "1.8"
features:
input: false
output: true
- component: InfluxDB - component: InfluxDB
link: influxdb link: influxdb
state: Beta state: Beta
@ -38,6 +54,14 @@
features: features:
input: true input: true
output: true output: true
- component: Kitex
link: kitex
state: Alpha
version: v1
since: "1.11"
features:
input: false
output: true
- component: Kubernetes Events - component: Kubernetes Events
link: kubernetes-binding link: kubernetes-binding
state: Alpha state: Alpha
@ -102,6 +126,14 @@
features: features:
input: false input: false
output: true output: true
- component: RethinkDB
link: rethinkdb
state: Beta
version: v1
since: "1.9"
features:
input: true
output: false
- component: SMTP - component: SMTP
link: smtp link: smtp
state: Alpha state: Alpha

View File

@ -1 +1 @@
{{- if .Get "short" }}1.11{{ else if .Get "long" }}1.11.1{{ else if .Get "cli" }}1.11.0{{ else }}1.11.1{{ end -}} {{- if .Get "short" }}1.11{{ else if .Get "long" }}1.11.2{{ else if .Get "cli" }}1.11.0{{ else }}1.11.2{{ end -}}

@ -1 +1 @@
Subproject commit effc2f0d3c92ad76e11958e427c8d3b0900e1932 Subproject commit ad25580bcfb638d56237faec0543565b4d0e134f

@ -1 +1 @@
Subproject commit d1c61cae40e7c5d933d92705198506d947960aaa Subproject commit 9dc842faba3486e518babc29f7fbbca79248bfab