From b1907768fd8c06da7bd02a13ec0d033b6856cf28 Mon Sep 17 00:00:00 2001 From: Tyler Siron Date: Sun, 2 Jul 2023 19:01:17 -0400 Subject: [PATCH 01/27] fix docs to show nanoseconds Signed-off-by: Tyler Siron --- .../azure-appconfig-configuration-store.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/daprdocs/content/en/reference/components-reference/supported-configuration-stores/azure-appconfig-configuration-store.md b/daprdocs/content/en/reference/components-reference/supported-configuration-stores/azure-appconfig-configuration-store.md index 4d2eeaea5..c3af1443f 100644 --- a/daprdocs/content/en/reference/components-reference/supported-configuration-stores/azure-appconfig-configuration-store.md +++ b/daprdocs/content/en/reference/components-reference/supported-configuration-stores/azure-appconfig-configuration-store.md @@ -40,7 +40,7 @@ spec: - name: azureCertificateFile # Optional value : "[pfx_certificate_file_fully_qualified_local_path]" - 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` | 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` -| 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. Default polling interval is set to `24` hours. | `86400000000000` **Note**: either `host` or `connectionString` must be specified. From 48d1443ea4ea6dd88dc3b4893ab91f4a46a09162 Mon Sep 17 00:00:00 2001 From: Tyler Siron Date: Mon, 3 Jul 2023 12:42:48 -0400 Subject: [PATCH 02/27] fix spacing Signed-off-by: Tyler Siron --- .../azure-appconfig-configuration-store.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/daprdocs/content/en/reference/components-reference/supported-configuration-stores/azure-appconfig-configuration-store.md b/daprdocs/content/en/reference/components-reference/supported-configuration-stores/azure-appconfig-configuration-store.md index c3af1443f..6b7c6185b 100644 --- a/daprdocs/content/en/reference/components-reference/supported-configuration-stores/azure-appconfig-configuration-store.md +++ b/daprdocs/content/en/reference/components-reference/supported-configuration-stores/azure-appconfig-configuration-store.md @@ -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` | 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` -| subscribePollInterval | N | subscribePollInterval specifies the poll interval in nanoseconds for polling the subscribed keys for any changes. Default polling interval is set to `24` hours. | `86400000000000` +| subscribePollInterval | N | subscribePollInterval specifies the poll interval in nanoseconds for polling the subscribed keys for any changes. Default polling interval is set to `24` hours. | `86400000000000` **Note**: either `host` or `connectionString` must be specified. From 8fc4edfee7473145435fde0a9daf6903a6afdcfa Mon Sep 17 00:00:00 2001 From: Hannah Hunter Date: Thu, 13 Jul 2023 16:05:43 -0400 Subject: [PATCH 03/27] try to clarify component qs Signed-off-by: Hannah Hunter --- .../building-blocks/pubsub/howto-publish-subscribe.md | 4 ++-- .../components-reference/supported-pubsub/setup-aws-snssqs.md | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/daprdocs/content/en/developing-applications/building-blocks/pubsub/howto-publish-subscribe.md b/daprdocs/content/en/developing-applications/building-blocks/pubsub/howto-publish-subscribe.md index f771a292b..8d03b496f 100644 --- a/daprdocs/content/en/developing-applications/building-blocks/pubsub/howto-publish-subscribe.md +++ b/daprdocs/content/en/developing-applications/building-blocks/pubsub/howto-publish-subscribe.md @@ -41,7 +41,7 @@ With the `pubsub.yaml` component, you can easily swap out underlying components apiVersion: dapr.io/v1alpha1 kind: Component metadata: - name: order-pub-sub + name: rabbitmq-pubsub spec: type: pubsub.rabbitmq version: v1 @@ -117,7 +117,7 @@ To deploy this into a Kubernetes cluster, fill in the `metadata` connection deta apiVersion: dapr.io/v1alpha1 kind: Component metadata: - name: order-pub-sub + name: rabbitmq-pubsub spec: type: pubsub.rabbitmq version: v1 diff --git a/daprdocs/content/en/reference/components-reference/supported-pubsub/setup-aws-snssqs.md b/daprdocs/content/en/reference/components-reference/supported-pubsub/setup-aws-snssqs.md index 4ddddb3a1..73fd6b223 100644 --- a/daprdocs/content/en/reference/components-reference/supported-pubsub/setup-aws-snssqs.md +++ b/daprdocs/content/en/reference/components-reference/supported-pubsub/setup-aws-snssqs.md @@ -9,7 +9,7 @@ aliases: ## 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`. The AWS SNS/SQS component automatically generates the SNS topics and provisions SQS. ```yaml @@ -72,7 +72,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"` | 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"` -| 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"` | 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` From a641eaa6c11b4fcc935a096d0f68969865c3c657 Mon Sep 17 00:00:00 2001 From: Hannah Hunter Date: Tue, 18 Jul 2023 17:23:39 -0400 Subject: [PATCH 04/27] clarify at-least-once and consumer groups Signed-off-by: Hannah Hunter --- .../building-blocks/pubsub/pubsub-overview.md | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/daprdocs/content/en/developing-applications/building-blocks/pubsub/pubsub-overview.md b/daprdocs/content/en/developing-applications/building-blocks/pubsub/pubsub-overview.md index fa6334868..dd111d746 100644 --- a/daprdocs/content/en/developing-applications/building-blocks/pubsub/pubsub-overview.md +++ b/daprdocs/content/en/developing-applications/building-blocks/pubsub/pubsub-overview.md @@ -100,16 +100,24 @@ Dapr solves multi-tenancy at-scale with [namespaces for consumer groups]({{< ref ### At-least-once guarantee -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. + +> **Note:** All Dapr pub/sub components support the at-least-once guarantee. + +Even if the message fails to deliver, or your application crashes, Dapr attempts to redeliver the message until successful delivery. ### 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. + +> **Note:** Not all Dapr pub/sub components support the competing consumer model. + +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.

-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*. ### Scoping topics for added security From 6682b0bdc3db8bf6fe98d56816dd3529c2801f26 Mon Sep 17 00:00:00 2001 From: Hannah Hunter Date: Mon, 24 Jul 2023 15:36:17 -0400 Subject: [PATCH 05/27] add context from amit Signed-off-by: Hannah Hunter --- .../supported-pubsub/setup-aws-snssqs.md | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/daprdocs/content/en/reference/components-reference/supported-pubsub/setup-aws-snssqs.md b/daprdocs/content/en/reference/components-reference/supported-pubsub/setup-aws-snssqs.md index 73fd6b223..61b682901 100644 --- a/daprdocs/content/en/reference/components-reference/supported-pubsub/setup-aws-snssqs.md +++ b/daprdocs/content/en/reference/components-reference/supported-pubsub/setup-aws-snssqs.md @@ -9,8 +9,18 @@ aliases: ## Component format -To set up AWS SNS/SQS pub/sub, create a component of type `pubsub.aws.snssqs`. The AWS SNS/SQS component automatically generates the SNS topics and provisions SQS. +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 apiVersion: dapr.io/v1alpha1 From 266be660b1202ae0eb9bcf2b4d95148f1e35ff75 Mon Sep 17 00:00:00 2001 From: Stephen Clarke Date: Tue, 25 Jul 2023 14:29:59 +0100 Subject: [PATCH 06/27] Update subscription-methods.md Add missing `);` to the UseEndpoints .net example Signed-off-by: Stephen Clarke --- .../building-blocks/pubsub/subscription-methods.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/daprdocs/content/en/developing-applications/building-blocks/pubsub/subscription-methods.md b/daprdocs/content/en/developing-applications/building-blocks/pubsub/subscription-methods.md index dce9cbd9a..5b760ef6e 100644 --- a/daprdocs/content/en/developing-applications/building-blocks/pubsub/subscription-methods.md +++ b/daprdocs/content/en/developing-applications/building-blocks/pubsub/subscription-methods.md @@ -223,7 +223,7 @@ Both of the handlers defined above also need to be mapped to configure the `dapr app.UseEndpoints(endpoints => { endpoints.MapSubscribeHandler(); -} +}); ``` {{% /codetab %}} From 54aa16942466bdb3ce9d6f5c9da10ecfcd62fc76 Mon Sep 17 00:00:00 2001 From: Hannah Hunter <94493363+hhunter-ms@users.noreply.github.com> Date: Tue, 25 Jul 2023 13:14:16 -0400 Subject: [PATCH 07/27] update to 1.11.2 (#3633) Signed-off-by: Hannah Hunter --- .../content/en/operations/support/support-release-policy.md | 5 +++-- daprdocs/layouts/shortcodes/dapr-latest-version.html | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/daprdocs/content/en/operations/support/support-release-policy.md b/daprdocs/content/en/operations/support/support-release-policy.md index 704c58fe3..ba433190b 100644 --- a/daprdocs/content/en/operations/support/support-release-policy.md +++ b/daprdocs/content/en/operations/support/support-release-policy.md @@ -45,11 +45,12 @@ The table below shows the versions of Dapr releases that have been tested togeth | Release date | Runtime | CLI | SDKs | Dashboard | Status | |--------------------|:--------:|:--------|---------|---------|---------| +| July 20th 2023 | 1.11.2
| 1.11.0 | Java 1.9.0
Go 1.8.0
PHP 1.1.0
Python 1.10.0
.NET 1.11.0
JS 3.1.0 | 0.13.0 | Supported (current) | | June 22nd 2023 | 1.11.1
| 1.11.0 | Java 1.9.0
Go 1.8.0
PHP 1.1.0
Python 1.10.0
.NET 1.11.0
JS 3.1.0 | 0.13.0 | Supported (current) | | June 12th 2023 | 1.11.0
| 1.11.0 | Java 1.9.0
Go 1.8.0
PHP 1.1.0
Python 1.10.0
.NET 1.11.0
JS 3.1.0 | 0.13.0 | Supported (current) | | May 15th 2023 | 1.10.7
| 1.10.0 | Java 1.8.0
Go 1.7.0
PHP 1.1.0
Python 1.9.0
.NET 1.10.0
JS 3.0.0 | 0.11.0 | Supported | | May 12th 2023 | 1.10.6
| 1.10.0 | Java 1.8.0
Go 1.7.0
PHP 1.1.0
Python 1.9.0
.NET 1.10.0
JS 3.0.0 | 0.11.0 | Supported | -| April 13 2023 |1.10.5
| 1.10.0 | Java 1.8.0
Go 1.6.0
PHP 1.1.0
Python 1.9.0
.NET 1.10.0
JS 3.0.0 | 0.11.0 | Supported (current) | +| April 13 2023 |1.10.5
| 1.10.0 | Java 1.8.0
Go 1.6.0
PHP 1.1.0
Python 1.9.0
.NET 1.10.0
JS 3.0.0 | 0.11.0 | Supported | | March 16 2023 | 1.10.4
| 1.10.0 | Java 1.8.0
Go 1.6.0
PHP 1.1.0
Python 1.9.0
.NET 1.10.0
JS 2.5.0 | 0.11.0 | Supported | | March 14 2023 | 1.10.3
| 1.10.0 | Java 1.8.0
Go 1.6.0
PHP 1.1.0
Python 1.9.0
.NET 1.10.0
JS 2.5.0 | 0.11.0 | Supported | | February 24 2023 | 1.10.2
| 1.10.0 | Java 1.8.0
Go 1.6.0
PHP 1.1.0
Python 1.9.0
.NET 1.10.0
JS 2.5.0 | 0.11.0 | Supported | @@ -118,7 +119,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.9.0 | N/A | 1.9.6 | | 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 diff --git a/daprdocs/layouts/shortcodes/dapr-latest-version.html b/daprdocs/layouts/shortcodes/dapr-latest-version.html index 41d35c151..a205d616a 100644 --- a/daprdocs/layouts/shortcodes/dapr-latest-version.html +++ b/daprdocs/layouts/shortcodes/dapr-latest-version.html @@ -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 -}} From 5816f3c1903d77dd651d7c8b4b3027061d3b04f3 Mon Sep 17 00:00:00 2001 From: Yaron Schneider Date: Tue, 25 Jul 2023 15:26:26 -0700 Subject: [PATCH 08/27] Update resiliency-schema.md (#3637) Signed-off-by: Yaron Schneider --- .../en/reference/resource-specs/resiliency-schema.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/daprdocs/content/en/reference/resource-specs/resiliency-schema.md b/daprdocs/content/en/reference/resource-specs/resiliency-schema.md index d62061e09..32888adc7 100644 --- a/daprdocs/content/en/reference/resource-specs/resiliency-schema.md +++ b/daprdocs/content/en/reference/resource-specs/resiliency-schema.md @@ -20,8 +20,8 @@ scopes: - spec: policies: # Required - timeouts: # Replace with any unique name - timeoutName: + timeouts: + timeoutName: # Replace with any unique name retries: retryName: # Replace with any unique name policy: @@ -62,4 +62,4 @@ targets: # Required ## Related links -[Learn more about resiliency policies and targets]({{< ref resiliency-overview.md >}}) \ No newline at end of file +[Learn more about resiliency policies and targets]({{< ref resiliency-overview.md >}}) From 94a0081853396c31740d8eb5ca9cff023d23a91c Mon Sep 17 00:00:00 2001 From: Guillaume Caya-Letourneau Date: Wed, 26 Jul 2023 09:15:04 -0400 Subject: [PATCH 09/27] Update policies.md Signed-off-by: Guillaume Caya-Letourneau --- daprdocs/content/en/operations/resiliency/policies.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/daprdocs/content/en/operations/resiliency/policies.md b/daprdocs/content/en/operations/resiliency/policies.md index 56ab3cb91..f87f4d9fb 100644 --- a/daprdocs/content/en/operations/resiliency/policies.md +++ b/daprdocs/content/en/operations/resiliency/policies.md @@ -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. -> 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 @@ -299,4 +299,4 @@ The table below is a break down of which policies are applied when attempting to Try out one of the Resiliency quickstarts: - [Resiliency: Service-to-service]({{< ref resiliency-serviceinvo-quickstart.md >}}) -- [Resiliency: State Management]({{< ref resiliency-state-quickstart.md >}}) \ No newline at end of file +- [Resiliency: State Management]({{< ref resiliency-state-quickstart.md >}}) From e58ba2ff7bb3c88dc654916049789fc6c8e30cf7 Mon Sep 17 00:00:00 2001 From: Hannah Hunter Date: Wed, 26 Jul 2023 15:42:11 -0400 Subject: [PATCH 10/27] add list of components that support consumerid Signed-off-by: Hannah Hunter --- .../building-blocks/pubsub/pubsub-overview.md | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/daprdocs/content/en/developing-applications/building-blocks/pubsub/pubsub-overview.md b/daprdocs/content/en/developing-applications/building-blocks/pubsub/pubsub-overview.md index dd111d746..1d1522888 100644 --- a/daprdocs/content/en/developing-applications/building-blocks/pubsub/pubsub-overview.md +++ b/daprdocs/content/en/developing-applications/building-blocks/pubsub/pubsub-overview.md @@ -102,16 +102,14 @@ 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. -> **Note:** All Dapr pub/sub components support the at-least-once guarantee. - 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 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. -> **Note:** Not all Dapr pub/sub components support the competing consumer model. - 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. @@ -119,6 +117,13 @@ When multiple instances of the same application (with same `app-id`) subscribe t 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 model. Currently, the following pub/sub components support this pattern: + +- [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 By default, all topic messages associated with an instance of a pub/sub component are available to every application configured with that component. You can limit which application can publish or subscribe to topics with Dapr topic scoping. For more information, read: [pub/sub topic scoping]({{< ref pubsub-scopes.md >}}). From 845c75fb9f4c79298e027c28e93c444c798e26a2 Mon Sep 17 00:00:00 2001 From: fabistb Date: Wed, 26 Jul 2023 21:32:26 +0200 Subject: [PATCH 11/27] add note low app health probe timeout response time degrade Signed-off-by: fabistb --- .../building-blocks/observability/app-health.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/daprdocs/content/en/developing-applications/building-blocks/observability/app-health.md b/daprdocs/content/en/developing-applications/building-blocks/observability/app-health.md index 97c718929..452972ddd 100644 --- a/daprdocs/content/en/developing-applications/building-blocks/observability/app-health.md +++ b/daprdocs/content/en/developing-applications/building-blocks/observability/app-health.md @@ -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` | +{{% alert title="Note" color="primary" %}} +A low app health probe timeout can classify an application as unhealthy if it experiences a sudden high load, causing the response time to degrade. +{{% /alert %}} + ### Health check paths #### HTTP From b55cb7bd69ea0be5c09845d44e4de37b49f3477e Mon Sep 17 00:00:00 2001 From: Hannah Hunter <94493363+hhunter-ms@users.noreply.github.com> Date: Wed, 26 Jul 2023 16:15:46 -0400 Subject: [PATCH 12/27] Update daprdocs/content/en/developing-applications/building-blocks/pubsub/pubsub-overview.md Co-authored-by: Mark Fussell Signed-off-by: Hannah Hunter <94493363+hhunter-ms@users.noreply.github.com> --- .../building-blocks/pubsub/pubsub-overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/daprdocs/content/en/developing-applications/building-blocks/pubsub/pubsub-overview.md b/daprdocs/content/en/developing-applications/building-blocks/pubsub/pubsub-overview.md index 1d1522888..3fc16c417 100644 --- a/daprdocs/content/en/developing-applications/building-blocks/pubsub/pubsub-overview.md +++ b/daprdocs/content/en/developing-applications/building-blocks/pubsub/pubsub-overview.md @@ -117,7 +117,7 @@ When multiple instances of the same application (with same `app-id`) subscribe t 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 model. Currently, the following pub/sub components support this pattern: +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 >}}) From a6db47bdc2cf8762f70fa95c67cc9204b65f8677 Mon Sep 17 00:00:00 2001 From: Hannah Hunter Date: Wed, 26 Jul 2023 17:00:59 -0400 Subject: [PATCH 13/27] update docs for multiple resource paths Signed-off-by: Hannah Hunter --- .../content/en/concepts/dapr-services/sidecar.md | 14 ++++++++++---- daprdocs/content/en/reference/cli/dapr-run.md | 5 ++++- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/daprdocs/content/en/concepts/dapr-services/sidecar.md b/daprdocs/content/en/concepts/dapr-services/sidecar.md index 77997387a..15d0351ba 100644 --- a/daprdocs/content/en/concepts/dapr-services/sidecar.md +++ b/daprdocs/content/en/concepts/dapr-services/sidecar.md @@ -49,25 +49,31 @@ For a detailed list of all available arguments run `daprd --help` or see this [t daprd --app-id myapp ``` -2. Specify the port your application is listening to +1. Specify the port your application is listening to ```bash 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 daprd --app-id myapp --resources-path ``` -4. Enable collection of Prometheus metrics while running your app +1. You can specify multiple resource paths: + + ```bash + daprd --app-id myapp --resources-path --resources-path + ``` + +1. Enable collection of Prometheus metrics while running your app ```bash daprd --app-id myapp --enable-metrics ``` -5. Listen to IPv4 and IPv6 loopback only +1. Listen to IPv4 and IPv6 loopback only ```bash daprd --app-id myapp --dapr-listen-addresses '127.0.0.1,[::1]' diff --git a/daprdocs/content/en/reference/cli/dapr-run.md b/daprdocs/content/en/reference/cli/dapr-run.md index 5587fc21f..a33791286 100644 --- a/daprdocs/content/en/reference/cli/dapr-run.md +++ b/daprdocs/content/en/reference/cli/dapr-run.md @@ -27,7 +27,7 @@ dapr run [flags] [command] | `--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-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`
Windows: `%USERPROFILE%\.dapr\components` | The path for components directory | +| `--resources-path`, `-d` | | Linux/Mac: `$HOME/.dapr/components`
Windows: `%USERPROFILE%\.dapr\components` | The path for components directory. You can define multiple resources paths in one command. | | `--app-channel-address` | | `127.0.0.1` | The network address the application listens on | | `--runtime-path` | | | Dapr runtime install path | | `--config`, `-c` | | Linux/Mac: `$HOME/.dapr/config.yaml`
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 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 ``` From 4c89b75e2f4954c7d8ae4e3fddb6e2a1e297be14 Mon Sep 17 00:00:00 2001 From: Hannah Hunter Date: Wed, 26 Jul 2023 17:02:13 -0400 Subject: [PATCH 14/27] fix format Signed-off-by: Hannah Hunter --- daprdocs/content/en/concepts/dapr-services/sidecar.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/daprdocs/content/en/concepts/dapr-services/sidecar.md b/daprdocs/content/en/concepts/dapr-services/sidecar.md index 15d0351ba..0378567dc 100644 --- a/daprdocs/content/en/concepts/dapr-services/sidecar.md +++ b/daprdocs/content/en/concepts/dapr-services/sidecar.md @@ -63,9 +63,9 @@ For a detailed list of all available arguments run `daprd --help` or see this [t 1. You can specify multiple resource paths: - ```bash - daprd --app-id myapp --resources-path --resources-path - ``` + ```bash + daprd --app-id myapp --resources-path --resources-path + ``` 1. Enable collection of Prometheus metrics while running your app From 16875dc451fc5ccee50d15feeb168ee03d555025 Mon Sep 17 00:00:00 2001 From: Hannah Hunter Date: Thu, 27 Jul 2023 10:35:10 -0400 Subject: [PATCH 15/27] change metadata.name back Signed-off-by: Hannah Hunter --- .../building-blocks/pubsub/howto-publish-subscribe.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/daprdocs/content/en/developing-applications/building-blocks/pubsub/howto-publish-subscribe.md b/daprdocs/content/en/developing-applications/building-blocks/pubsub/howto-publish-subscribe.md index 8d03b496f..f771a292b 100644 --- a/daprdocs/content/en/developing-applications/building-blocks/pubsub/howto-publish-subscribe.md +++ b/daprdocs/content/en/developing-applications/building-blocks/pubsub/howto-publish-subscribe.md @@ -41,7 +41,7 @@ With the `pubsub.yaml` component, you can easily swap out underlying components apiVersion: dapr.io/v1alpha1 kind: Component metadata: - name: rabbitmq-pubsub + name: order-pub-sub spec: type: pubsub.rabbitmq version: v1 @@ -117,7 +117,7 @@ To deploy this into a Kubernetes cluster, fill in the `metadata` connection deta apiVersion: dapr.io/v1alpha1 kind: Component metadata: - name: rabbitmq-pubsub + name: order-pub-sub spec: type: pubsub.rabbitmq version: v1 From 4f16a1c9cd7412da45778a8cd3cdbb3e7ece5383 Mon Sep 17 00:00:00 2001 From: Hannah Hunter Date: Thu, 27 Jul 2023 11:19:28 -0400 Subject: [PATCH 16/27] add the why Signed-off-by: Hannah Hunter --- daprdocs/content/en/concepts/dapr-services/sidecar.md | 2 +- daprdocs/content/en/reference/cli/dapr-run.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/daprdocs/content/en/concepts/dapr-services/sidecar.md b/daprdocs/content/en/concepts/dapr-services/sidecar.md index 0378567dc..bc5fa9702 100644 --- a/daprdocs/content/en/concepts/dapr-services/sidecar.md +++ b/daprdocs/content/en/concepts/dapr-services/sidecar.md @@ -61,7 +61,7 @@ For a detailed list of all available arguments run `daprd --help` or see this [t daprd --app-id myapp --resources-path ``` -1. You can specify multiple resource paths: +1. If you've organized your components and other resources (like resiliency policies) into separate folders, you can specify multiple resource paths: ```bash daprd --app-id myapp --resources-path --resources-path diff --git a/daprdocs/content/en/reference/cli/dapr-run.md b/daprdocs/content/en/reference/cli/dapr-run.md index a33791286..9a519f98c 100644 --- a/daprdocs/content/en/reference/cli/dapr-run.md +++ b/daprdocs/content/en/reference/cli/dapr-run.md @@ -27,7 +27,7 @@ dapr run [flags] [command] | `--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-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`
Windows: `%USERPROFILE%\.dapr\components` | The path for components directory. You can define multiple resources paths in one command. | +| `--resources-path`, `-d` | | Linux/Mac: `$HOME/.dapr/components`
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 | | `--runtime-path` | | | Dapr runtime install path | | `--config`, `-c` | | Linux/Mac: `$HOME/.dapr/config.yaml`
Windows: `%USERPROFILE%\.dapr\config.yaml` | Dapr configuration file | From ad1dc634302dbc7eeab267455a4bab32bba28af6 Mon Sep 17 00:00:00 2001 From: Hannah Hunter <94493363+hhunter-ms@users.noreply.github.com> Date: Thu, 27 Jul 2023 15:35:38 -0400 Subject: [PATCH 17/27] Update daprdocs/content/en/reference/components-reference/supported-configuration-stores/azure-appconfig-configuration-store.md Signed-off-by: Hannah Hunter <94493363+hhunter-ms@users.noreply.github.com> --- .../azure-appconfig-configuration-store.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/daprdocs/content/en/reference/components-reference/supported-configuration-stores/azure-appconfig-configuration-store.md b/daprdocs/content/en/reference/components-reference/supported-configuration-stores/azure-appconfig-configuration-store.md index 6b7c6185b..7badb5876 100644 --- a/daprdocs/content/en/reference/components-reference/supported-configuration-stores/azure-appconfig-configuration-store.md +++ b/daprdocs/content/en/reference/components-reference/supported-configuration-stores/azure-appconfig-configuration-store.md @@ -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` | 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` -| subscribePollInterval | N | subscribePollInterval specifies the poll interval in nanoseconds for polling the subscribed keys for any changes. Default polling interval is set to `24` hours. | `86400000000000` +| 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. From ae9cf8dc84c408a2c6a9846ca2053c23355c6130 Mon Sep 17 00:00:00 2001 From: Hannah Hunter Date: Thu, 27 Jul 2023 15:38:26 -0400 Subject: [PATCH 18/27] update per mark Signed-off-by: Hannah Hunter --- daprdocs/content/en/concepts/dapr-services/sidecar.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/daprdocs/content/en/concepts/dapr-services/sidecar.md b/daprdocs/content/en/concepts/dapr-services/sidecar.md index bc5fa9702..1d783b78f 100644 --- a/daprdocs/content/en/concepts/dapr-services/sidecar.md +++ b/daprdocs/content/en/concepts/dapr-services/sidecar.md @@ -61,7 +61,7 @@ For a detailed list of all available arguments run `daprd --help` or see this [t daprd --app-id myapp --resources-path ``` -1. If you've organized your components and other resources (like resiliency policies) into separate folders, you can specify multiple resource paths: +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 --resources-path From 8f86e6ba557783cb33d04a2c240bb17767dfe012 Mon Sep 17 00:00:00 2001 From: Mark Fussell Date: Thu, 27 Jul 2023 19:29:19 -0700 Subject: [PATCH 19/27] Update daprdocs/content/en/developing-applications/building-blocks/observability/app-health.md Signed-off-by: Mark Fussell --- .../building-blocks/observability/app-health.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/daprdocs/content/en/developing-applications/building-blocks/observability/app-health.md b/daprdocs/content/en/developing-applications/building-blocks/observability/app-health.md index 452972ddd..193233dd1 100644 --- a/daprdocs/content/en/developing-applications/building-blocks/observability/app-health.md +++ b/daprdocs/content/en/developing-applications/building-blocks/observability/app-health.md @@ -72,7 +72,7 @@ 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` | {{% alert title="Note" color="primary" %}} -A low app health probe timeout can classify an application as unhealthy if it experiences a sudden high load, causing the response time to degrade. +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 From f19dfc922b5a93071f3ab91b90a13e818de8e100 Mon Sep 17 00:00:00 2001 From: Hannah Hunter Date: Fri, 28 Jul 2023 13:02:08 -0400 Subject: [PATCH 20/27] binding directions to binding docs Signed-off-by: Hannah Hunter --- .../building-blocks/bindings/bindings-overview.md | 14 ++++++++++++++ .../building-blocks/bindings/howto-bindings.md | 6 ++++++ .../building-blocks/bindings/howto-triggers.md | 12 +++++++++--- daprdocs/content/en/reference/api/bindings_api.md | 5 +++++ 4 files changed, 34 insertions(+), 3 deletions(-) diff --git a/daprdocs/content/en/developing-applications/building-blocks/bindings/bindings-overview.md b/daprdocs/content/en/developing-applications/building-blocks/bindings/bindings-overview.md index e98b5440e..c8d795ff6 100644 --- a/daprdocs/content/en/developing-applications/building-blocks/bindings/bindings-overview.md +++ b/daprdocs/content/en/developing-applications/building-blocks/bindings/bindings-overview.md @@ -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. +## Binding directions (optional) + +You can provide information via the `direction` metadata field to indicate the direction supported by the binding component. With one of the following metadata values, the Dapr sidecar avoids the `"wait for the app to become ready"` state: + +- `"input"` +- `"output"` +- `"input, output"` + +{{% alert title="Note" color="primary" %}} +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 ### Quickstarts and tutorials diff --git a/daprdocs/content/en/developing-applications/building-blocks/bindings/howto-bindings.md b/daprdocs/content/en/developing-applications/building-blocks/bindings/howto-bindings.md index 7a2610354..9d98c0fae 100644 --- a/daprdocs/content/en/developing-applications/building-blocks/bindings/howto-bindings.md +++ b/daprdocs/content/en/developing-applications/building-blocks/bindings/howto-bindings.md @@ -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 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 >}} {{% codetab %}} @@ -60,6 +62,8 @@ spec: value: sample - name: authRequired value: "false" + - name: direction + value: output ``` {{% /codetab %}} @@ -90,6 +94,8 @@ spec: value: sample - name: authRequired value: "false" + - name: direction + value: output ``` {{% /codetab %}} diff --git a/daprdocs/content/en/developing-applications/building-blocks/bindings/howto-triggers.md b/daprdocs/content/en/developing-applications/building-blocks/bindings/howto-triggers.md index 215ffd05d..d92287854 100644 --- a/daprdocs/content/en/developing-applications/building-blocks/bindings/howto-triggers.md +++ b/daprdocs/content/en/developing-applications/building-blocks/bindings/howto-triggers.md @@ -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 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 >}} {{% codetab %}} @@ -65,6 +67,8 @@ spec: value: sample - name: authRequired value: "false" + - name: direction + value: input ``` {{% /codetab %}} @@ -95,6 +99,8 @@ spec: value: sample - name: authRequired value: "false" + - name: direction + value: input ``` {{% /codetab %}} @@ -256,15 +262,15 @@ async function start() { {{< /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. -### 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`. -### 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`: diff --git a/daprdocs/content/en/reference/api/bindings_api.md b/daprdocs/content/en/reference/api/bindings_api.md index d7170ff7b..660798f00 100644 --- a/daprdocs/content/en/reference/api/bindings_api.md +++ b/daprdocs/content/en/reference/api/bindings_api.md @@ -40,6 +40,7 @@ If running on kubernetes apply the component to your cluster. ### 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. + 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. You can specify the `direction` field as part of the component's metadata. The valid values for this field are: @@ -47,6 +48,10 @@ You can specify the `direction` field as part of the component's metadata. The v - `"output"` - `"input, output"` +{{% alert title="Note" color="primary" %}} +All bindings should include the `direction` property. +{{% /alert %}} + 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. From a45476adaad6e9238175823dcbed360e2838b620 Mon Sep 17 00:00:00 2001 From: Hannah Hunter Date: Mon, 31 Jul 2023 12:46:59 -0400 Subject: [PATCH 21/27] update table Signed-off-by: Hannah Hunter --- .../support/support-release-policy.md | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/daprdocs/content/en/operations/support/support-release-policy.md b/daprdocs/content/en/operations/support/support-release-policy.md index ba433190b..a1cfee989 100644 --- a/daprdocs/content/en/operations/support/support-release-policy.md +++ b/daprdocs/content/en/operations/support/support-release-policy.md @@ -35,9 +35,9 @@ The Dapr's sidecar image is published to both [GitHub Container Registry](https: * Default sidecar images: `daprio/daprd:` or `ghcr.io/dapr/daprd:` (for example `ghcr.io/dapr/daprd:1.11.1`) * Sidecar images for stable components: `daprio/daprd:-stablecomponents` or `ghcr.io/dapr/daprd:-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]({{}}). 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]({{}}). +Learn more about [Dapr components' certification lifecycle]({{< ref "certification-lifecycle.md" >}}). ## Supported versions @@ -62,19 +62,19 @@ The table below shows the versions of Dapr releases that have been tested togeth | November 1st 2022 | 1.9.2
| 1.9.1 | Java 1.7.0
Go 1.6.0
PHP 1.1.0
Python 1.8.1
.NET 1.9.0
JS 2.4.2 | 0.11.0 | Supported | | October 26th 2022 | 1.9.1
| 1.9.1 | Java 1.7.0
Go 1.6.0
PHP 1.1.0
Python 1.8.1
.NET 1.9.0
JS 2.4.2 | 0.11.0 | Supported | | October 13th 2022 | 1.9.0
| 1.9.1 | Java 1.7.0
Go 1.6.0
PHP 1.1.0
Python 1.8.3
.NET 1.9.0
JS 2.4.2 | 0.11.0 | Supported | -| October 26th 2022 | 1.8.6
| 1.8.1 | Java 1.6.0
Go 1.5.0
PHP 1.1.0
Python 1.7.0
.NET 1.8.0
JS 2.3.0 | 0.11.0 | Supported | -| October 13th 2022 | 1.8.5
| 1.8.1 | Java 1.6.0
Go 1.5.0
PHP 1.1.0
Python 1.7.0
.NET 1.8.0
JS 2.3.0 | 0.11.0 | Supported | -| August 10th 2022 | 1.8.4
| 1.8.1 | Java 1.6.0
Go 1.5.0
PHP 1.1.0
Python 1.7.0
.NET 1.8.0
JS 2.3.0 | 0.11.0 | Supported | -| July 29th 2022 | 1.8.3
| 1.8.0 | Java 1.6.0
Go 1.5.0
PHP 1.1.0
Python 1.7.0
.NET 1.8.0
JS 2.3.0 | 0.11.0 | Supported | -| July 21st 2022 | 1.8.2
| 1.8.0 | Java 1.6.0
Go 1.5.0
PHP 1.1.0
Python 1.7.0
.NET 1.8.0
JS 2.3.0 | 0.11.0 | Supported | -| July 20th 2022 | 1.8.1
| 1.8.0 | Java 1.6.0
Go 1.5.0
PHP 1.1.0
Python 1.7.0
.NET 1.8.0
JS 2.3.0 | 0.11.0 | Supported | -| July 7th 2022 | 1.8.0
| 1.8.0 | Java 1.6.0
Go 1.5.0
PHP 1.1.0
Python 1.7.0
.NET 1.8.0
JS 2.3.0 | 0.11.0 | Supported | -| October 26th 2022 | 1.7.5
| 1.7.0 | Java 1.5.0
Go 1.4.0
PHP 1.1.0
Python 1.6.0
.NET 1.7.0
JS 2.2.1 | 0.10.0 | Supported | -| May 31st 2022 | 1.7.4
| 1.7.0 | Java 1.5.0
Go 1.4.0
PHP 1.1.0
Python 1.6.0
.NET 1.7.0
JS 2.2.1 | 0.10.0 | Supported | -| May 17th 2022 | 1.7.3
| 1.7.0 | Java 1.5.0
Go 1.4.0
PHP 1.1.0
Python 1.6.0
.NET 1.7.0
JS 2.2.1 | 0.10.0 | Supported | -| Apr 22th 2022 | 1.7.2
| 1.7.0 | Java 1.5.0
Go 1.4.0
PHP 1.1.0
Python 1.6.0
.NET 1.7.0
JS 2.1.0 | 0.10.0 | Supported | -| Apr 20th 2022 | 1.7.1
| 1.7.0 | Java 1.5.0
Go 1.4.0
PHP 1.1.0
Python 1.6.0
.NET 1.7.0
JS 2.1.0 | 0.10.0 | Supported | -| Apr 7th 2022 | 1.7.0
| 1.7.0 | Java 1.5.0
Go 1.4.0
PHP 1.1.0
Python 1.6.0
.NET 1.7.0
JS 2.1.0 | 0.10.0 | Supported | +| October 26th 2022 | 1.8.6
| 1.8.1 | Java 1.6.0
Go 1.5.0
PHP 1.1.0
Python 1.7.0
.NET 1.8.0
JS 2.3.0 | 0.11.0 | Unsupported | +| October 13th 2022 | 1.8.5
| 1.8.1 | Java 1.6.0
Go 1.5.0
PHP 1.1.0
Python 1.7.0
.NET 1.8.0
JS 2.3.0 | 0.11.0 | Unsupported | +| August 10th 2022 | 1.8.4
| 1.8.1 | Java 1.6.0
Go 1.5.0
PHP 1.1.0
Python 1.7.0
.NET 1.8.0
JS 2.3.0 | 0.11.0 | Unsupported | +| July 29th 2022 | 1.8.3
| 1.8.0 | Java 1.6.0
Go 1.5.0
PHP 1.1.0
Python 1.7.0
.NET 1.8.0
JS 2.3.0 | 0.11.0 | Unsupported | +| July 21st 2022 | 1.8.2
| 1.8.0 | Java 1.6.0
Go 1.5.0
PHP 1.1.0
Python 1.7.0
.NET 1.8.0
JS 2.3.0 | 0.11.0 | Unsupported | +| July 20th 2022 | 1.8.1
| 1.8.0 | Java 1.6.0
Go 1.5.0
PHP 1.1.0
Python 1.7.0
.NET 1.8.0
JS 2.3.0 | 0.11.0 | Unsupported | +| July 7th 2022 | 1.8.0
| 1.8.0 | Java 1.6.0
Go 1.5.0
PHP 1.1.0
Python 1.7.0
.NET 1.8.0
JS 2.3.0 | 0.11.0 | Unsupported | +| October 26th 2022 | 1.7.5
| 1.7.0 | Java 1.5.0
Go 1.4.0
PHP 1.1.0
Python 1.6.0
.NET 1.7.0
JS 2.2.1 | 0.10.0 | Unsupported | +| May 31st 2022 | 1.7.4
| 1.7.0 | Java 1.5.0
Go 1.4.0
PHP 1.1.0
Python 1.6.0
.NET 1.7.0
JS 2.2.1 | 0.10.0 | Unsupported | +| May 17th 2022 | 1.7.3
| 1.7.0 | Java 1.5.0
Go 1.4.0
PHP 1.1.0
Python 1.6.0
.NET 1.7.0
JS 2.2.1 | 0.10.0 | Unsupported | +| Apr 22th 2022 | 1.7.2
| 1.7.0 | Java 1.5.0
Go 1.4.0
PHP 1.1.0
Python 1.6.0
.NET 1.7.0
JS 2.1.0 | 0.10.0 | Unsupported | +| Apr 20th 2022 | 1.7.1
| 1.7.0 | Java 1.5.0
Go 1.4.0
PHP 1.1.0
Python 1.6.0
.NET 1.7.0
JS 2.1.0 | 0.10.0 | Unsupported | +| Apr 7th 2022 | 1.7.0
| 1.7.0 | Java 1.5.0
Go 1.4.0
PHP 1.1.0
Python 1.6.0
.NET 1.7.0
JS 2.1.0 | 0.10.0 | Unsupported | | Apr 20th 2022 | 1.6.2
| 1.6.0 | Java 1.4.0
Go 1.3.1
PHP 1.1.0
Python 1.5.0
.NET 1.6.0
JS 2.0.0 | 0.9.0 | Unsupported | | Mar 25th 2022 | 1.6.1
| 1.6.0 | Java 1.4.0
Go 1.3.1
PHP 1.1.0
Python 1.5.0
.NET 1.6.0
JS 2.0.0 | 0.9.0 | Unsupported | | Jan 25th 2022 | 1.6.0
| 1.6.0 | Java 1.4.0
Go 1.3.1
PHP 1.1.0
Python 1.5.0
.NET 1.6.0
JS 2.0.0 | 0.9.0 | Unsupported | From c83cc861b37196a26be7ea1d82d8e337fb5afe56 Mon Sep 17 00:00:00 2001 From: Hannah Hunter Date: Mon, 31 Jul 2023 15:53:21 -0400 Subject: [PATCH 22/27] add links to release notes Signed-off-by: Hannah Hunter --- .../support/support-release-policy.md | 92 ++++++++++--------- 1 file changed, 47 insertions(+), 45 deletions(-) diff --git a/daprdocs/content/en/operations/support/support-release-policy.md b/daprdocs/content/en/operations/support/support-release-policy.md index a1cfee989..4c74806a3 100644 --- a/daprdocs/content/en/operations/support/support-release-policy.md +++ b/daprdocs/content/en/operations/support/support-release-policy.md @@ -43,51 +43,53 @@ Learn more about [Dapr components' certification lifecycle]({{< ref "certificati 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 | -|--------------------|:--------:|:--------|---------|---------|---------| -| July 20th 2023 | 1.11.2
| 1.11.0 | Java 1.9.0
Go 1.8.0
PHP 1.1.0
Python 1.10.0
.NET 1.11.0
JS 3.1.0 | 0.13.0 | Supported (current) | -| June 22nd 2023 | 1.11.1
| 1.11.0 | Java 1.9.0
Go 1.8.0
PHP 1.1.0
Python 1.10.0
.NET 1.11.0
JS 3.1.0 | 0.13.0 | Supported (current) | -| June 12th 2023 | 1.11.0
| 1.11.0 | Java 1.9.0
Go 1.8.0
PHP 1.1.0
Python 1.10.0
.NET 1.11.0
JS 3.1.0 | 0.13.0 | Supported (current) | -| May 15th 2023 | 1.10.7
| 1.10.0 | Java 1.8.0
Go 1.7.0
PHP 1.1.0
Python 1.9.0
.NET 1.10.0
JS 3.0.0 | 0.11.0 | Supported | -| May 12th 2023 | 1.10.6
| 1.10.0 | Java 1.8.0
Go 1.7.0
PHP 1.1.0
Python 1.9.0
.NET 1.10.0
JS 3.0.0 | 0.11.0 | Supported | -| April 13 2023 |1.10.5
| 1.10.0 | Java 1.8.0
Go 1.6.0
PHP 1.1.0
Python 1.9.0
.NET 1.10.0
JS 3.0.0 | 0.11.0 | Supported | -| March 16 2023 | 1.10.4
| 1.10.0 | Java 1.8.0
Go 1.6.0
PHP 1.1.0
Python 1.9.0
.NET 1.10.0
JS 2.5.0 | 0.11.0 | Supported | -| March 14 2023 | 1.10.3
| 1.10.0 | Java 1.8.0
Go 1.6.0
PHP 1.1.0
Python 1.9.0
.NET 1.10.0
JS 2.5.0 | 0.11.0 | Supported | -| February 24 2023 | 1.10.2
| 1.10.0 | Java 1.8.0
Go 1.6.0
PHP 1.1.0
Python 1.9.0
.NET 1.10.0
JS 2.5.0 | 0.11.0 | Supported | -| February 20 2023 | 1.10.1
| 1.10.0 | Java 1.8.0
Go 1.6.0
PHP 1.1.0
Python 1.9.0
.NET 1.10.0
JS 2.5.0 | 0.11.0 | Supported | -| February 14 2023 | 1.10.0
| 1.10.0 | Java 1.8.0
Go 1.6.0
PHP 1.1.0
Python 1.9.0
.NET 1.10.0
JS 2.5.0 | 0.11.0 | Supported| -| December 2nd 2022 | 1.9.5
| 1.9.1 | Java 1.7.0
Go 1.6.0
PHP 1.1.0
Python 1.8.3
.NET 1.9.0
JS 2.4.2 | 0.11.0 | Supported | -| November 17th 2022 | 1.9.4
| 1.9.1 | Java 1.7.0
Go 1.6.0
PHP 1.1.0
Python 1.8.3
.NET 1.9.0
JS 2.4.2 | 0.11.0 | Supported | -| November 4th 2022 | 1.9.3
| 1.9.1 | Java 1.7.0
Go 1.6.0
PHP 1.1.0
Python 1.8.3
.NET 1.9.0
JS 2.4.2 | 0.11.0 | Supported | -| November 1st 2022 | 1.9.2
| 1.9.1 | Java 1.7.0
Go 1.6.0
PHP 1.1.0
Python 1.8.1
.NET 1.9.0
JS 2.4.2 | 0.11.0 | Supported | -| October 26th 2022 | 1.9.1
| 1.9.1 | Java 1.7.0
Go 1.6.0
PHP 1.1.0
Python 1.8.1
.NET 1.9.0
JS 2.4.2 | 0.11.0 | Supported | -| October 13th 2022 | 1.9.0
| 1.9.1 | Java 1.7.0
Go 1.6.0
PHP 1.1.0
Python 1.8.3
.NET 1.9.0
JS 2.4.2 | 0.11.0 | Supported | -| October 26th 2022 | 1.8.6
| 1.8.1 | Java 1.6.0
Go 1.5.0
PHP 1.1.0
Python 1.7.0
.NET 1.8.0
JS 2.3.0 | 0.11.0 | Unsupported | -| October 13th 2022 | 1.8.5
| 1.8.1 | Java 1.6.0
Go 1.5.0
PHP 1.1.0
Python 1.7.0
.NET 1.8.0
JS 2.3.0 | 0.11.0 | Unsupported | -| August 10th 2022 | 1.8.4
| 1.8.1 | Java 1.6.0
Go 1.5.0
PHP 1.1.0
Python 1.7.0
.NET 1.8.0
JS 2.3.0 | 0.11.0 | Unsupported | -| July 29th 2022 | 1.8.3
| 1.8.0 | Java 1.6.0
Go 1.5.0
PHP 1.1.0
Python 1.7.0
.NET 1.8.0
JS 2.3.0 | 0.11.0 | Unsupported | -| July 21st 2022 | 1.8.2
| 1.8.0 | Java 1.6.0
Go 1.5.0
PHP 1.1.0
Python 1.7.0
.NET 1.8.0
JS 2.3.0 | 0.11.0 | Unsupported | -| July 20th 2022 | 1.8.1
| 1.8.0 | Java 1.6.0
Go 1.5.0
PHP 1.1.0
Python 1.7.0
.NET 1.8.0
JS 2.3.0 | 0.11.0 | Unsupported | -| July 7th 2022 | 1.8.0
| 1.8.0 | Java 1.6.0
Go 1.5.0
PHP 1.1.0
Python 1.7.0
.NET 1.8.0
JS 2.3.0 | 0.11.0 | Unsupported | -| October 26th 2022 | 1.7.5
| 1.7.0 | Java 1.5.0
Go 1.4.0
PHP 1.1.0
Python 1.6.0
.NET 1.7.0
JS 2.2.1 | 0.10.0 | Unsupported | -| May 31st 2022 | 1.7.4
| 1.7.0 | Java 1.5.0
Go 1.4.0
PHP 1.1.0
Python 1.6.0
.NET 1.7.0
JS 2.2.1 | 0.10.0 | Unsupported | -| May 17th 2022 | 1.7.3
| 1.7.0 | Java 1.5.0
Go 1.4.0
PHP 1.1.0
Python 1.6.0
.NET 1.7.0
JS 2.2.1 | 0.10.0 | Unsupported | -| Apr 22th 2022 | 1.7.2
| 1.7.0 | Java 1.5.0
Go 1.4.0
PHP 1.1.0
Python 1.6.0
.NET 1.7.0
JS 2.1.0 | 0.10.0 | Unsupported | -| Apr 20th 2022 | 1.7.1
| 1.7.0 | Java 1.5.0
Go 1.4.0
PHP 1.1.0
Python 1.6.0
.NET 1.7.0
JS 2.1.0 | 0.10.0 | Unsupported | -| Apr 7th 2022 | 1.7.0
| 1.7.0 | Java 1.5.0
Go 1.4.0
PHP 1.1.0
Python 1.6.0
.NET 1.7.0
JS 2.1.0 | 0.10.0 | Unsupported | -| Apr 20th 2022 | 1.6.2
| 1.6.0 | Java 1.4.0
Go 1.3.1
PHP 1.1.0
Python 1.5.0
.NET 1.6.0
JS 2.0.0 | 0.9.0 | Unsupported | -| Mar 25th 2022 | 1.6.1
| 1.6.0 | Java 1.4.0
Go 1.3.1
PHP 1.1.0
Python 1.5.0
.NET 1.6.0
JS 2.0.0 | 0.9.0 | Unsupported | -| Jan 25th 2022 | 1.6.0
| 1.6.0 | Java 1.4.0
Go 1.3.1
PHP 1.1.0
Python 1.5.0
.NET 1.6.0
JS 2.0.0 | 0.9.0 | Unsupported | -| Mar 25th 2022 | 1.5.2
| 1.6.0 | Java 1.3.0
Go 1.3.0
PHP 1.1.0
Python 1.4.0
.NET 1.5.0
JS 1.0.2 | 0.9.0 | Unsupported | -| Dec 6th 2021 | 1.5.1
| 1.5.1 | Java 1.3.0
Go 1.3.0
PHP 1.1.0
Python 1.4.0
.NET 1.5.0
JS 1.0.2 | 0.9.0 | Unsupported | -| Nov 11th 2021 | 1.5.0
| 1.5.0 | Java 1.3.0
Go 1.3.0
PHP 1.1.0
Python 1.4.0
.NET 1.5.0
JS 1.0.2 | 0.9.0 | Unsupported | -| Dev 6th 2021 | 1.4.4
| 1.4.0 | Java 1.3.0
Go 1.2.0
PHP 1.1.0
Python 1.3.0
.NET 1.4.0 | 0.8.0 | Unsupported | -| Oct 7th 2021 | 1.4.3
| 1.4.0 | Java 1.3.0
Go 1.2.0
PHP 1.1.0
Python 1.3.0
.NET 1.4.0 | 0.8.0 | Unsupported | -| Sep 24th 2021 | 1.4.2
| 1.4.0 | Java 1.3.0
Go 1.2.0
PHP 1.1.0
Python 1.3.0
.NET 1.4.0 | 0.8.0 | Unsupported | -| Sep 22nd 2021 | 1.4.1
| 1.4.0 | Java 1.3.0
Go 1.2.0
PHP 1.1.0
Python 1.3.0
.NET 1.4.0 | 0.8.0 | Unsupported | -| Sep 15th 2021 | 1.4
| 1.4.0 | Java 1.3.0
Go 1.2.0
PHP 1.1.0
Python 1.3.0
.NET 1.4.0 | 0.8.0 | Unsupported | -| Sep 14th 2021 | 1.3.1
| 1.3.0 | Java 1.2.0
Go 1.2.0
PHP 1.1.0
Python 1.2.0
.NET 1.3.0 | 0.7.0 | Unsupported | -| Jul 26th 2021 | 1.3
| 1.3.0 | Java 1.2.0
Go 1.2.0
PHP 1.1.0
Python 1.2.0
.NET 1.3.0 | 0.7.0 | Unsupported | +| Release date | Runtime | CLI | SDKs | Dashboard | Status | Release notes | +|--------------------|:--------:|:--------|---------|---------|---------|------------| +| July 20th 2023 | 1.11.2
| 1.11.0 | Java 1.9.0
Go 1.8.0
PHP 1.1.0
Python 1.10.0
.NET 1.11.0
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 22nd 2023 | 1.11.1
| 1.11.0 | Java 1.9.0
Go 1.8.0
PHP 1.1.0
Python 1.10.0
.NET 1.11.0
JS 3.1.0 | 0.13.0 | Supported (current) | [v1.11.1 release notes](https://github.com/dapr/dapr/releases/tag/v1.11.1) | +| June 12th 2023 | 1.11.0
| 1.11.0 | Java 1.9.0
Go 1.8.0
PHP 1.1.0
Python 1.10.0
.NET 1.11.0
JS 3.1.0 | 0.13.0 | Supported (current) | [v1.11.0 release notes](https://github.com/dapr/dapr/releases/tag/v1.11.0) | +| July 20th 2023 | 1.10.9
| 1.10.0 | Java 1.8.0
Go 1.7.0
PHP 1.1.0
Python 1.9.0
.NET 1.10.0
JS 3.0.0 | 0.11.0 | Supported | [v1.10.9 release notes](https://github.com/dapr/dapr/releases/tag/v1.10.9) | +| June 22nd 2023 | 1.10.8
| 1.10.0 | Java 1.8.0
Go 1.7.0
PHP 1.1.0
Python 1.9.0
.NET 1.10.0
JS 3.0.0 | 0.11.0 | Supported | [v1.10.8 release notes](https://github.com/dapr/dapr/releases/tag/v1.10.8) | +| May 15th 2023 | 1.10.7
| 1.10.0 | Java 1.8.0
Go 1.7.0
PHP 1.1.0
Python 1.9.0
.NET 1.10.0
JS 3.0.0 | 0.11.0 | Supported | | +| May 12th 2023 | 1.10.6
| 1.10.0 | Java 1.8.0
Go 1.7.0
PHP 1.1.0
Python 1.9.0
.NET 1.10.0
JS 3.0.0 | 0.11.0 | Supported | | +| April 13 2023 |1.10.5
| 1.10.0 | Java 1.8.0
Go 1.6.0
PHP 1.1.0
Python 1.9.0
.NET 1.10.0
JS 3.0.0 | 0.11.0 | Supported | | +| March 16 2023 | 1.10.4
| 1.10.0 | Java 1.8.0
Go 1.6.0
PHP 1.1.0
Python 1.9.0
.NET 1.10.0
JS 2.5.0 | 0.11.0 | Supported | | +| March 14 2023 | 1.10.3
| 1.10.0 | Java 1.8.0
Go 1.6.0
PHP 1.1.0
Python 1.9.0
.NET 1.10.0
JS 2.5.0 | 0.11.0 | Supported | | +| February 24 2023 | 1.10.2
| 1.10.0 | Java 1.8.0
Go 1.6.0
PHP 1.1.0
Python 1.9.0
.NET 1.10.0
JS 2.5.0 | 0.11.0 | Supported | | +| February 20 2023 | 1.10.1
| 1.10.0 | Java 1.8.0
Go 1.6.0
PHP 1.1.0
Python 1.9.0
.NET 1.10.0
JS 2.5.0 | 0.11.0 | Supported | | +| February 14 2023 | 1.10.0
| 1.10.0 | Java 1.8.0
Go 1.6.0
PHP 1.1.0
Python 1.9.0
.NET 1.10.0
JS 2.5.0 | 0.11.0 | Supported| | +| December 2nd 2022 | 1.9.5
| 1.9.1 | Java 1.7.0
Go 1.6.0
PHP 1.1.0
Python 1.8.3
.NET 1.9.0
JS 2.4.2 | 0.11.0 | Supported | | +| November 17th 2022 | 1.9.4
| 1.9.1 | Java 1.7.0
Go 1.6.0
PHP 1.1.0
Python 1.8.3
.NET 1.9.0
JS 2.4.2 | 0.11.0 | Supported | | +| November 4th 2022 | 1.9.3
| 1.9.1 | Java 1.7.0
Go 1.6.0
PHP 1.1.0
Python 1.8.3
.NET 1.9.0
JS 2.4.2 | 0.11.0 | Supported | | +| November 1st 2022 | 1.9.2
| 1.9.1 | Java 1.7.0
Go 1.6.0
PHP 1.1.0
Python 1.8.1
.NET 1.9.0
JS 2.4.2 | 0.11.0 | Supported | | +| October 26th 2022 | 1.9.1
| 1.9.1 | Java 1.7.0
Go 1.6.0
PHP 1.1.0
Python 1.8.1
.NET 1.9.0
JS 2.4.2 | 0.11.0 | Supported | | +| October 13th 2022 | 1.9.0
| 1.9.1 | Java 1.7.0
Go 1.6.0
PHP 1.1.0
Python 1.8.3
.NET 1.9.0
JS 2.4.2 | 0.11.0 | Supported | | +| October 26th 2022 | 1.8.6
| 1.8.1 | Java 1.6.0
Go 1.5.0
PHP 1.1.0
Python 1.7.0
.NET 1.8.0
JS 2.3.0 | 0.11.0 | Unsupported | | +| October 13th 2022 | 1.8.5
| 1.8.1 | Java 1.6.0
Go 1.5.0
PHP 1.1.0
Python 1.7.0
.NET 1.8.0
JS 2.3.0 | 0.11.0 | Unsupported | | +| August 10th 2022 | 1.8.4
| 1.8.1 | Java 1.6.0
Go 1.5.0
PHP 1.1.0
Python 1.7.0
.NET 1.8.0
JS 2.3.0 | 0.11.0 | Unsupported | | +| July 29th 2022 | 1.8.3
| 1.8.0 | Java 1.6.0
Go 1.5.0
PHP 1.1.0
Python 1.7.0
.NET 1.8.0
JS 2.3.0 | 0.11.0 | Unsupported | | +| July 21st 2022 | 1.8.2
| 1.8.0 | Java 1.6.0
Go 1.5.0
PHP 1.1.0
Python 1.7.0
.NET 1.8.0
JS 2.3.0 | 0.11.0 | Unsupported | | +| July 20th 2022 | 1.8.1
| 1.8.0 | Java 1.6.0
Go 1.5.0
PHP 1.1.0
Python 1.7.0
.NET 1.8.0
JS 2.3.0 | 0.11.0 | Unsupported | | +| July 7th 2022 | 1.8.0
| 1.8.0 | Java 1.6.0
Go 1.5.0
PHP 1.1.0
Python 1.7.0
.NET 1.8.0
JS 2.3.0 | 0.11.0 | Unsupported | | +| October 26th 2022 | 1.7.5
| 1.7.0 | Java 1.5.0
Go 1.4.0
PHP 1.1.0
Python 1.6.0
.NET 1.7.0
JS 2.2.1 | 0.10.0 | Unsupported | | +| May 31st 2022 | 1.7.4
| 1.7.0 | Java 1.5.0
Go 1.4.0
PHP 1.1.0
Python 1.6.0
.NET 1.7.0
JS 2.2.1 | 0.10.0 | Unsupported | | +| May 17th 2022 | 1.7.3
| 1.7.0 | Java 1.5.0
Go 1.4.0
PHP 1.1.0
Python 1.6.0
.NET 1.7.0
JS 2.2.1 | 0.10.0 | Unsupported | | +| Apr 22th 2022 | 1.7.2
| 1.7.0 | Java 1.5.0
Go 1.4.0
PHP 1.1.0
Python 1.6.0
.NET 1.7.0
JS 2.1.0 | 0.10.0 | Unsupported | | +| Apr 20th 2022 | 1.7.1
| 1.7.0 | Java 1.5.0
Go 1.4.0
PHP 1.1.0
Python 1.6.0
.NET 1.7.0
JS 2.1.0 | 0.10.0 | Unsupported | | +| Apr 7th 2022 | 1.7.0
| 1.7.0 | Java 1.5.0
Go 1.4.0
PHP 1.1.0
Python 1.6.0
.NET 1.7.0
JS 2.1.0 | 0.10.0 | Unsupported | | +| Apr 20th 2022 | 1.6.2
| 1.6.0 | Java 1.4.0
Go 1.3.1
PHP 1.1.0
Python 1.5.0
.NET 1.6.0
JS 2.0.0 | 0.9.0 | Unsupported | | +| Mar 25th 2022 | 1.6.1
| 1.6.0 | Java 1.4.0
Go 1.3.1
PHP 1.1.0
Python 1.5.0
.NET 1.6.0
JS 2.0.0 | 0.9.0 | Unsupported | | +| Jan 25th 2022 | 1.6.0
| 1.6.0 | Java 1.4.0
Go 1.3.1
PHP 1.1.0
Python 1.5.0
.NET 1.6.0
JS 2.0.0 | 0.9.0 | Unsupported | | +| Mar 25th 2022 | 1.5.2
| 1.6.0 | Java 1.3.0
Go 1.3.0
PHP 1.1.0
Python 1.4.0
.NET 1.5.0
JS 1.0.2 | 0.9.0 | Unsupported | | +| Dec 6th 2021 | 1.5.1
| 1.5.1 | Java 1.3.0
Go 1.3.0
PHP 1.1.0
Python 1.4.0
.NET 1.5.0
JS 1.0.2 | 0.9.0 | Unsupported | | +| Nov 11th 2021 | 1.5.0
| 1.5.0 | Java 1.3.0
Go 1.3.0
PHP 1.1.0
Python 1.4.0
.NET 1.5.0
JS 1.0.2 | 0.9.0 | Unsupported | | +| Dev 6th 2021 | 1.4.4
| 1.4.0 | Java 1.3.0
Go 1.2.0
PHP 1.1.0
Python 1.3.0
.NET 1.4.0 | 0.8.0 | Unsupported | | +| Oct 7th 2021 | 1.4.3
| 1.4.0 | Java 1.3.0
Go 1.2.0
PHP 1.1.0
Python 1.3.0
.NET 1.4.0 | 0.8.0 | Unsupported | | +| Sep 24th 2021 | 1.4.2
| 1.4.0 | Java 1.3.0
Go 1.2.0
PHP 1.1.0
Python 1.3.0
.NET 1.4.0 | 0.8.0 | Unsupported | | +| Sep 22nd 2021 | 1.4.1
| 1.4.0 | Java 1.3.0
Go 1.2.0
PHP 1.1.0
Python 1.3.0
.NET 1.4.0 | 0.8.0 | Unsupported | | +| Sep 15th 2021 | 1.4
| 1.4.0 | Java 1.3.0
Go 1.2.0
PHP 1.1.0
Python 1.3.0
.NET 1.4.0 | 0.8.0 | Unsupported | | +| Sep 14th 2021 | 1.3.1
| 1.3.0 | Java 1.2.0
Go 1.2.0
PHP 1.1.0
Python 1.2.0
.NET 1.3.0 | 0.7.0 | Unsupported | | +| Jul 26th 2021 | 1.3
| 1.3.0 | Java 1.2.0
Go 1.2.0
PHP 1.1.0
Python 1.2.0
.NET 1.3.0 | 0.7.0 | Unsupported | | ## Upgrade paths From 71d7b53e921499a577db8143f2e6a41f8963ea75 Mon Sep 17 00:00:00 2001 From: Hannah Hunter Date: Mon, 31 Jul 2023 16:01:15 -0400 Subject: [PATCH 23/27] pull changes from config PR Signed-off-by: Hannah Hunter --- .../en/reference/api/configuration_api.md | 30 +++++++++++++++---- 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/daprdocs/content/en/reference/api/configuration_api.md b/daprdocs/content/en/reference/api/configuration_api.md index a1d878472..3fe4ed283 100644 --- a/daprdocs/content/en/reference/api/configuration_api.md +++ b/daprdocs/content/en/reference/api/configuration_api.md @@ -21,7 +21,7 @@ GET http://localhost:/v1.0/configuration/ Parameter | Description --------- | ----------- `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 @@ -83,7 +83,7 @@ GET http://localhost:/v1.0/configuration//subscribe Parameter | Description --------- | ----------- `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 @@ -149,7 +149,7 @@ GET http://localhost:/v1.0/configuration// Parameter | Description --------- | ----------- `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 #### Query Parameters @@ -172,7 +172,7 @@ Code | Description #### Response Body -``` +```json { "ok" : true } @@ -181,7 +181,25 @@ Code | Description ### Example ```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": "" +} ``` ## Optional application (user code) routes @@ -201,7 +219,7 @@ POST http://localhost:/configuration// Parameter | Description --------- | ----------- `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 #### Request Body From e33f5a95af0b4a993f162e486fec50c00ed44a3e Mon Sep 17 00:00:00 2001 From: Hannah Hunter <94493363+hhunter-ms@users.noreply.github.com> Date: Mon, 31 Jul 2023 17:14:13 -0400 Subject: [PATCH 24/27] [Bindings] Update specs to include `direction` (#3646) * update binding specs to include direction Signed-off-by: Hannah Hunter * Update daprdocs/data/components/bindings/generic.yaml Co-authored-by: Mark Fussell Signed-off-by: Hannah Hunter <94493363+hhunter-ms@users.noreply.github.com> * Update daprdocs/data/components/bindings/generic.yaml Co-authored-by: Mark Fussell Signed-off-by: Hannah Hunter <94493363+hhunter-ms@users.noreply.github.com> * consistency across bindings docs Signed-off-by: Hannah Hunter * Update daprdocs/content/en/reference/components-reference/supported-bindings/mysql.md Co-authored-by: Mark Fussell Signed-off-by: Hannah Hunter <94493363+hhunter-ms@users.noreply.github.com> --------- Signed-off-by: Hannah Hunter Signed-off-by: Hannah Hunter <94493363+hhunter-ms@users.noreply.github.com> Co-authored-by: Mark Fussell --- .../supported-bindings/alicloud-dingtalk.md | 11 ++- .../supported-bindings/alicloudoss.md | 3 + .../supported-bindings/alicloudsls.md | 3 + .../supported-bindings/alicloudtablestore.md | 3 + .../supported-bindings/apns.md | 19 +++--- .../supported-bindings/blobstorage.md | 3 + .../supported-bindings/cloudflare-queues.md | 4 ++ .../supported-bindings/commercetools.md | 28 ++++---- .../supported-bindings/cosmosdb.md | 23 ++++--- .../supported-bindings/cosmosdbgremlinapi.md | 11 +-- .../supported-bindings/cron.md | 5 +- .../supported-bindings/dynamodb.md | 24 ++++--- .../supported-bindings/eventgrid.md | 4 ++ .../supported-bindings/eventhubs.md | 4 ++ .../supported-bindings/gcpbucket.md | 55 ++++++++------- .../supported-bindings/gcppubsub.md | 51 +++++++------- .../supported-bindings/graghql.md | 15 +++-- .../supported-bindings/http.md | 29 ++++---- .../supported-bindings/huawei-obs.md | 24 ++++--- .../supported-bindings/influxdb.md | 19 +++--- .../supported-bindings/kafka.md | 45 +++++++------ .../supported-bindings/kinesis.md | 32 ++++----- .../supported-bindings/kitex.md | 19 ++++-- .../supported-bindings/kubemq.md | 19 +++--- .../supported-bindings/kubernetes-binding.md | 9 ++- .../supported-bindings/localstorage.md | 7 +- .../supported-bindings/mqtt3.md | 3 + .../supported-bindings/mysql.md | 27 ++++---- .../supported-bindings/postgresql.md | 7 +- .../supported-bindings/postmark.md | 17 +++-- .../supported-bindings/rabbitmq.md | 57 ++++++++-------- .../supported-bindings/redis.md | 54 ++++++++------- .../supported-bindings/rethinkdb.md | 12 ++-- .../supported-bindings/s3.md | 47 +++++++------ .../supported-bindings/sendgrid.md | 20 +++--- .../supported-bindings/servicebusqueues.md | 67 ++++++++++--------- .../supported-bindings/ses.md | 21 +++--- .../supported-bindings/signalr.md | 11 +-- .../supported-bindings/smtp.md | 25 ++++--- .../supported-bindings/sns.md | 24 ++++--- .../supported-bindings/sqs.md | 24 ++++--- .../supported-bindings/storagequeues.md | 5 +- .../supported-bindings/twilio.md | 19 +++--- .../supported-bindings/wasm.md | 6 +- .../supported-bindings/zeebe-command.md | 19 +++--- .../supported-bindings/zeebe-jobworker.md | 59 ++++++++-------- .../data/components/bindings/generic.yaml | 32 +++++++++ 47 files changed, 599 insertions(+), 426 deletions(-) diff --git a/daprdocs/content/en/reference/components-reference/supported-bindings/alicloud-dingtalk.md b/daprdocs/content/en/reference/components-reference/supported-bindings/alicloud-dingtalk.md index 767f6fe90..2d112e2aa 100644 --- a/daprdocs/content/en/reference/components-reference/supported-bindings/alicloud-dingtalk.md +++ b/daprdocs/content/en/reference/components-reference/supported-bindings/alicloud-dingtalk.md @@ -23,16 +23,21 @@ spec: value: "https://oapi.dingtalk.com/robot/send?access_token=******" - name: secret value: "****************" + - name: direction + value: "input, output" ``` + {{% 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 >}}). {{% /alert %}} + ## Spec metadata fields | Field | Required | Binding support | Details | Example | |--------------------|:--------:|--------|--------|---------| -| 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=******"` -| secret | N | Input/Output |the secret of DingTalk's Webhook | `"****************"` +| `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=******"` +| `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 diff --git a/daprdocs/content/en/reference/components-reference/supported-bindings/alicloudoss.md b/daprdocs/content/en/reference/components-reference/supported-bindings/alicloudoss.md index cc7c52b38..4036bb037 100644 --- a/daprdocs/content/en/reference/components-reference/supported-bindings/alicloudoss.md +++ b/daprdocs/content/en/reference/components-reference/supported-bindings/alicloudoss.md @@ -28,6 +28,8 @@ spec: value: "[access-key]" - name: bucket value: "[bucket]" + - name: direction + value: "output" ``` {{% 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. | | `accessKey` | Y | Output | Access key credential. | | `bucket` | Y | Output | Name of the storage bucket. | +| `direction` | N | Output | Direction of the binding. | `"output"` ## Binding support diff --git a/daprdocs/content/en/reference/components-reference/supported-bindings/alicloudsls.md b/daprdocs/content/en/reference/components-reference/supported-bindings/alicloudsls.md index 8afc5c921..b81db6d3c 100644 --- a/daprdocs/content/en/reference/components-reference/supported-bindings/alicloudsls.md +++ b/daprdocs/content/en/reference/components-reference/supported-bindings/alicloudsls.md @@ -26,6 +26,8 @@ spec: value: "[accessKey-secret]" - name: Endpoint value: "[endpoint]" + - name: direction + value: "output" ``` ## Spec metadata fields @@ -35,6 +37,7 @@ spec: | `AccessKeyID` | Y | Output | Access key ID credential. | | `AccessKeySecret` | Y | Output | Access key credential secret | | `Endpoint` | Y | Output | Alicloud SLS endpoint. | +| `direction` | N | Output | Direction of the binding. | `"output"` ## Binding support diff --git a/daprdocs/content/en/reference/components-reference/supported-bindings/alicloudtablestore.md b/daprdocs/content/en/reference/components-reference/supported-bindings/alicloudtablestore.md index 1a9173ff2..61daf950e 100644 --- a/daprdocs/content/en/reference/components-reference/supported-bindings/alicloudtablestore.md +++ b/daprdocs/content/en/reference/components-reference/supported-bindings/alicloudtablestore.md @@ -32,6 +32,8 @@ spec: value: "[table]" - name: endpoint value: "[endpoint]" + - name: direction + value: "output" ``` {{% 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. | | `instanceName` | Y | Output | Name of the instance. | | `tableName` | Y | Output | Name of the table. | +| `direction` | N | Output | Direction of the binding. | `"output"` ## Binding support diff --git a/daprdocs/content/en/reference/components-reference/supported-bindings/apns.md b/daprdocs/content/en/reference/components-reference/supported-bindings/apns.md index 2fb74483b..3b534cc55 100644 --- a/daprdocs/content/en/reference/components-reference/supported-bindings/apns.md +++ b/daprdocs/content/en/reference/components-reference/supported-bindings/apns.md @@ -21,24 +21,27 @@ spec: version: v1 metadata: - name: development - value: + value: "" - name: key-id - value: + value: "" - name: team-id - value: + value: "" - name: private-key secretKeyRef: name: - key: + key: "" + - name: direction + value: "output" ``` ## Spec metadata fields | 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"` | -| 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"` | -| 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"` | +| `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`" | +| `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"` | +| `direction` | N | Output| The direction of the binding. | `"output"` | ### Private key The APNS binding needs a cryptographic private key in order to generate authentication tokens for the APNS service. diff --git a/daprdocs/content/en/reference/components-reference/supported-bindings/blobstorage.md b/daprdocs/content/en/reference/components-reference/supported-bindings/blobstorage.md index 3df3e2804..b5ed20438 100644 --- a/daprdocs/content/en/reference/components-reference/supported-bindings/blobstorage.md +++ b/daprdocs/content/en/reference/components-reference/supported-bindings/blobstorage.md @@ -33,6 +33,8 @@ spec: # value: # - name: publicAccessLevel # value: +# - name: direction +# value: "output" ``` {{% 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 >}}). @@ -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` | | `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` +| `direction` | N | Output | The direction of the binding. | `"output"` ### Azure Active Directory (AAD) authentication diff --git a/daprdocs/content/en/reference/components-reference/supported-bindings/cloudflare-queues.md b/daprdocs/content/en/reference/components-reference/supported-bindings/cloudflare-queues.md index 2a1420b6d..b1196b54f 100644 --- a/daprdocs/content/en/reference/components-reference/supported-bindings/cloudflare-queues.md +++ b/daprdocs/content/en/reference/components-reference/supported-bindings/cloudflare-queues.md @@ -46,6 +46,9 @@ spec: # URL of the Worker (required if the Worker has been pre-created outside of Dapr) - name: workerUrl value: "" + # Direction of the binding + - name: direction + value: "output" ``` {{% 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` | `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"` +| `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"` diff --git a/daprdocs/content/en/reference/components-reference/supported-bindings/commercetools.md b/daprdocs/content/en/reference/components-reference/supported-bindings/commercetools.md index 010edf1c8..94fd95d14 100644 --- a/daprdocs/content/en/reference/components-reference/supported-bindings/commercetools.md +++ b/daprdocs/content/en/reference/components-reference/supported-bindings/commercetools.md @@ -23,18 +23,19 @@ spec: version: v1 metadata: - name: region # required. - value: region + value: "region" - name: provider # required. - value: provider (gcp/aws) + value: "gcp" - name: projectKey # required. - value: project-key + value: "" - name: clientID # required. - value: ***************** + value: "*****************" - name: clientSecret # required. - value: ***************** + value: "*****************" - name: scopes # required. - value: scopes - + value: "" + - name: direction + value: "output" ``` {{% 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 >}}). @@ -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 | |--------------------|:--------:|------------|-----|---------| -| region | Y | Output | The region of the commercetools project | `"europe-west1"` | -| provider | Y | Output | The cloud provider, either gcp or aws | `"gcp"` | -| projectKey | Y | Output | The commercetools project key | `"project-key"` | -| clientID | Y | Output | The commercetools client ID for the project | `"client ID"` | -| clientSecret | Y | Output | The commercetools client secret for the project | `"client secret"` | -| scopes | Y | Output | The commercetools scopes for the project | `"manage_project:project-key"` | +| `region` | Y | Output | The region of the commercetools project | `"europe-west1"` | +| `provider` | Y | Output | The cloud provider, either gcp or aws | `"gcp"`, `"aws"` | +| `projectKey` | Y | Output | The commercetools project key | | +| `clientID` | Y | Output | The commercetools client ID for the project | | +| `clientSecret` | Y | Output | The commercetools client secret for the project | | +| `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). diff --git a/daprdocs/content/en/reference/components-reference/supported-bindings/cosmosdb.md b/daprdocs/content/en/reference/components-reference/supported-bindings/cosmosdb.md index c9a54526f..111ecab83 100644 --- a/daprdocs/content/en/reference/components-reference/supported-bindings/cosmosdb.md +++ b/daprdocs/content/en/reference/components-reference/supported-bindings/cosmosdb.md @@ -22,15 +22,17 @@ spec: version: v1 metadata: - name: url - value: https://******.documents.azure.com:443/ + value: "https://******.documents.azure.com:443/" - name: masterKey - value: ***** + value: "*****" - name: database - value: db + value: "OrderDb" - name: collection - value: collection + value: "Orders" - name: partitionKey - value: message + value: "" + - name: direction + value: "output" ``` {{% 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 | |--------------------|:--------:|--------|---------|---------| -| url | Y | Output | The CosmosĀ DB url | `"https://******.documents.azure.com:443/"` | -| masterKey | Y | Output | The CosmosĀ DB account master key | `"master-key"` | -| database | Y | Output | The name of the CosmosĀ DB database | `"OrderDb"` | -| 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"` | +| `url` | Y | Output | The CosmosĀ DB url | `"https://******.documents.azure.com:443/"` | +| `masterKey` | Y | Output | The CosmosĀ DB account master key | `"master-key"` | +| `database` | Y | Output | The name of the CosmosĀ DB database | `"OrderDb"` | +| `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"` | +| `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). diff --git a/daprdocs/content/en/reference/components-reference/supported-bindings/cosmosdbgremlinapi.md b/daprdocs/content/en/reference/components-reference/supported-bindings/cosmosdbgremlinapi.md index 16641aa79..505bc5ca6 100644 --- a/daprdocs/content/en/reference/components-reference/supported-bindings/cosmosdbgremlinapi.md +++ b/daprdocs/content/en/reference/components-reference/supported-bindings/cosmosdbgremlinapi.md @@ -20,12 +20,14 @@ spec: version: v1 metadata: - name: url - value: wss://******.gremlin.cosmos.azure.com:443/ + value: "wss://******.gremlin.cosmos.azure.com:443/" - name: masterKey - value: ***** + value: "*****" - name: username - value: ***** - ``` + value: "*****" + - name: direction + value: "output" +``` {{% 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 >}}). @@ -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/"` | | `masterKey` | Y | Output | The Cosmos DB account master key | `"masterKey"` | | `username` | Y | Output | The username of the Cosmos DB database | `"/dbs//colls/"` | +| `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). diff --git a/daprdocs/content/en/reference/components-reference/supported-bindings/cron.md b/daprdocs/content/en/reference/components-reference/supported-bindings/cron.md index ace35d104..6a046f781 100644 --- a/daprdocs/content/en/reference/components-reference/supported-bindings/cron.md +++ b/daprdocs/content/en/reference/components-reference/supported-bindings/cron.md @@ -23,13 +23,16 @@ spec: metadata: - name: schedule value: "@every 15m" # valid cron schedule + - name: direction + value: "input" ``` ## Spec metadata fields | 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 diff --git a/daprdocs/content/en/reference/components-reference/supported-bindings/dynamodb.md b/daprdocs/content/en/reference/components-reference/supported-bindings/dynamodb.md index 35f81adb9..63654df5c 100644 --- a/daprdocs/content/en/reference/components-reference/supported-bindings/dynamodb.md +++ b/daprdocs/content/en/reference/components-reference/supported-bindings/dynamodb.md @@ -23,16 +23,17 @@ spec: version: v1 metadata: - name: table - value: items + value: "items" - name: region - value: us-west-2 + value: "us-west-2" - name: accessKey - value: ***************** + value: "*****************" - name: secretKey - value: ***************** + value: "*****************" - name: sessionToken - value: ***************** - + value: "*****************" + - name: direction + value: "output" ``` {{% 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 | |--------------------|:--------:|------------|-----|---------| -| 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"` | -| 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"` | -| sessionToken | N | Output | The AWS session token to use | `"sessionToken"` | +| `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"` | +| `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"` | +| `sessionToken` | N | Output | The AWS session token to use | `"sessionToken"` | +| `direction` | N | Output | The direction of the binding | `"output"` | {{% 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. diff --git a/daprdocs/content/en/reference/components-reference/supported-bindings/eventgrid.md b/daprdocs/content/en/reference/components-reference/supported-bindings/eventgrid.md index f0469b7bb..6288baee4 100644 --- a/daprdocs/content/en/reference/components-reference/supported-bindings/eventgrid.md +++ b/daprdocs/content/en/reference/components-reference/supported-bindings/eventgrid.md @@ -46,6 +46,9 @@ spec: # Optional Input Binding Metadata - name: eventSubscriptionName value: "[EventSubscriptionName]" + # Optional metadata + - name: direction + value: "input, output" ``` {{% 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"` | | `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"` | +| `direction` | N | Input/Output | The direction of the binding | `"input"`, `"output"`, `"input, output"` | ### Scope diff --git a/daprdocs/content/en/reference/components-reference/supported-bindings/eventhubs.md b/daprdocs/content/en/reference/components-reference/supported-bindings/eventhubs.md index dfe28434b..a4dc77013 100644 --- a/daprdocs/content/en/reference/components-reference/supported-bindings/eventhubs.md +++ b/daprdocs/content/en/reference/components-reference/supported-bindings/eventhubs.md @@ -55,6 +55,9 @@ spec: # Alternative to passing storageAccountKey - name: storageConnectionString value: "DefaultEndpointsProtocol=https;AccountName=;AccountKey=" + # Optional metadata + - name: direction + value: "input, output" ``` {{% 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.
* 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="` | `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 diff --git a/daprdocs/content/en/reference/components-reference/supported-bindings/gcpbucket.md b/daprdocs/content/en/reference/components-reference/supported-bindings/gcpbucket.md index db2f788a5..c4097a525 100644 --- a/daprdocs/content/en/reference/components-reference/supported-bindings/gcpbucket.md +++ b/daprdocs/content/en/reference/components-reference/supported-bindings/gcpbucket.md @@ -22,31 +22,33 @@ spec: version: v1 metadata: - name: bucket - value: mybucket + value: "mybucket" - name: type - value: service_account + value: "service_account" - name: project_id - value: project_111 + value: "project_111" - name: private_key_id - value: ************* + value: "*************" - name: client_email - value: name@domain.com + value: "name@domain.com" - name: client_id - value: '1111111111111111' + value: "1111111111111111" - name: auth_uri - value: https://accounts.google.com/o/oauth2/auth + value: "https://accounts.google.com/o/oauth2/auth" - name: token_uri - value: https://oauth2.googleapis.com/token + value: "https://oauth2.googleapis.com/token" - 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 - value: https://www.googleapis.com/robot/v1/metadata/x509/.iam.gserviceaccount.com + value: "https://www.googleapis.com/robot/v1/metadata/x509/.iam.gserviceaccount.com" - name: private_key - value: PRIVATE KEY + value: "PRIVATE KEY" - name: decodeBase64 - value: + value: "" - name: encodeBase64 - value: + value: "" + - name: direction + value: "output" ``` {{% 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 | |--------------------|:--------:|------------|-----|---------| -| bucket | Y | Output | The bucket name | `"mybucket"` | -| type | Y | Output | Tge GCP credentials type | `"service_account"` | -| project_id | Y | Output | GCP project id| `projectId` -| private_key_id | Y | Output | GCP private key id | `"privateKeyId"` -| 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_id | Y | Output | GCP client id | `0123456789-0123456789` -| 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` -| 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/.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` | -| 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` | +| `bucket` | Y | Output | The bucket name | `"mybucket"` | +| `type` | Y | Output | Tge GCP credentials type | `"service_account"` | +| `project_id` | Y | Output | GCP project id| `projectId` +| `private_key_id` | Y | Output | GCP private key id | `"privateKeyId"` +| `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_id` | Y | Output | GCP client id | `0123456789-0123456789` +| `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` +| `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/.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` | +| `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 diff --git a/daprdocs/content/en/reference/components-reference/supported-bindings/gcppubsub.md b/daprdocs/content/en/reference/components-reference/supported-bindings/gcppubsub.md index f1681191e..0608fa7d9 100644 --- a/daprdocs/content/en/reference/components-reference/supported-bindings/gcppubsub.md +++ b/daprdocs/content/en/reference/components-reference/supported-bindings/gcppubsub.md @@ -22,29 +22,31 @@ spec: version: v1 metadata: - name: topic - value: topic1 + value: "topic1" - name: subscription - value: subscription1 + value: "subscription1" - name: type - value: service_account + value: "service_account" - name: project_id - value: project_111 + value: "project_111" - name: private_key_id - value: ************* + value: "*************" - name: client_email - value: name@domain.com + value: "name@domain.com" - name: client_id - value: '1111111111111111' + value: "1111111111111111" - name: auth_uri - value: https://accounts.google.com/o/oauth2/auth + value: "https://accounts.google.com/o/oauth2/auth" - name: token_uri - value: https://oauth2.googleapis.com/token + value: "https://oauth2.googleapis.com/token" - 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 - value: https://www.googleapis.com/robot/v1/metadata/x509/.iam.gserviceaccount.com + value: "https://www.googleapis.com/robot/v1/metadata/x509/.iam.gserviceaccount.com" - name: private_key - value: PRIVATE KEY + value: "PRIVATE KEY" + - name: direction + value: "input, output" ``` {{% 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 >}}). @@ -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 | |--------------------|:--------:|-----------| -----|---------| -| topic | Y | Output | GCP Pub/Sub topic name | `"topic1"` | -| subscription | N | GCP Pub/Sub subscription name | `"name1"` | -| type | Y | Output | GCP credentials type | `service_account` -| project_id | Y | Output | GCP project id| `projectId` -| private_key_id | N | Output | GCP private key id | `"privateKeyId"` -| 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_id | N | Output | GCP client id | `0123456789-0123456789` -| 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` -| 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/.iam.gserviceaccount.com` +| `topic` | Y | Output | GCP Pub/Sub topic name | `"topic1"` | +| `subscription` | N | GCP Pub/Sub subscription name | `"name1"` | +| `type` | Y | Output | GCP credentials type | `service_account` +| `project_id` | Y | Output | GCP project id| `projectId` +| `private_key_id` | N | Output | GCP private key id | `"privateKeyId"` +| `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_id` | N | Output | GCP client id | `0123456789-0123456789` +| `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` +| `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/.iam.gserviceaccount.com` +| `direction` | N |Input/Output | The direction of the binding. | `"input"`, `"output"`, `"input, output"` ## Binding support diff --git a/daprdocs/content/en/reference/components-reference/supported-bindings/graghql.md b/daprdocs/content/en/reference/components-reference/supported-bindings/graghql.md index 9c7894e04..06ed28b0a 100644 --- a/daprdocs/content/en/reference/components-reference/supported-bindings/graghql.md +++ b/daprdocs/content/en/reference/components-reference/supported-bindings/graghql.md @@ -22,11 +22,13 @@ spec: version: v1 metadata: - name: endpoint - value: http://localhost:8080/v1/graphql + value: "http://localhost:8080/v1/graphql" - name: header:x-hasura-access-key - value: adminkey + value: "adminkey" - name: header:Cache-Control - value: no-cache + value: "no-cache" + - name: direction + value: "output" ``` {{% 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 | |--------------------|:--------:|------------|-----|---------| -| 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) | -| variable:[VARIABLEKEY] | N | Output | GraphQL query variable. Specify the variable name in the `name`, and the variable value in the `value`. | `"123"` (see below) | +| `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) | +| `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 diff --git a/daprdocs/content/en/reference/components-reference/supported-bindings/http.md b/daprdocs/content/en/reference/components-reference/supported-bindings/http.md index 685189cef..393559554 100644 --- a/daprdocs/content/en/reference/components-reference/supported-bindings/http.md +++ b/daprdocs/content/en/reference/components-reference/supported-bindings/http.md @@ -23,34 +23,37 @@ spec: version: v1 metadata: - name: url - value: http://something.com + value: "http://something.com" - name: MTLSRootCA - value: /Users/somepath/root.pem # OPTIONAL Secret store ref, , or + value: "/Users/somepath/root.pem" # OPTIONAL Secret store ref, , or - name: MTLSClientCert - value: /Users/somepath/client.pem # OPTIONAL Secret store ref, , or + value: "/Users/somepath/client.pem" # OPTIONAL Secret store ref, , or - name: MTLSClientKey - value: /Users/somepath/client.key # OPTIONAL Secret store ref, , or + value: "/Users/somepath/client.key" # OPTIONAL Secret store ref, , or - name: MTLSRenegotiation - value: RenegotiateOnceAsClient # OPTIONAL one of: RenegotiateNever, RenegotiateOnceAsClient, RenegotiateFreelyAsClient + value: "RenegotiateOnceAsClient" # OPTIONAL one of: RenegotiateNever, RenegotiateOnceAsClient, RenegotiateFreelyAsClient - name: securityToken # OPTIONAL secretKeyRef: name: mysecret - key: mytoken + key: "mytoken" - name: securityTokenHeader value: "Authorization: Bearer" # OPTIONAL
+ - name: direction + value: "output" ``` ## Spec metadata fields | 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` -| 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 | -| 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` -| 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 | +| `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 | +| `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 | +| `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` | +| `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 The values for **MTLSRootCA**, **MTLSClientCert** and **MTLSClientKey** can be provided in three ways: diff --git a/daprdocs/content/en/reference/components-reference/supported-bindings/huawei-obs.md b/daprdocs/content/en/reference/components-reference/supported-bindings/huawei-obs.md index 5f0c9255a..5c4e063f7 100644 --- a/daprdocs/content/en/reference/components-reference/supported-bindings/huawei-obs.md +++ b/daprdocs/content/en/reference/components-reference/supported-bindings/huawei-obs.md @@ -20,16 +20,18 @@ spec: type: bindings.huawei.obs version: v1 - name: bucket - value: + value: "" - name: endpoint - value: + value: "" - name: accessKey - value: + value: "" - name: secretKey - value: + value: "" # optional fields - name: region - value: + value: "" + - name: direction + value: "" ``` {{% 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 | |--------------------|:--------:|------------|-----|---------| -| 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"` | -| accessKey | Y | Output | The Huawei Access Key (AK) 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"` | - +| `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"` | +| `accessKey` | Y | Output | The Huawei Access Key (AK) 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"` | +| `direction` | N | Output | The direction of the binding | `"output"` | ## Binding support diff --git a/daprdocs/content/en/reference/components-reference/supported-bindings/influxdb.md b/daprdocs/content/en/reference/components-reference/supported-bindings/influxdb.md index dd256df07..f6fa6e45d 100644 --- a/daprdocs/content/en/reference/components-reference/supported-bindings/influxdb.md +++ b/daprdocs/content/en/reference/components-reference/supported-bindings/influxdb.md @@ -22,13 +22,15 @@ spec: version: v1 metadata: - name: url # Required - value: + value: "" - name: token # Required - value: + value: "" - name: org # Required - value: + value: "" - name: bucket # Required - value: + value: "" + - name: direction + value: "" ``` {{% 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 | |--------------------|:--------:|------------|-----|---------| -| url | Y | Output | The URL for the InfluxDB instance| `"http://localhost:8086"` | -| token | Y | Output | The authorization token for InfluxDB | `"mytoken"` | -| org | Y | Output | The InfluxDB organization | `"myorg"` | -| bucket | Y | Output | Bucket name to write to | `"mybucket"` | +| `url` | Y | Output | The URL for the InfluxDB instance| `"http://localhost:8086"` | +| `token` | Y | Output | The authorization token for InfluxDB | `"mytoken"` | +| `org` | Y | Output | The InfluxDB organization | `"myorg"` | +| `bucket` | Y | Output | Bucket name to write to | `"mybucket"` | +| `direction` | N | Output | Direction of the binding | `"output"` | ## Binding support diff --git a/daprdocs/content/en/reference/components-reference/supported-bindings/kafka.md b/daprdocs/content/en/reference/components-reference/supported-bindings/kafka.md index 912471cbb..38afe3c50 100644 --- a/daprdocs/content/en/reference/components-reference/supported-bindings/kafka.md +++ b/daprdocs/content/en/reference/components-reference/supported-bindings/kafka.md @@ -38,39 +38,42 @@ spec: - name: saslPassword # Required if authRequired is `true`. secretKeyRef: name: kafka-secrets - key: saslPasswordSecret + key: "saslPasswordSecret" - name: saslMechanism value: "SHA-512" - name: initialOffset # Optional. Used for input bindings. value: "newest" - name: maxMessageBytes # Optional. - value: 1024 + value: "1024" - name: version # Optional. - value: 1.0.0 + value: "1.0.0" + - name: direction + value: "input, output" ``` ## Spec metadata fields | Field | Required | Binding support | Details | Example | |--------------------|:--------:|------------|-----|---------| -| 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"` | -| 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"` | -| 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"` | -| 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"` | -| 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!"` | -| 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"` | -| 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" | -| 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!"` | -| 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` | +| `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"` | +| `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"` | +| `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"` | +| `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"` | +| `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!"` | +| `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"` | +| `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" | +| `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!"` | +| `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"` | +| `direction` | N | Input/Output | The direction of the binding. | `"input"`, `"output"`, `"input, output"` | #### Note The metadata `version` must be set to `1.0.0` when using Azure EventHubs with Kafka. diff --git a/daprdocs/content/en/reference/components-reference/supported-bindings/kinesis.md b/daprdocs/content/en/reference/components-reference/supported-bindings/kinesis.md index d823b70df..656c7ba22 100644 --- a/daprdocs/content/en/reference/components-reference/supported-bindings/kinesis.md +++ b/daprdocs/content/en/reference/components-reference/supported-bindings/kinesis.md @@ -23,20 +23,21 @@ spec: version: v1 metadata: - name: streamName - value: KINESIS_STREAM_NAME # Kinesis stream name + value: "KINESIS_STREAM_NAME" # Kinesis stream name - name: consumerName - value: KINESIS_CONSUMER_NAME # Kinesis consumer name + value: "KINESIS_CONSUMER_NAME" # Kinesis consumer name - name: mode - value: shared # shared - Shared throughput or extended - Extended/Enhanced fanout + value: "shared" # shared - Shared throughput or extended - Extended/Enhanced fanout - name: region - value: AWS_REGION #replace + value: "AWS_REGION" #replace - name: accessKey - value: AWS_ACCESS_KEY # replace + value: "AWS_ACCESS_KEY" # replace - name: secretKey - value: AWS_SECRET_KEY #replace + value: "AWS_SECRET_KEY" #replace - name: sessionToken - value: ***************** - + value: "*****************" + - name: direction + value: "input, output" ``` {{% 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 >}}). @@ -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 | |--------------------|:--------:|------------|-----|---------| -| 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"` | -| 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"` | -| 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"` | -| sessionToken | N | Output | The AWS session token to use | `"sessionToken"` | +| `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"` | +| `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"` | +| `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"` | +| `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" %}} 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. diff --git a/daprdocs/content/en/reference/components-reference/supported-bindings/kitex.md b/daprdocs/content/en/reference/components-reference/supported-bindings/kitex.md index b262f8ebe..ec4a19c1f 100644 --- a/daprdocs/content/en/reference/components-reference/supported-bindings/kitex.md +++ b/daprdocs/content/en/reference/components-reference/supported-bindings/kitex.md @@ -26,6 +26,16 @@ spec: type: bindings.kitex version: v1 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 @@ -38,10 +48,11 @@ The `InvokeRequest.Metadata` for `bindings.kitex` requires the client to fill in | Field | Required | Binding support | Details | Example | |-------------|:--------:|--------|---------------------------------------------------------------------------------------------------------|--------------------| -| 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"` | -| methodName | Y | Output | Method name under a specific service name of the Kitex server (Thrift) | `"echo"` | -| version | Y | Output | Kitex version | `"0.5.0"` | +| `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"` | +| `methodName` | Y | Output | Method name under a specific service name of the Kitex server (Thrift) | `"echo"` | +| `version` | Y | Output | Kitex version | `"0.5.0"` | +| `direction` | N | Output | Direction of the binding | `"output"` | ## Binding support diff --git a/daprdocs/content/en/reference/components-reference/supported-bindings/kubemq.md b/daprdocs/content/en/reference/components-reference/supported-bindings/kubemq.md index 5303abb26..5cf333ea2 100644 --- a/daprdocs/content/en/reference/components-reference/supported-bindings/kubemq.md +++ b/daprdocs/content/en/reference/components-reference/supported-bindings/kubemq.md @@ -22,21 +22,24 @@ spec: version: v1 metadata: - name: address - value: localhost:50000 + value: "localhost:50000" - name: channel - value: queue1 + value: "queue1" + - name: direction + value: "input, output" ``` ## Spec metadata fields | Field | Required | Details | Example | |--------------------|:--------:|------------------------------------------------------------------------------------------------------------------------------|----------------------------------------| -| address | Y | Address of the KubeMQ server | `"localhost:50000"` | -| 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...` | -| 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` | -| pollTimeoutSeconds | N | Sets the time in seconds for each poll interval | `3600` | +| `address` | Y | Address of the KubeMQ server | `"localhost:50000"` | +| `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..."` | +| `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"` | +| `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 diff --git a/daprdocs/content/en/reference/components-reference/supported-bindings/kubernetes-binding.md b/daprdocs/content/en/reference/components-reference/supported-bindings/kubernetes-binding.md index c6286d30b..25391a774 100644 --- a/daprdocs/content/en/reference/components-reference/supported-bindings/kubernetes-binding.md +++ b/daprdocs/content/en/reference/components-reference/supported-bindings/kubernetes-binding.md @@ -22,17 +22,20 @@ spec: version: v1 metadata: - name: namespace - value: + value: "" - name: resyncPeriodInSec value: "" + - name: direction + value: "input" ``` ## Spec metadata fields | Field | Required | Binding support | Details | Example | |--------------------|:--------:|------------|-----|---------| -| 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"` +| `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"` +| `direction` | N | Input | The direction of the binding | `"input"` ## Binding support diff --git a/daprdocs/content/en/reference/components-reference/supported-bindings/localstorage.md b/daprdocs/content/en/reference/components-reference/supported-bindings/localstorage.md index f040e5bf1..5290a69c3 100644 --- a/daprdocs/content/en/reference/components-reference/supported-bindings/localstorage.md +++ b/daprdocs/content/en/reference/components-reference/supported-bindings/localstorage.md @@ -22,14 +22,17 @@ spec: version: v1 metadata: - name: rootPath - value: + value: "" + - name: direction + value: "" ``` ## Spec metadata fields | 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 diff --git a/daprdocs/content/en/reference/components-reference/supported-bindings/mqtt3.md b/daprdocs/content/en/reference/components-reference/supported-bindings/mqtt3.md index 0364ea36b..1bef18dfc 100644 --- a/daprdocs/content/en/reference/components-reference/supported-bindings/mqtt3.md +++ b/daprdocs/content/en/reference/components-reference/supported-bindings/mqtt3.md @@ -34,6 +34,8 @@ spec: value: "false" - name: backOffMaxRetries value: "0" + - name: direction + value: "input, output" ``` {{% 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 | `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"` +| `direction` | N | Input/Output | The direction of the binding | `"input"`, `"output"`, `"input, output"` ### Communication using TLS diff --git a/daprdocs/content/en/reference/components-reference/supported-bindings/mysql.md b/daprdocs/content/en/reference/components-reference/supported-bindings/mysql.md index 103303ba0..d03dcfcab 100644 --- a/daprdocs/content/en/reference/components-reference/supported-bindings/mysql.md +++ b/daprdocs/content/en/reference/components-reference/supported-bindings/mysql.md @@ -25,17 +25,19 @@ spec: version: v1 metadata: - name: url # Required, define DB connection in DSN format - value: + value: "" - name: pemPath # Optional - value: + value: "" - name: maxIdleConns - value: + value: "" - name: maxOpenConns - value: + value: "" - name: connMaxLifetime - value: + value: "" - name: connMaxIdleTime - value: + value: "" + - name: direction + value: "" ``` {{% 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 | |--------------------|:--------:|------------|-----|---------| -| 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"` | -| maxIdleConns | N | Output | The max idle 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"` | -| connMaxIdleTime | N | Output | The max connection idel time. Duration string | `"12s"` | +| `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"` | +| `maxIdleConns` | N | Output | The max idle 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"` | +| `connMaxIdleTime` | N | Output | The max connection idel time. Duration string | `"12s"` | +| `direction` | N | Output | The direction of the binding | `"output"` | ### SSL connection diff --git a/daprdocs/content/en/reference/components-reference/supported-bindings/postgresql.md b/daprdocs/content/en/reference/components-reference/supported-bindings/postgresql.md index fdefee5cc..31c9f230c 100644 --- a/daprdocs/content/en/reference/components-reference/supported-bindings/postgresql.md +++ b/daprdocs/content/en/reference/components-reference/supported-bindings/postgresql.md @@ -23,7 +23,9 @@ spec: version: v1 metadata: - name: url # Required - value: + value: "" + - name: direction + value: "" ``` {{% 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 | |--------------------|:--------:|------------|-----|---------| -| 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 diff --git a/daprdocs/content/en/reference/components-reference/supported-bindings/postmark.md b/daprdocs/content/en/reference/components-reference/supported-bindings/postmark.md index f14965a9d..03edb8db2 100644 --- a/daprdocs/content/en/reference/components-reference/supported-bindings/postmark.md +++ b/daprdocs/content/en/reference/components-reference/supported-bindings/postmark.md @@ -30,6 +30,8 @@ spec: value: "dave@dapr.io" # optional - name: subject value: "Hello!" # optional + - name: direction + value: "output" # optional ``` {{% 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 >}}). @@ -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 | |--------------------|:--------:|------------|-----|---------| -| 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"` | -| 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"` | -| 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"` | -| subject | N | Output | If set this specifies the subject of the email message | `"me@example.com"` | +| `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"` | +| `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"` | +| `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"` | +| `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.) diff --git a/daprdocs/content/en/reference/components-reference/supported-bindings/rabbitmq.md b/daprdocs/content/en/reference/components-reference/supported-bindings/rabbitmq.md index 30b5b1029..d18d735e7 100644 --- a/daprdocs/content/en/reference/components-reference/supported-bindings/rabbitmq.md +++ b/daprdocs/content/en/reference/components-reference/supported-bindings/rabbitmq.md @@ -22,33 +22,35 @@ spec: version: v1 metadata: - name: queueName - value: queue1 + value: "queue1" - name: host - value: amqp://[username][:password]@host.domain[:port] + value: "amqp://[username][:password]@host.domain[:port]" - name: durable - value: true + value: "true" - name: deleteWhenUnused - value: false + value: "false" - name: ttlInSeconds - value: 60 + value: "60" - name: prefetchCount - value: 0 + value: "0" - name: exclusive - value: false + value: "false" - name: maxPriority - value: 5 + value: "5" - name: contentType value: "text/plain" - name: reconnectWaitInSeconds - value: 5 + value: "5" - name: externalSasl - value: false + value: "false" - name: caCert - value: null + value: "null" - name: clientCert - value: null + value: "null" - name: clientKey - value: null + value: "null" + - name: direction + value: "input, output" ``` {{% 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 | |--------------------|:--------:|------------|-----|---------| -| 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]"` | -| 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"` | -| 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` | -| 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"` | -| 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"` | -| 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..."` | -| 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..."` | +| `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]"` | +| `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"` | +| `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` | +| `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"` | +| `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"` | +| `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..."` | +| `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..."` | +| `direction` | N | Input/Output | The direction of the binding. | `"input"`, `"output"`, `"input, output"` | ## Binding support diff --git a/daprdocs/content/en/reference/components-reference/supported-bindings/redis.md b/daprdocs/content/en/reference/components-reference/supported-bindings/redis.md index 7d5fdc8ae..4b966a75e 100644 --- a/daprdocs/content/en/reference/components-reference/supported-bindings/redis.md +++ b/daprdocs/content/en/reference/components-reference/supported-bindings/redis.md @@ -22,11 +22,13 @@ spec: version: v1 metadata: - name: redisHost - value:
:6379 + value: "
:6379" - name: redisPassword - value: ************** + value: "**************" - name: enableTLS - value: + value: "" + - name: direction + value: "output" ``` {{% 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 | |--------------------|:--------:|------------|-----|---------| -| redisHost | Y | Output | The Redis host address | `"localhost:6379"` | -| 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"` | -| 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"` -| 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"` -| 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"` -| 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"` -| 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"` -| 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"` -| 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"` -| 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"` -| 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"` -| 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"` - +| `redisHost` | Y | Output | The Redis host address | `"localhost:6379"` | +| `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"` | +| `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"` +| `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"` +| `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"` +| `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"` +| `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"` +| `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"` +| `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"` +| `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"` +| `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"` +| `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 diff --git a/daprdocs/content/en/reference/components-reference/supported-bindings/rethinkdb.md b/daprdocs/content/en/reference/components-reference/supported-bindings/rethinkdb.md index dab919794..e159a7bb7 100644 --- a/daprdocs/content/en/reference/components-reference/supported-bindings/rethinkdb.md +++ b/daprdocs/content/en/reference/components-reference/supported-bindings/rethinkdb.md @@ -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. - ```yaml apiVersion: dapr.io/v1alpha1 kind: Component @@ -26,17 +25,20 @@ spec: version: v1 metadata: - name: address - value: # Required, e.g. 127.0.0.1:28015 or rethinkdb.default.svc.cluster.local:28015). + value: "" # Required, e.g. 127.0.0.1:28015 or rethinkdb.default.svc.cluster.local:28015). - name: database - value: # Required, e.g. dapr (alpha-numerics only) + value: "" # Required, e.g. dapr (alpha-numerics only) + - name: direction + value: "" ``` ## Spec metadata fields | Field | Required | Binding support | Details | Example | |--------------------|:--------:|------------|-----|---------| -| 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"` | +| `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"` | +| `direction` | N | Input | Direction of the binding | `"input"` | ## Binding support diff --git a/daprdocs/content/en/reference/components-reference/supported-bindings/s3.md b/daprdocs/content/en/reference/components-reference/supported-bindings/s3.md index 4d50e3447..1c01459c3 100644 --- a/daprdocs/content/en/reference/components-reference/supported-bindings/s3.md +++ b/daprdocs/content/en/reference/components-reference/supported-bindings/s3.md @@ -23,27 +23,29 @@ spec: version: v1 metadata: - name: bucket - value: mybucket + value: "mybucket" - name: region - value: us-west-2 + value: "us-west-2" - name: endpoint - value: s3.us-west-2.amazonaws.com + value: "s3.us-west-2.amazonaws.com" - name: accessKey - value: ***************** + value: "*****************" - name: secretKey - value: ***************** + value: "*****************" - name: sessionToken - value: mysession + value: "mysession" - name: decodeBase64 - value: + value: "" - name: encodeBase64 - value: + value: "" - name: forcePathStyle - value: + value: "" - name: disableSSL - value: + value: "" - name: insecureSSL - value: + value: "" + - name: direction + value: "output" ``` {{% 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 | |--------------------|:--------:|------------|-----|---------| -| bucket | Y | Output | The name of the S3 bucket to write to | `"bucket"` | -| region | Y | Output | The specific AWS region | `"us-east-1"` | -| 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"` | -| secretKey | Y | Output | The AWS Secret Access Key to access this resource | `"secretAccessKey"` | -| 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:////`. `false` is hosted-style format like `https://./`. 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` | -| 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` | +| `bucket` | Y | Output | The name of the S3 bucket to write to | `"bucket"` | +| `region` | Y | Output | The specific AWS region | `"us-east-1"` | +| `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"` | +| `secretKey` | Y | Output | The AWS Secret Access Key to access this resource | `"secretAccessKey"` | +| `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:////"`. `"false"` is hosted-style format like `"https://./"`. 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"` | +| `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"` | +| `direction` | N | Output | The direction of the binding | `"output"` | {{% 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. diff --git a/daprdocs/content/en/reference/components-reference/supported-bindings/sendgrid.md b/daprdocs/content/en/reference/components-reference/supported-bindings/sendgrid.md index 8a82f2f61..13577cf98 100644 --- a/daprdocs/content/en/reference/components-reference/supported-bindings/sendgrid.md +++ b/daprdocs/content/en/reference/components-reference/supported-bindings/sendgrid.md @@ -37,6 +37,8 @@ spec: value: "bob@dapr.io" # optional - name: apiKey value: "YOUR_API_KEY" # required, this is your SendGrid key + - name: direction + value: "output" ``` {{% 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 | |--------------------|:--------:|------------|-----|---------| -| 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"` | -| 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"` | -| 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"` | -| 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"` | - +| `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"` | +| `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"` | +| `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"` | +| `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"` | +| `direction` | N | Output | The direction of the binding | `"output"` | ## Binding support diff --git a/daprdocs/content/en/reference/components-reference/supported-bindings/servicebusqueues.md b/daprdocs/content/en/reference/components-reference/supported-bindings/servicebusqueues.md index 082b4403b..1f8ffe68b 100644 --- a/daprdocs/content/en/reference/components-reference/supported-bindings/servicebusqueues.md +++ b/daprdocs/content/en/reference/components-reference/supported-bindings/servicebusqueues.md @@ -25,37 +25,39 @@ spec: - name: connectionString # Required when not using Azure Authentication. value: "Endpoint=sb://{ServiceBusNamespace}.servicebus.windows.net/;SharedAccessKeyName={PolicyName};SharedAccessKey={Key};EntityPath={ServiceBus}" - name: queueName - value: queue1 + value: "queue1" # - name: timeoutInSec # Optional - # value: 60 + # value: "60" # - name: handlerTimeoutInSec # Optional - # value: 60 + # value: "60" # - name: disableEntityManagement # Optional # value: "false" # - name: maxDeliveryCount # Optional - # value: 3 + # value: "3" # - name: lockDurationInSec # Optional - # value: 60 + # value: "60" # - name: lockRenewalInSec # Optional - # value: 20 + # value: "20" # - name: maxActiveMessages # Optional - # value: 10000 + # value: "10000" # - name: maxConcurrentHandlers # Optional - # value: 10 + # value: "10" # - name: defaultMessageTimeToLiveInSec # Optional - # value: 10 + # value: "10" # - name: autoDeleteOnIdleInSec # Optional - # value: 3600 + # value: "3600" # - name: minConnectionRecoveryInSec # Optional - # value: 2 + # value: "2" # - name: maxConnectionRecoveryInSec # Optional - # value: 300 + # value: "300" # - name: maxRetriableErrorsPerSec # Optional - # value: 10 + # value: "10" # - name: publishMaxRetries # Optional - # value: 5 + # value: "5" # - name: publishInitialRetryIntervalInMs # Optional - # value: 500 + # value: "500" + # - name: direction + # value: "input, output" ``` {{% 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 >}}). @@ -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://************"` | | `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"` | | `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` -| `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` -| `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` -| `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` -| `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` | -| `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` -| `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` -| `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` -| `publishInitialRetryIntervalInMs` | N | Output | Time in milliseconds for the initial exponential backoff when Azure Service Bus throttle messages. Defaults: `500` | `500` +| `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"` +| `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"` +| `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"` +| `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"` +| `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"` | +| `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"` +| `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"` +| `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"` +| `direction` | N | Input/Output | The direction of the binding | `"input"`, `"output"`, `"input, output"` ### Azure Active Directory (AAD) authentication diff --git a/daprdocs/content/en/reference/components-reference/supported-bindings/ses.md b/daprdocs/content/en/reference/components-reference/supported-bindings/ses.md index 234511911..7f63892fb 100644 --- a/daprdocs/content/en/reference/components-reference/supported-bindings/ses.md +++ b/daprdocs/content/en/reference/components-reference/supported-bindings/ses.md @@ -40,6 +40,8 @@ spec: value: "bcc@example.com" - name: subject value: "subject" + - name: direction + value: "output" ``` {{% 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 | |--------------------|:--------:|------------|-----|---------| -| region | N | Output | The specific AWS region | `"eu-west-1"` | -| 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"` | -| 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"` | -| 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"` | -| 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"` | +| `region` | N | Output | The specific AWS region | `"eu-west-1"` | +| `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"` | +| `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"` | +| `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"` | +| `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"` | +| `direction` | N | Output | The direction of the binding | `"output"` | {{% 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. diff --git a/daprdocs/content/en/reference/components-reference/supported-bindings/signalr.md b/daprdocs/content/en/reference/components-reference/supported-bindings/signalr.md index b40dcffd7..2da23916d 100644 --- a/daprdocs/content/en/reference/components-reference/supported-bindings/signalr.md +++ b/daprdocs/content/en/reference/components-reference/supported-bindings/signalr.md @@ -22,9 +22,11 @@ spec: version: v1 metadata: - name: connectionString - value: Endpoint=https://.service.signalr.net;AccessKey=;Version=1.0; + value: "Endpoint=https://.service.signalr.net;AccessKey=;Version=1.0;" - name: hub # Optional - value: + value: "" + - name: direction + value: "" ``` {{% 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://.service.signalr.net;AccessKey=;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"` | -| `endpoint` | N | Output | Endpoint of Azure SignalR; required if not included in the `connectionString` or if using Azure AD | `https://.service.signalr.net` -| `accessKey` | N | Output | Access key | `your-access-key` +| `endpoint` | N | Output | Endpoint of Azure SignalR; required if not included in the `connectionString` or if using Azure AD | `"https://.service.signalr.net"` +| `accessKey` | N | Output | Access key | `"your-access-key"` +| `direction` | N | Output | The direction of the binding | `"output"` ### Azure Active Directory (AzureĀ AD) authentication diff --git a/daprdocs/content/en/reference/components-reference/supported-bindings/smtp.md b/daprdocs/content/en/reference/components-reference/supported-bindings/smtp.md index c277dec0a..67af19ba4 100644 --- a/daprdocs/content/en/reference/components-reference/supported-bindings/smtp.md +++ b/daprdocs/content/en/reference/components-reference/supported-bindings/smtp.md @@ -43,6 +43,8 @@ spec: value: "subject" - name: priority value: "[value 1-5]" + - name: direction + value: "output" ``` {{% 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 | |--------------------|:--------:|------------|-----|---------| -| host | Y | Output | The host where your SMTP server runs | `"smtphost"` | -| port | Y | Output | The port your SMTP server listens on | `"9999"` | -| user | Y | Output | The user to authenticate against the SMTP server | `"user"` | -| 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"` | -| 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"` | -| 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"` | -| 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"` | +| `host` | Y | Output | The host where your SMTP server runs | `"smtphost"` | +| `port` | Y | Output | The port your SMTP server listens on | `"9999"` | +| `user` | Y | Output | The user to authenticate against the SMTP server | `"user"` | +| `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"` | +| `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"` | +| `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"` | +| `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"` | +| `direction` | N | Output | The direction of the binding | `"output"` | ## Binding support diff --git a/daprdocs/content/en/reference/components-reference/supported-bindings/sns.md b/daprdocs/content/en/reference/components-reference/supported-bindings/sns.md index 6728fc9ee..dd6d704fb 100644 --- a/daprdocs/content/en/reference/components-reference/supported-bindings/sns.md +++ b/daprdocs/content/en/reference/components-reference/supported-bindings/sns.md @@ -23,16 +23,17 @@ spec: version: v1 metadata: - name: topicArn - value: mytopic + value: "mytopic" - name: region - value: us-west-2 + value: "us-west-2" - name: accessKey - value: ***************** + value: "*****************" - name: secretKey - value: ***************** + value: "*****************" - name: sessionToken - value: ***************** - + value: "*****************" + - name: direction + value: "output" ``` {{% 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 | |--------------------|:--------:|------------|-----|---------| -| topicArn | Y | Output | The SNS topic name | `"arn:::topicarn"` | -| region | Y | Output | The specific AWS region | `"us-east-1"` | -| 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"` | -| sessionToken | N | Output | The AWS session token to use | `"sessionToken"` | +| `topicArn` | Y | Output | The SNS topic name | `"arn:::topicarn"` | +| `region` | Y | Output | The specific AWS region | `"us-east-1"` | +| `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"` | +| `sessionToken` | N | Output | The AWS session token to use | `"sessionToken"` | +| `direction` | N | Output | The direction of the binding | `"output"` | {{% 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. diff --git a/daprdocs/content/en/reference/components-reference/supported-bindings/sqs.md b/daprdocs/content/en/reference/components-reference/supported-bindings/sqs.md index aeef412d7..35e671063 100644 --- a/daprdocs/content/en/reference/components-reference/supported-bindings/sqs.md +++ b/daprdocs/content/en/reference/components-reference/supported-bindings/sqs.md @@ -23,16 +23,17 @@ spec: version: v1 metadata: - name: queueName - value: items + value: "items" - name: region - value: us-west-2 + value: "us-west-2" - name: accessKey - value: ***************** + value: "*****************" - name: secretKey - value: ***************** + value: "*****************" - name: sessionToken - value: ***************** - + value: "*****************" + - name: direction + value: "input, output" ``` {{% 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 | |--------------------|:--------:|------------|-----|---------| -| queueName | Y | Input/Output | The SQS queue name | `"myqueue"` | -| region | Y | Input/Output | The specific AWS region | `"us-east-1"` | -| 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"` | -| sessionToken | N | Input/Output | The AWS session token to use | `"sessionToken"` | +| `queueName` | Y | Input/Output | The SQS queue name | `"myqueue"` | +| `region` | Y | Input/Output | The specific AWS region | `"us-east-1"` | +| `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"` | +| `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" %}} 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. diff --git a/daprdocs/content/en/reference/components-reference/supported-bindings/storagequeues.md b/daprdocs/content/en/reference/components-reference/supported-bindings/storagequeues.md index 41fe68c04..e29e29932 100644 --- a/daprdocs/content/en/reference/components-reference/supported-bindings/storagequeues.md +++ b/daprdocs/content/en/reference/components-reference/supported-bindings/storagequeues.md @@ -39,6 +39,8 @@ spec: # value: "http://127.0.0.1:10001" # - name: visibilityTimeout # value: "30s" +# - name: direction +# value: "input, output" ``` {{% 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` | | `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"` | -| `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 diff --git a/daprdocs/content/en/reference/components-reference/supported-bindings/twilio.md b/daprdocs/content/en/reference/components-reference/supported-bindings/twilio.md index 1a6917d48..de30015c9 100644 --- a/daprdocs/content/en/reference/components-reference/supported-bindings/twilio.md +++ b/daprdocs/content/en/reference/components-reference/supported-bindings/twilio.md @@ -23,13 +23,15 @@ spec: version: v1 metadata: - name: toNumber # required. - value: 111-111-1111 + value: "111-111-1111" - name: fromNumber # required. - value: 222-222-2222 + value: "222-222-2222" - name: accountSid # required. - value: ***************** + value: "*****************" - name: authToken # required. - value: ***************** + value: "*****************" + - name: direction + value: "output" ``` {{% 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 >}}). @@ -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 | |--------------------|:--------:|------------|-----|---------| -| toNumber | Y | Output | The target number to send the sms to | `"111-111-1111"` | -| fromNumber | Y | Output | The sender phone number | `"122-222-2222"` | -| accountSid | Y | Output | The Twilio account SID | `"account sid"` | -| authToken | Y | Output | The Twilio auth token | `"auth token"` | +| `toNumber` | Y | Output | The target number to send the sms to | `"111-111-1111"` | +| `fromNumber` | Y | Output | The sender phone number | `"222-222-2222"` | +| `accountSid` | Y | Output | The Twilio account SID | `"account sid"` | +| `authToken` | Y | Output | The Twilio auth token | `"auth token"` | +| `direction` | N | Output | The direction of the binding | `"output"` | ## Binding support diff --git a/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md b/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md index 0ca9a69d4..5ace28352 100644 --- a/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md +++ b/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md @@ -58,14 +58,16 @@ spec: metadata: - name: url value: "file://uppercase.wasm" + - name: direction + value: "output" ``` ## Spec metadata fields | Field | Details | Required | Example | |-------|----------------------------------------------------------------|----------|----------------| -| url | The URL of the resource including the Wasm binary to instantiate. The supported schemes include `file://`. The path of a `file://` URL is relative to the Dapr process unless it begins with `/`. | true | `file://hello.wasm` | - +| `url` | The URL of the resource including the Wasm binary to instantiate. The supported schemes include `file://`. The path of a `file://` URL is relative to the Dapr process unless it begins with `/`. | true | `"file://hello.wasm"` | +| `direction` | The direction of the binding | false | `"output"` | ## Binding support diff --git a/daprdocs/content/en/reference/components-reference/supported-bindings/zeebe-command.md b/daprdocs/content/en/reference/components-reference/supported-bindings/zeebe-command.md index b2edbb167..4db068401 100644 --- a/daprdocs/content/en/reference/components-reference/supported-bindings/zeebe-command.md +++ b/daprdocs/content/en/reference/components-reference/supported-bindings/zeebe-command.md @@ -21,23 +21,26 @@ spec: version: v1 metadata: - name: gatewayAddr - value: : + value: ":" - name: gatewayKeepAlive - value: 45s + value: "45s" - name: usePlainTextConnection - value: true + value: "true" - name: caCertificatePath - value: /path/to/ca-cert + value: "/path/to/ca-cert" + - name: direction + value: "output" ``` ## Spec metadata fields | Field | Required | Binding support | Details | Example | |-------------------------|:--------:|------------|-----|---------| -| 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` | -| 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` | +| `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"` | +| `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"` | +| `direction` | N | Output | The direction of the binding | `"output"` | ## Binding support diff --git a/daprdocs/content/en/reference/components-reference/supported-bindings/zeebe-jobworker.md b/daprdocs/content/en/reference/components-reference/supported-bindings/zeebe-jobworker.md index 63717ca7b..a4c20cff9 100644 --- a/daprdocs/content/en/reference/components-reference/supported-bindings/zeebe-jobworker.md +++ b/daprdocs/content/en/reference/components-reference/supported-bindings/zeebe-jobworker.md @@ -21,53 +21,56 @@ spec: version: v1 metadata: - name: gatewayAddr - value: : + value: ":" - name: gatewayKeepAlive - value: 45s + value: "45s" - name: usePlainTextConnection - value: true + value: "true" - name: caCertificatePath - value: /path/to/ca-cert + value: "/path/to/ca-cert" - name: workerName - value: products-worker + value: "products-worker" - name: workerTimeout - value: 5m + value: "5m" - name: requestTimeout - value: 15s + value: "15s" - name: jobType - value: fetch-products + value: "fetch-products" - name: maxJobsActive - value: 32 + value: "32" - name: concurrency - value: 4 + value: "4" - name: pollInterval - value: 100ms + value: "100ms" - name: pollThreshold - value: 0.3 + value: "0.3" - name: fetchVariables - value: productId, productName, productKey + value: "productId, productName, productKey" - name: autocomplete - value: true + value: "true" + - name: direction + value: "input" ``` ## Spec metadata fields | Field | Required | Binding support | Details | Example | |-------------------------|:--------:|------------|-----|---------| -| 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` | -| 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` | -| 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` | -| 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. ``) | `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` | -| 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` | -| 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` | -| 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` | +| `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"` | +| `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"` | +| `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"` | +| `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. ``) | `"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"` | +| `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"` | +| `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"` | +| `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 diff --git a/daprdocs/data/components/bindings/generic.yaml b/daprdocs/data/components/bindings/generic.yaml index 35ec6d437..4f63295bd 100644 --- a/daprdocs/data/components/bindings/generic.yaml +++ b/daprdocs/data/components/bindings/generic.yaml @@ -14,6 +14,14 @@ features: input: true output: false +- component: commercetools GraphQL + link: commercetools + state: Alpha + version: v1 + since: "1.8" + features: + input: false + output: true - component: GraphQL link: graghql state: Alpha @@ -22,6 +30,14 @@ features: input: false output: true +- component: Huawei OBS + link: huawei-obs + state: Alpha + version: v1 + since: "1.8" + features: + input: false + output: true - component: InfluxDB link: influxdb state: Beta @@ -38,6 +54,14 @@ features: input: true output: true +- component: Kitex + link: kitex + state: Alpha + version: v1 + since: "1.11" + features: + input: false + output: true - component: Kubernetes Events link: kubernetes-binding state: Alpha @@ -102,6 +126,14 @@ features: input: false output: true +- component: RethinkDB + link: rethinkdb + state: Beta + version: v1 + since: "1.9" + features: + input: true + output: false - component: SMTP link: smtp state: Alpha From 16beee2a3302b4adc3076defb6cd84076b164aea Mon Sep 17 00:00:00 2001 From: Hannah Hunter Date: Mon, 31 Jul 2023 17:21:40 -0400 Subject: [PATCH 25/27] mark review Signed-off-by: Hannah Hunter --- .../building-blocks/bindings/bindings-overview.md | 4 ++-- .../building-blocks/bindings/howto-bindings.md | 4 ++-- .../building-blocks/bindings/howto-triggers.md | 4 ++-- daprdocs/content/en/reference/api/bindings_api.md | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/daprdocs/content/en/developing-applications/building-blocks/bindings/bindings-overview.md b/daprdocs/content/en/developing-applications/building-blocks/bindings/bindings-overview.md index c8d795ff6..1b691732e 100644 --- a/daprdocs/content/en/developing-applications/building-blocks/bindings/bindings-overview.md +++ b/daprdocs/content/en/developing-applications/building-blocks/bindings/bindings-overview.md @@ -59,14 +59,14 @@ Read the [Use output bindings to interface with external resources guide]({{< re ## Binding directions (optional) -You can provide information via the `direction` metadata field to indicate the direction supported by the binding component. With one of the following metadata values, the Dapr sidecar avoids the `"wait for the app to become ready"` state: +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" %}} -All bindings should include the `direction` property. +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" >}}) diff --git a/daprdocs/content/en/developing-applications/building-blocks/bindings/howto-bindings.md b/daprdocs/content/en/developing-applications/building-blocks/bindings/howto-bindings.md index 9d98c0fae..1822f543a 100644 --- a/daprdocs/content/en/developing-applications/building-blocks/bindings/howto-bindings.md +++ b/daprdocs/content/en/developing-applications/building-blocks/bindings/howto-bindings.md @@ -61,7 +61,7 @@ spec: - name: publishTopic value: sample - name: authRequired - value: "false" + value: false - name: direction value: output ``` @@ -93,7 +93,7 @@ spec: - name: publishTopic value: sample - name: authRequired - value: "false" + value: false - name: direction value: output ``` diff --git a/daprdocs/content/en/developing-applications/building-blocks/bindings/howto-triggers.md b/daprdocs/content/en/developing-applications/building-blocks/bindings/howto-triggers.md index d92287854..56a24b0ae 100644 --- a/daprdocs/content/en/developing-applications/building-blocks/bindings/howto-triggers.md +++ b/daprdocs/content/en/developing-applications/building-blocks/bindings/howto-triggers.md @@ -66,7 +66,7 @@ spec: - name: publishTopic value: sample - name: authRequired - value: "false" + value: false - name: direction value: input ``` @@ -98,7 +98,7 @@ spec: - name: publishTopic value: sample - name: authRequired - value: "false" + value: false - name: direction value: input ``` diff --git a/daprdocs/content/en/reference/api/bindings_api.md b/daprdocs/content/en/reference/api/bindings_api.md index 660798f00..1dbe37b7e 100644 --- a/daprdocs/content/en/reference/api/bindings_api.md +++ b/daprdocs/content/en/reference/api/bindings_api.md @@ -41,7 +41,7 @@ If running on kubernetes apply the component to your cluster. 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: - `"input"` @@ -49,7 +49,7 @@ You can specify the `direction` field as part of the component's metadata. The v - `"input, output"` {{% alert title="Note" color="primary" %}} -All bindings should include the `direction` property. +It is highly recommended that all bindings should include the `direction` property. {{% /alert %}} Here a few scenarios when the `"direction"` metadata field could help: From 0f9ad1fc129e9467a37487ceaafcad161b1e69f9 Mon Sep 17 00:00:00 2001 From: Hannah Hunter Date: Wed, 2 Aug 2023 10:16:18 -0400 Subject: [PATCH 26/27] go sdk Signed-off-by: Hannah Hunter --- sdkdocs/go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdkdocs/go b/sdkdocs/go index effc2f0d3..ad25580bc 160000 --- a/sdkdocs/go +++ b/sdkdocs/go @@ -1 +1 @@ -Subproject commit effc2f0d3c92ad76e11958e427c8d3b0900e1932 +Subproject commit ad25580bcfb638d56237faec0543565b4d0e134f From 4a47ad365ab5ed78008fe962e2f37ebfa0e71421 Mon Sep 17 00:00:00 2001 From: Hannah Hunter Date: Wed, 2 Aug 2023 10:17:57 -0400 Subject: [PATCH 27/27] java docs Signed-off-by: Hannah Hunter --- sdkdocs/java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdkdocs/java b/sdkdocs/java index d1c61cae4..9dc842fab 160000 --- a/sdkdocs/java +++ b/sdkdocs/java @@ -1 +1 @@ -Subproject commit d1c61cae40e7c5d933d92705198506d947960aaa +Subproject commit 9dc842faba3486e518babc29f7fbbca79248bfab