From b1907768fd8c06da7bd02a13ec0d033b6856cf28 Mon Sep 17 00:00:00 2001 From: Tyler Siron Date: Sun, 2 Jul 2023 19:01:17 -0400 Subject: [PATCH 01/11] 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/11] 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/11] 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 6682b0bdc3db8bf6fe98d56816dd3529c2801f26 Mon Sep 17 00:00:00 2001 From: Hannah Hunter Date: Mon, 24 Jul 2023 15:36:17 -0400 Subject: [PATCH 04/11] 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 94a0081853396c31740d8eb5ca9cff023d23a91c Mon Sep 17 00:00:00 2001 From: Guillaume Caya-Letourneau Date: Wed, 26 Jul 2023 09:15:04 -0400 Subject: [PATCH 05/11] 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 a6db47bdc2cf8762f70fa95c67cc9204b65f8677 Mon Sep 17 00:00:00 2001 From: Hannah Hunter Date: Wed, 26 Jul 2023 17:00:59 -0400 Subject: [PATCH 06/11] 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 07/11] 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 08/11] 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 09/11] 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 10/11] 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 11/11] 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