diff --git a/best-practices/troubleshooting/README.md b/best-practices/troubleshooting/README.md index f38082d5c..c7edbe5ba 100644 --- a/best-practices/troubleshooting/README.md +++ b/best-practices/troubleshooting/README.md @@ -8,4 +8,4 @@ This section describes different tools, techniques and common problems to help u 4. [Common issues](common_issues.md) Please open a new Bug or Feature Request item on our [issues section](https://github.com/dapr/dapr/issues) if you've encountered a problem running Dapr. -If a security vulnerability has been found, contact the [Dapr team](daprct@microsoft.com). +If a security vulnerability has been found, contact the [Dapr team](mailto:daprct@microsoft.com). diff --git a/concepts/README.md b/concepts/README.md index 395b6c73a..bf657cce0 100644 --- a/concepts/README.md +++ b/concepts/README.md @@ -60,7 +60,7 @@ In Dapr, a [**secret**](./secrets/README.md) is any piece of private information ## Configuration -Dapr [Configuration](./configuration/README.md) defines a policy that affects how any Dapr sidecar instance behaves, such as using [distributed tracing](./observability/traces.md) or a [custom pipeline](./middleware). Configuration can be applied to Dapr sidecar instances dynamically. +Dapr [Configuration](./configuration/README.md) defines a policy that affects how any Dapr sidecar instance behaves, such as using [distributed tracing](./observability/traces.md) or a [custom pipeline](./middleware/README.md). Configuration can be applied to Dapr sidecar instances dynamically. You can get a list of current configurations available in the current the hosting environment using the `dapr configuration` CLI command. diff --git a/concepts/actors/actors_features.md b/concepts/actors/actors_features.md index e2a0a2858..5b24fe2c3 100644 --- a/concepts/actors/actors_features.md +++ b/concepts/actors/actors_features.md @@ -16,7 +16,7 @@ POST/GET/PUT/DELETE http://localhost:3500/v1.0/actors///meth You can provide any data for the actor method in the request body and the response for the request is in response body which is data from actor method call. -Refer [api spec](./actors_api.md#invoke-actor-method) for more details. +Refer [api spec](../../reference/api/actors_api.md#invoke-actor-method) for more details. ## Actor state management @@ -76,7 +76,7 @@ You can remove the actor timer by calling DELETE http://localhost:3500/v1.0/actors///timers/ ``` -Refer [api spec](./actors_api.md#invoke-timer) for more details. +Refer [api spec](../../reference/api/actors_api.md#invoke-timer) for more details. ### Actor reminders @@ -130,4 +130,4 @@ You can remove the actor reminder by calling DELETE http://localhost:3500/v1.0/actors///reminders/ ``` -Refer [api spec](./actors_api.md#invoke-reminder) for more details. +Refer [api spec](../../reference/api/actors_api.md#invoke-reminder) for more details. diff --git a/concepts/architecture/building_blocks.md b/concepts/architecture/building_blocks.md index ad9dbccae..f163bb18c 100644 --- a/concepts/architecture/building_blocks.md +++ b/concepts/architecture/building_blocks.md @@ -10,6 +10,6 @@ Both Dapr spec and Dapr runtime are designed to be extensible to include new building blocks. A building block is comprised of the following artifacts: * Dapr spec API definition. A newly proposed building block shall have its API design incorporated into the Dapr spec. -* Components. A building block may reuse existing [Dapr components](../components), or introduce new components. +* Components. A building block may reuse existing [Dapr components](../README.md#components), or introduce new components. * Test suites. A new building block implementation should come with associated unit tests and end-to-end scenario tests. * Documents and samples. diff --git a/concepts/bindings/README.md b/concepts/bindings/README.md index b04e8d49f..10ad302aa 100644 --- a/concepts/bindings/README.md +++ b/concepts/bindings/README.md @@ -22,7 +22,7 @@ Every binding has its own unique set of properties. Click the name link to see t |------|:----------------:|:-----------------:|--------| | [HTTP](../../reference/specs/bindings/http.md) | | ✅ | Experimental | | [Kafka](../../reference/specs/bindings/kafka.md) | ✅ | ✅ | Experimental | -| [Kubernetes Events](../../reference/specs/bindings/kubernetes) | ✅ | | Experimental | +| [Kubernetes Events](../../reference/specs/bindings/kubernetes.md) | ✅ | | Experimental | | [MQTT](../../reference/specs/bindings/mqtt.md) | ✅ | ✅ | Experimental | | [RabbitMQ](../../reference/specs/bindings/rabbitmq.md) | ✅ | ✅ | Experimental | | [Redis](../../reference/specs/bindings/redis.md) | | ✅ | Experimental | diff --git a/concepts/middleware/README.md b/concepts/middleware/README.md index 2628f4ee8..fcf7c0c9d 100644 --- a/concepts/middleware/README.md +++ b/concepts/middleware/README.md @@ -6,7 +6,7 @@ Dapr allows custom processing pipelines to be defined by chaining a series of cu ## Customize processing pipeline -When launched, a Dapr sidecar constructs a processing pipeline. The pipeline consists of a [tracing middleware](../distributed-tracing/README.md) (when tracing is enabled) and a CORS middleware by default. Additional middleware, configured by a Dapr [configuration](../configuration/README.md), are added to the pipeline in the order as they are defined. The pipeline applies to all Dapr API endpoints, including state, pub/sub, direct messaging, bindings and others. +When launched, a Dapr sidecar constructs a processing pipeline. The pipeline consists of a [tracing middleware](../observabilty/traces.md) (when tracing is enabled) and a CORS middleware by default. Additional middleware, configured by a Dapr [configuration](../configuration/README.md), are added to the pipeline in the order as they are defined. The pipeline applies to all Dapr API endpoints, including state, pub/sub, direct messaging, bindings and others. > **NOTE:** Dapr provides a **middleware.http.uppercase** middleware that doesn't need any configurations. The middleware changes all texts in a request body to uppercase. You can use it to test/verify if your custom pipeline is in place. diff --git a/concepts/security/README.md b/concepts/security/README.md index 6b7298bf0..f865abb7c 100644 --- a/concepts/security/README.md +++ b/concepts/security/README.md @@ -67,4 +67,4 @@ When deploying on Azure Kubernetes Service (AKS), you can use [Azure Active Dire ## Component secrets -Dapr components uses Dapr's built-in secret management capability to manage secrets. Please see the [secret topic](../components/secrets.md) for more details. +Dapr components uses Dapr's built-in secret management capability to manage secrets. Please see the [secret topic](../secrets/README.md) for more details. diff --git a/concepts/service-invocation/README.md b/concepts/service-invocation/README.md index c5eda9961..2a98409fe 100644 --- a/concepts/service-invocation/README.md +++ b/concepts/service-invocation/README.md @@ -25,5 +25,5 @@ Steps 4-5 are the same as the list above. For more information, see: -- The [Service Invocation API Spec](.service_invocation_api.md) +- The [Service Invocation API Spec](../../reference/api/service_invocation_api.md) - A [HowTo](../../howto/invoke-and-discover-services/README.md) on Service Invocation diff --git a/concepts/state-management/README.md b/concepts/state-management/README.md index f9dbdd7e6..d7d20fc63 100644 --- a/concepts/state-management/README.md +++ b/concepts/state-management/README.md @@ -24,7 +24,7 @@ Dapr data stores are components. Dapr ships with [Redis](https://redis.io ), [GCP Cloud Spanner](https://cloud.google.com/spanner ) and [Cassandra](http://cassandra.apache.org/). -Visit [State API](./state_api.md) for more information. +Visit [State API](../../reference/api/state_api.md) for more information. > **NOTE:** Dapr prefixes state keys with the ID of the current Dapr instance. This allows multiple Dapr instances to share the same state store. @@ -98,8 +98,8 @@ SELECT AVG(value) FROM StateTable WHERE Id LIKE '||||*||tem ## References -* [Spec: Dapr state management specification](../../reference/api/state.md) -* [Spec: Dapr actors specification](../../reference/api/actors.md) +* [Spec: Dapr state management specification](../../reference/api/state_api.md) +* [Spec: Dapr actors specification](../../reference/api/actors_api.md) * [How-to: Set up Azure Cosmos DB store](../../howto/setup-state-store/setup-azure-cosmosdb.md) * [How-to: Query Azure Cosmos DB store](../../howto/query-state-store/query-cosmosdb-store.md) * [How-to: Set up Redis store](../../howto/setup-state-store/setup-redis.md) diff --git a/howto/authorization-with-oauth/README.md b/howto/authorization-with-oauth/README.md index cf33c5046..8626559f9 100644 --- a/howto/authorization-with-oauth/README.md +++ b/howto/authorization-with-oauth/README.md @@ -1,6 +1,6 @@ # Authorization with oAuth -Dapr OAuth 2.0 [middleware](../../concepts/middleware/middleware.md) allows you to enable [OAuth](https://oauth.net/2/) authorization on Dapr endpoints for your web APIs, using the [Authorization Code Grant flow](https://tools.ietf.org/html/rfc6749#section-4.1). When the middleware is enabled, any method invocation through Dapr needs to be authorized before getting passed to the user code. +Dapr OAuth 2.0 [middleware](../../concepts/middleware/README.md) allows you to enable [OAuth](https://oauth.net/2/) authorization on Dapr endpoints for your web APIs, using the [Authorization Code Grant flow](https://tools.ietf.org/html/rfc6749#section-4.1). When the middleware is enabled, any method invocation through Dapr needs to be authorized before getting passed to the user code. ## Register your application with a authorization server @@ -61,7 +61,7 @@ spec: ## Define a custom pipeline -To use the OAuth middleware, you should create a [custom pipeline](../../concepts/middleware/middleware.md) using [Dapr configuration](../../concets/../concepts/configuration/README.md), as shown in the following sample: +To use the OAuth middleware, you should create a [custom pipeline](../../concepts/middleware/README.md) using [Dapr configuration](../../concepts/configuration/README.md), as shown in the following sample: ```yaml apiVersion: dapr.io/v1alpha1 diff --git a/howto/configure-mtls/README.md b/howto/configure-mtls/README.md index fc195c7dd..ab37f5687 100644 --- a/howto/configure-mtls/README.md +++ b/howto/configure-mtls/README.md @@ -4,9 +4,9 @@ Dapr supports in-transit encryption of communication between Dapr instances usin Dapr allows operators and developers to bring in their own certificates, or let Dapr automatically create and persist self signed root and issuer certificates. -For detailed information on mTLS, go to the concepts section [here](../../concepts/security/security.md). +For detailed information on mTLS, go to the concepts section [here](../../concepts/security/README.md). -If custom certificates have not been provided, Dapr will automaically create and persist self signed certs valid for one year. +If custom certificates have not been provided, Dapr will automatically create and persist self signed certs valid for one year. In Kubernetes, the certs are persisted to a secret that resides in the namespace of the Dapr system pods, accessible only to them. In Self Hosted mode, the certs are persisted to disk. More information on that is shown below. diff --git a/howto/configure-redis/README.md b/howto/configure-redis/README.md index 3f612e98b..ed27f9cfb 100644 --- a/howto/configure-redis/README.md +++ b/howto/configure-redis/README.md @@ -54,7 +54,7 @@ helm install redis stable/redis 3. Click "Create" to kickoff deployment of your Redis instance. 4. Once your instance is created, you'll need to grab your access key. Navigate to "Access Keys" under "Settings" and copy your key. 5. Run `kubectl get svc` and copy the cluster IP of your `redis-master`. -6. Finally, we need to add our key and our host to a `redis.yaml` file that Dapr can apply to our cluster. If you're running a sample, you'll add the host and key to the provided `redis.yaml`. If you're creating a project from the ground up, you'll create a `redis.yaml` file as specified in [Configuration](#configuration). Set the `redisHost` key to `[IP FROM PREVIOUS STEP]:6379` and the `redisPassword` key to the key you copied in step 4. **Note:** In a production-grade application, follow [secret management](https://github.com/dapr/docs/blob/master/concepts/components/secrets.md) instructions to securely manage your secrets. +6. Finally, we need to add our key and our host to a `redis.yaml` file that Dapr can apply to our cluster. If you're running a sample, you'll add the host and key to the provided `redis.yaml`. If you're creating a project from the ground up, you'll create a `redis.yaml` file as specified in [Configuration](#configuration). Set the `redisHost` key to `[IP FROM PREVIOUS STEP]:6379` and the `redisPassword` key to the key you copied in step 4. **Note:** In a production-grade application, follow [secret management](../../concepts/secrets/README.md) instructions to securely manage your secrets. > **NOTE:** Dapr pub/sub uses [Redis Streams](https://redis.io/topics/streams-intro) that was introduced by Redis 5.0, which isn't currently available on Azure Managed Redis Cache. Consequently, you can use Azure Managed Redis Cache only for state persistence. @@ -65,7 +65,7 @@ helm install redis stable/redis ## Configuration -Dapr can use Redis as a `statestore` component (for state persistence and retrieval) or as a `messagebus` component (for pub/sub). The following yaml files demonstrates how to define each. **Note:** yaml files below illustrate secret management in plain text. In a production-grade application, follow [secret management](https://github.com/dapr/docs/blob/master/concepts/components/secrets.md) instructions to securely manage your secrets. +Dapr can use Redis as a `statestore` component (for state persistence and retrieval) or as a `messagebus` component (for pub/sub). The following yaml files demonstrates how to define each. **Note:** yaml files below illustrate secret management in plain text. In a production-grade application, follow [secret management](../../concepts/secrets/README.md) instructions to securely manage your secrets. ### Configuring Redis for State Persistence and Retrieval diff --git a/howto/invoke-and-discover-services/README.md b/howto/invoke-and-discover-services/README.md index 631e985ac..5064d8ad6 100644 --- a/howto/invoke-and-discover-services/README.md +++ b/howto/invoke-and-discover-services/README.md @@ -8,7 +8,7 @@ In many environments with multiple services that need to communicate with each o Dapr allows developers to overcome these challenges by providing an endpoint that acts as a combination of a reverse proxy with built-in service discovery, while leveraging built-in distributed tracing and error handling. -For more info on service invocation, read the [conceptional documentation](../../concepts/service-invocation/service-invocation.md). +For more info on service invocation, read the [conceptional documentation](../../concepts/service-invocation/README.md). ## 1. Choose an ID for your service diff --git a/howto/query-state-store/query-cosmosdb-store.md b/howto/query-state-store/query-cosmosdb-store.md index 3a704cf63..3e09bb85a 100644 --- a/howto/query-state-store/query-cosmosdb-store.md +++ b/howto/query-state-store/query-cosmosdb-store.md @@ -1,6 +1,6 @@ # Query Azure Cosmos DB state store -Dapr doesn't transform state values while saving and retrieving states. Dapr requires all state store implementations to abide by a certain key format scheme (see [Dapr state management spec](../../reference/api/state.md). You can directly interact with the underlying store to manipulate the state data, such querying states, creating aggregated views and making backups. +Dapr doesn't transform state values while saving and retrieving states. Dapr requires all state store implementations to abide by a certain key format scheme (see [Dapr state management spec](../../reference/api/state_api.md). You can directly interact with the underlying store to manipulate the state data, such querying states, creating aggregated views and making backups. > **NOTE:** Azure Cosmos DB is a multi-modal database that supports multiple APIs. The default Dapr Cosmos DB state store implementation uses the [Azure Cosmos DB SQL API](https://docs.microsoft.com/en-us/azure/cosmos-db/sql-query-getting-started). diff --git a/howto/query-state-store/query-redis-store.md b/howto/query-state-store/query-redis-store.md index f4c8eeac1..ae2d0c51b 100644 --- a/howto/query-state-store/query-redis-store.md +++ b/howto/query-state-store/query-redis-store.md @@ -1,6 +1,6 @@ # Query Redis state store -Dapr doesn't transform state values while saving and retrieving states. Dapr requires all state store implementations to abide by a certain key format scheme (see [Dapr state management spec](../../reference/api/state.md). You can directly interact with the underlying store to manipulate the state data, such querying states, creating aggregated views and making backups. +Dapr doesn't transform state values while saving and retrieving states. Dapr requires all state store implementations to abide by a certain key format scheme (see [Dapr state management spec](../../reference/api/state_api.md). You can directly interact with the underlying store to manipulate the state data, such querying states, creating aggregated views and making backups. >**NOTE:** The following examples uses Redis CLI against a Redis store using the default Dapr state store implementation. diff --git a/howto/query-state-store/query-sqlserver-store.md b/howto/query-state-store/query-sqlserver-store.md index f9ed7765f..2d206e47c 100644 --- a/howto/query-state-store/query-sqlserver-store.md +++ b/howto/query-state-store/query-sqlserver-store.md @@ -1,6 +1,6 @@ # Query SQL Server state store -Dapr doesn't transform state values while saving and retrieving states. Dapr requires all state store implementations to abide by a certain key format scheme (see [Dapr state management spec](../../reference/api/state.md). You can directly interact with the underlying store to manipulate the state data, such querying states, creating aggregated views and making backups. +Dapr doesn't transform state values while saving and retrieving states. Dapr requires all state store implementations to abide by a certain key format scheme (see [Dapr state management spec](../../reference/api/state_api.md). You can directly interact with the underlying store to manipulate the state data, such querying states, creating aggregated views and making backups. ## 1. Connect to SQL Server diff --git a/howto/setup-pub-sub-message-broker/README.md b/howto/setup-pub-sub-message-broker/README.md index 07986b241..c0ec72bf3 100644 --- a/howto/setup-pub-sub-message-broker/README.md +++ b/howto/setup-pub-sub-message-broker/README.md @@ -42,7 +42,7 @@ kubectl apply -f pubsub.yaml ## Reference -[Setup Redis Streams](./setup-redis.md) -[Setup NATS](./setup-nats.md) -[Setup Azure Service bus](./setup-azure-servicebus.md) -[Setup RabbitMQ](./setup-rabbitmq.md) +- [Setup Redis Streams](./setup-redis.md) +- [Setup NATS](./setup-nats.md) +- [Setup Azure Service bus](./setup-azure-servicebus.md) +- [Setup RabbitMQ](./setup-rabbitmq.md) diff --git a/howto/setup-pub-sub-message-broker/setup-azure-servicebus.md b/howto/setup-pub-sub-message-broker/setup-azure-servicebus.md index 973b568b8..ec51a8e5b 100644 --- a/howto/setup-pub-sub-message-broker/setup-azure-servicebus.md +++ b/howto/setup-pub-sub-message-broker/setup-azure-servicebus.md @@ -32,7 +32,7 @@ spec: value: # Optional. ``` -The above example uses secrets as plain strings. It is recommended to use a secret store for the secrets as described [here](../../concepts/components/secrets.md) +The above example uses secrets as plain strings. It is recommended to use a secret store for the secrets as described [here](../../concepts/secrets/README.md) ## Apply the configuration diff --git a/howto/setup-pub-sub-message-broker/setup-nats.md b/howto/setup-pub-sub-message-broker/setup-nats.md index 191814feb..312e38091 100644 --- a/howto/setup-pub-sub-message-broker/setup-nats.md +++ b/howto/setup-pub-sub-message-broker/setup-nats.md @@ -43,7 +43,7 @@ spec: value: # Required. Example: "nats-client.default.svc.cluster.local:4222" ``` -The above example uses secrets as plain strings. It is recommended to use a secret store for the secrets as described [here](../../concepts/components/secrets.md) +The above example uses secrets as plain strings. It is recommended to use a secret store for the secrets as described [here](../../concepts/secrets/README.md) ## Apply the configuration diff --git a/howto/setup-pub-sub-message-broker/setup-rabbitmq.md b/howto/setup-pub-sub-message-broker/setup-rabbitmq.md index 187cf7efd..b00cd6c1a 100644 --- a/howto/setup-pub-sub-message-broker/setup-rabbitmq.md +++ b/howto/setup-pub-sub-message-broker/setup-rabbitmq.md @@ -63,7 +63,7 @@ spec: value: # Optional. Default: "false". ``` -The above example uses secrets as plain strings. It is recommended to use a secret store for the secrets as described [here](../../concepts/components/secrets.md) +The above example uses secrets as plain strings. It is recommended to use a secret store for the secrets as described [here](../../concepts/secrets/README.md) ## Apply the configuration diff --git a/howto/setup-pub-sub-message-broker/setup-redis.md b/howto/setup-pub-sub-message-broker/setup-redis.md index 9b6b1c800..6ccc50f1f 100644 --- a/howto/setup-pub-sub-message-broker/setup-redis.md +++ b/howto/setup-pub-sub-message-broker/setup-redis.md @@ -44,7 +44,7 @@ We can use [Helm](https://helm.sh/) to quickly create a Redis instance in our Ku To setup Redis, you need to create a component for `pubsub.redis`. -The following yaml files demonstrates how to define each. **Note:** yaml files below illustrate secret management in plain text. In a production-grade application, follow [secret management](../../concepts/components/secrets.md) instructions to securely manage your secrets. +The following yaml files demonstrates how to define each. **Note:** yaml files below illustrate secret management in plain text. In a production-grade application, follow [secret management](../../concepts/secrets/README.md) instructions to securely manage your secrets. ### Configuring Redis Streams for Pub/Sub diff --git a/howto/setup-secret-store/aws-secret-manager.md b/howto/setup-secret-store/aws-secret-manager.md index 8d4030825..7c370b50e 100644 --- a/howto/setup-secret-store/aws-secret-manager.md +++ b/howto/setup-secret-store/aws-secret-manager.md @@ -1,6 +1,6 @@ # Secret store for AWS Secret Manager -This document shows how to enable AWS Secret Manager secret store using [Dapr Secrets Component](../../concepts/components/secrets.md) for self hosted and Kubernetes mode. +This document shows how to enable AWS Secret Manager secret store using [Dapr Secrets Component](../../concepts/secrets/README.md) for self hosted and Kubernetes mode. ## Create an AWS Secret Manager instance diff --git a/howto/setup-secret-store/azure-keyvault-managed-identity.md b/howto/setup-secret-store/azure-keyvault-managed-identity.md index 096df7340..91173227b 100644 --- a/howto/setup-secret-store/azure-keyvault-managed-identity.md +++ b/howto/setup-secret-store/azure-keyvault-managed-identity.md @@ -1,6 +1,6 @@ # Use Azure Key Vault secret store in Kubernetes mode using Managed Identities -This document shows how to enable Azure Key Vault secret store using [Dapr Secrets Component](../../concepts/components/secrets.md) for Kubernetes mode using Managed Identities to authenticate to a Key Vault. +This document shows how to enable Azure Key Vault secret store using [Dapr Secrets Component](../../concepts/secrets/README.md) for Kubernetes mode using Managed Identities to authenticate to a Key Vault. ## Contents @@ -237,4 +237,4 @@ In Kubernetes mode, you store the certificate for the service principal into the - [Azure CLI Keyvault CLI](https://docs.microsoft.com/en-us/cli/azure/keyvault?view=azure-cli-latest#az-keyvault-create) - [Create an Azure service principal with Azure CLI](https://docs.microsoft.com/en-us/cli/azure/-reate-an-azure-service-principal-azure-cli?view=azure-cli-latest) - [AAD Pod Identity](https://github.com/Azure/aad-pod-identity) -- [Secrets Component](../../concepts/components/secrets.md) +- [Secrets Component](../../concepts/secrets/README.md) diff --git a/howto/setup-secret-store/azure-keyvault.md b/howto/setup-secret-store/azure-keyvault.md index fb077376c..952474ed5 100644 --- a/howto/setup-secret-store/azure-keyvault.md +++ b/howto/setup-secret-store/azure-keyvault.md @@ -1,6 +1,6 @@ # Secret Store for Azure Key Vault -This document shows how to enable Azure Key Vault secret store using [Dapr Secrets Component](../../concepts/components/secrets.md) for Standalone and Kubernetes mode. The Dapr secret store component uses Service Principal using certificate authorization to authenticate Key Vault. +This document shows how to enable Azure Key Vault secret store using [Dapr Secrets Component](../../concepts/secrets/README.md) for Standalone and Kubernetes mode. The Dapr secret store component uses Service Principal using certificate authorization to authenticate Key Vault. > **Note:** Find the Managed Identity for Azure Key Vault instructions [here](azure-keyvault-managed-identity.md). @@ -292,4 +292,4 @@ time="2019-09-26T20:34:25Z" level=info msg="loaded component statestore (state.r - [Azure CLI Keyvault CLI](https://docs.microsoft.com/en-us/cli/azure/keyvault?view=azure-cli-latest#az-keyvault-create) - [Create an Azure service principal with Azure CLI](https://docs.microsoft.com/en-us/cli/azure/create-an-azure-service-principal-azure-cli?view=azure-cli-latest) -- [Secrets Component](../../concepts/components/secrets.md) +- [Secrets Component](../../concepts/secrets/README.md) diff --git a/howto/setup-secret-store/gcp-secret-manager.md b/howto/setup-secret-store/gcp-secret-manager.md index 7c19e7f42..a3ed24e94 100644 --- a/howto/setup-secret-store/gcp-secret-manager.md +++ b/howto/setup-secret-store/gcp-secret-manager.md @@ -1,6 +1,6 @@ # Secret Store for GCP Secret Manager -This document shows how to enable GCP Secret Manager secret store using [Dapr Secrets Component](../../concepts/components/secrets.md) for self hosted and Kubernetes mode. +This document shows how to enable GCP Secret Manager secret store using [Dapr Secrets Component](../../concepts/secrets/README.md) for self hosted and Kubernetes mode. ## Create an GCP Secret Manager instance diff --git a/howto/setup-secret-store/hashicorp-vault.md b/howto/setup-secret-store/hashicorp-vault.md index 714f217af..ee5289a83 100644 --- a/howto/setup-secret-store/hashicorp-vault.md +++ b/howto/setup-secret-store/hashicorp-vault.md @@ -1,6 +1,6 @@ # Secret Store for Hashicorp Vault -This document shows how to enable Hashicorp Vault secret store using [Dapr Secrets Component](../../concepts/components/secrets.md) for Standalone and Kubernetes mode. +This document shows how to enable Hashicorp Vault secret store using [Dapr Secrets Component](../../concepts/secrets/README.md) for Standalone and Kubernetes mode. ## Create a Hashicorp Vault instance diff --git a/howto/setup-secret-store/kubernetes.md b/howto/setup-secret-store/kubernetes.md index eb9bbdffe..671bfca0c 100644 --- a/howto/setup-secret-store/kubernetes.md +++ b/howto/setup-secret-store/kubernetes.md @@ -3,4 +3,4 @@ Kubernetes has a built-in state store which Dapr components can use to fetch secrets from. No special configuration is needed to setup the Kubernetes state store. -Please refer to [this](../../concepts/components/secrets.md) document for information and examples on how to fetch secrets from Kubernetes using Dapr. +Please refer to [this](../../concepts/secrets/README.md) document for information and examples on how to fetch secrets from Kubernetes using Dapr. diff --git a/howto/setup-state-store/README.md b/howto/setup-state-store/README.md index 6b0eda7e3..65641f684 100644 --- a/howto/setup-state-store/README.md +++ b/howto/setup-state-store/README.md @@ -23,7 +23,7 @@ spec: ``` The type of database is determined by the `type` field, and things like connection strings and other metadata are put in the `.metadata` section. -Even though you can put plain text secrets in there, it is recommended you use a [secret store](../../concepts/components/secrets.md). +Even though you can put plain text secrets in there, it is recommended you use a [secret store](../../concepts/secrets/README.md). ## Running locally diff --git a/howto/setup-state-store/setup-aerospike.md b/howto/setup-state-store/setup-aerospike.md index bdbe6a4a8..ad3380303 100644 --- a/howto/setup-state-store/setup-aerospike.md +++ b/howto/setup-state-store/setup-aerospike.md @@ -48,7 +48,7 @@ spec: value: # Optional. ``` -The above example uses secrets as plain strings. It is recommended to use a secret store for the secrets as described [here](../../concepts/components/secrets.md). +The above example uses secrets as plain strings. It is recommended to use a secret store for the secrets as described [here](../../concepts/secrets/README.md). ## Apply the configuration diff --git a/howto/setup-state-store/setup-azure-cosmosdb.md b/howto/setup-state-store/setup-azure-cosmosdb.md index 49e3acb3a..11ce26537 100644 --- a/howto/setup-state-store/setup-azure-cosmosdb.md +++ b/howto/setup-state-store/setup-azure-cosmosdb.md @@ -37,7 +37,7 @@ spec: value: ``` -The above example uses secrets as plain strings. It is recommended to use a secret store for the secrets as described [here](../../concepts/components/secrets.md) +The above example uses secrets as plain strings. It is recommended to use a secret store for the secrets as described [here](../../concepts/secrets/README.md) The following example uses the Kubernetes secret store to retrieve the secrets: diff --git a/howto/setup-state-store/setup-azure-tablestorage.md b/howto/setup-state-store/setup-azure-tablestorage.md index c526765c7..17027c0d7 100644 --- a/howto/setup-state-store/setup-azure-tablestorage.md +++ b/howto/setup-state-store/setup-azure-tablestorage.md @@ -34,7 +34,7 @@ spec: value: ``` -The above example uses secrets as plain strings. It is recommended to use a secret store for the secrets as described [here](../../concepts/components/secrets.md). +The above example uses secrets as plain strings. It is recommended to use a secret store for the secrets as described [here](../../concepts/secrets/README.md). The following example uses the Kubernetes secret store to retrieve the secrets: diff --git a/howto/setup-state-store/setup-cassandra.md b/howto/setup-state-store/setup-cassandra.md index 8b2cd1469..67726c979 100644 --- a/howto/setup-state-store/setup-cassandra.md +++ b/howto/setup-state-store/setup-cassandra.md @@ -58,7 +58,7 @@ spec: value: # Optional. default: "1" ``` -The above example uses secrets as plain strings. It is recommended to use a secret store for the secrets as described [here](../../concepts/components/secrets.md) +The above example uses secrets as plain strings. It is recommended to use a secret store for the secrets as described [here](../../concepts/secrets/README.md) The following example uses the Kubernetes secret store to retrieve the username and password: diff --git a/howto/setup-state-store/setup-consul.md b/howto/setup-state-store/setup-consul.md index d7574aadd..053a44d75 100644 --- a/howto/setup-state-store/setup-consul.md +++ b/howto/setup-state-store/setup-consul.md @@ -51,7 +51,7 @@ spec: value: # Optional. default: "" ``` -The above example uses secrets as plain strings. It is recommended to use a secret store for the secrets as described [here](../../concepts/components/secrets.md) +The above example uses secrets as plain strings. It is recommended to use a secret store for the secrets as described [here](../../concepts/secrets/README.md) The following example uses the Kubernetes secret store to retrieve the acl token: diff --git a/howto/setup-state-store/setup-couchbase.md b/howto/setup-state-store/setup-couchbase.md index 97b5b5cf7..f2815614f 100644 --- a/howto/setup-state-store/setup-couchbase.md +++ b/howto/setup-state-store/setup-couchbase.md @@ -44,7 +44,7 @@ spec: value: # Required. ``` -The above example uses secrets as plain strings. It is recommended to use a secret store for the secrets as described [here](../../concepts/components/secrets.md) +The above example uses secrets as plain strings. It is recommended to use a secret store for the secrets as described [here](../../concepts/secrets/README.md) ## Apply the configuration diff --git a/howto/setup-state-store/setup-etcd.md b/howto/setup-state-store/setup-etcd.md index 1c16df4a8..5acd9c0b7 100644 --- a/howto/setup-state-store/setup-etcd.md +++ b/howto/setup-state-store/setup-etcd.md @@ -48,7 +48,7 @@ spec: value: # Optional. default: "10S" ``` -The above example uses secrets as plain strings. It is recommended to use a secret store for the secrets as described [here](../../concepts/components/secrets.md) +The above example uses secrets as plain strings. It is recommended to use a secret store for the secrets as described [here](../../concepts/secrets/README.md) ## Apply the configuration diff --git a/howto/setup-state-store/setup-firestore.md b/howto/setup-state-store/setup-firestore.md index 466545884..db525f1e6 100644 --- a/howto/setup-state-store/setup-firestore.md +++ b/howto/setup-state-store/setup-firestore.md @@ -48,7 +48,7 @@ spec: value: # Optional. default: "DaprState" ``` -The above example uses secrets as plain strings. It is recommended to use a secret store for the secrets as described [here](../../concepts/components/secrets.md) +The above example uses secrets as plain strings. It is recommended to use a secret store for the secrets as described [here](../../concepts/secrets/README.md) ## Apply the configuration diff --git a/howto/setup-state-store/setup-hazelcast.md b/howto/setup-state-store/setup-hazelcast.md index 07c5fb228..aa58f25d5 100644 --- a/howto/setup-state-store/setup-hazelcast.md +++ b/howto/setup-state-store/setup-hazelcast.md @@ -34,7 +34,7 @@ spec: value: # Required. Hazelcast map configuration. ``` -The above example uses secrets as plain strings. It is recommended to use a secret store for the secrets as described [here](../../concepts/components/secrets.md). +The above example uses secrets as plain strings. It is recommended to use a secret store for the secrets as described [here](../../concepts/secrets/README.md). ## Apply the configuration diff --git a/howto/setup-state-store/setup-memcached.md b/howto/setup-state-store/setup-memcached.md index 9aec1d58c..e251c8b4e 100644 --- a/howto/setup-state-store/setup-memcached.md +++ b/howto/setup-state-store/setup-memcached.md @@ -47,7 +47,7 @@ spec: value: # Optional. default: "1000ms" ``` -The above example uses secrets as plain strings. It is recommended to use a secret store for the secrets as described [here](../../concepts/components/secrets.md) +The above example uses secrets as plain strings. It is recommended to use a secret store for the secrets as described [here](../../concepts/secrets/README.md) ## Apply the configuration diff --git a/howto/setup-state-store/setup-mongodb.md b/howto/setup-state-store/setup-mongodb.md index acd1b765f..d51ecb26f 100644 --- a/howto/setup-state-store/setup-mongodb.md +++ b/howto/setup-state-store/setup-mongodb.md @@ -61,7 +61,7 @@ spec: value: # Optional. default: "5s" ``` -The above example uses secrets as plain strings. It is recommended to use a secret store for the secrets as described [here](../../concepts/components/secrets.md). +The above example uses secrets as plain strings. It is recommended to use a secret store for the secrets as described [here](../../concepts/secrets/README.md). The following example uses the Kubernetes secret store to retrieve the username and password: diff --git a/howto/setup-state-store/setup-redis.md b/howto/setup-state-store/setup-redis.md index 946b6720d..96c8214cd 100644 --- a/howto/setup-state-store/setup-redis.md +++ b/howto/setup-state-store/setup-redis.md @@ -51,7 +51,7 @@ We can use [Helm](https://helm.sh/) to quickly create a Redis instance in our Ku To setup Redis, you need to create a component for `state.redis`.
-The following yaml files demonstrates how to define each. **Note:** yaml files below illustrate secret management in plain text. In a production-grade application, follow [secret management](../../concepts/components/secrets.md) instructions to securely manage your secrets. +The following yaml files demonstrates how to define each. **Note:** yaml files below illustrate secret management in plain text. In a production-grade application, follow [secret management](../../concepts/secrets/README.md) instructions to securely manage your secrets. ### Configuring Redis for State Persistence and Retrieval diff --git a/howto/setup-state-store/setup-sqlserver.md b/howto/setup-state-store/setup-sqlserver.md index 770a39b1c..15b726ed3 100644 --- a/howto/setup-state-store/setup-sqlserver.md +++ b/howto/setup-state-store/setup-sqlserver.md @@ -33,7 +33,7 @@ spec: value: ``` -The above example uses secrets as plain strings. It is recommended to use a secret store for the secrets as described [here](../../concepts/components/secrets.md) +The above example uses secrets as plain strings. It is recommended to use a secret store for the secrets as described [here](../../concepts/secrets/README.md) The following example uses the Kubernetes secret store to retrieve the secrets: diff --git a/howto/setup-state-store/setup-zookeeper.md b/howto/setup-state-store/setup-zookeeper.md index 96b170b51..0103177ed 100644 --- a/howto/setup-state-store/setup-zookeeper.md +++ b/howto/setup-state-store/setup-zookeeper.md @@ -52,7 +52,7 @@ spec: value: # Optional. ``` -The above example uses secrets as plain strings. It is recommended to use a secret store for the secrets as described [here](../../concepts/components/secrets.md) +The above example uses secrets as plain strings. It is recommended to use a secret store for the secrets as described [here](../../concepts/secrets/README.md) ## Apply the configuration diff --git a/howto/trigger-app-with-input-binding/README.md b/howto/trigger-app-with-input-binding/README.md index af534edf1..397f921ce 100644 --- a/howto/trigger-app-with-input-binding/README.md +++ b/howto/trigger-app-with-input-binding/README.md @@ -18,7 +18,7 @@ For a complete sample showing bindings, visit this [link](https://github.com/dap An input binding represents an event resource that Dapr uses to read events from and push to your application. -For the purpose of this HowTo, we'll use a Kafka binding. You can find a list of the different binding specs [here](../../concepts/bindings/specs). +For the purpose of this HowTo, we'll use a Kafka binding. You can find a list of the different binding specs [here](../../reference/specs/bindings/README.md). Create the following YAML file, named binding.yaml, and save this to the /components sub-folder in your application directory: diff --git a/overview/README.md b/overview/README.md index b1e285224..fee7f6c74 100644 --- a/overview/README.md +++ b/overview/README.md @@ -38,7 +38,7 @@ Each of these building blocks is independent, meaning that you can use one, some | **[State Management](../concepts/state)** | With state management for storing key/value pairs, long running, highly available, stateful services can be easily written alongside stateless services in your application. The state store is pluggable and can include Azure CosmosDB, AWS DynamoDB or Redis among others. | **[Publish and Subscribe Messaging](../concepts/publish-subscribe-messaging)** | Publishing events and subscribing to topics | tween services enables event-driven architectures to simplify horizontal scalability and make them | silient to failure. Dapr provides at least once message delivery guarantee. | **[Resource Bindings](../concepts/bindings)** | Resource bindings with triggers builds further on event-driven | chitectures for scale and resiliency by receiving and sending events to and from any external | source such as databases, queues, file systems, etc. -| **[Distributed Tracing](../concepts/distributed-tracing)** | Dapr supports distributed tracing to easily diagnose and | serve inter-service calls in production using the W3C Trace Context standard. +| **[Distributed Tracing](../concepts/observability/traces.md)** | Dapr supports distributed tracing to easily diagnose and | serve inter-service calls in production using the W3C Trace Context standard. | **[Actors](../concepts/actors)** | A pattern for stateful and stateless objects that make concurrency simple with method and state encapsulation. Dapr provides many capabilities in its actor runtime including concurrency, state, life-cycle management for actor activation/deactivation and timers and reminders to wake-up actors. ## Sidecar architecture @@ -70,7 +70,7 @@ To make using Dapr more natural for different languages, it also includes langua - **[Python SDK](https://github.com/dapr/python-sdk)** - **[.NET SDK](https://github.com/dapr/dotnet-sdk)** -> Note: Dapr is language agnostic and provides a [RESTful HTTP API](./reference/api/README.md) in addition to the protobuf clients. +> Note: Dapr is language agnostic and provides a [RESTful HTTP API](../reference/api/README.md) in addition to the protobuf clients. ### Developer frameworks @@ -92,7 +92,7 @@ You can use the [Dapr CLI](https://github.com/dapr/cli#launch-dapr-and-your-app) Dapr can be configured to run on any [Kubernetes cluster](https://github.com/dapr/samples/tree/master/2.hello-kubernetes). In Kubernetes the `dapr-sidecar-injector` and `dapr-operator` services provide first class integration to launch Dapr as a sidecar container in the same pod as the service container and provide notifications of Dapr component updates provisioned into the cluster. -The `dapr-sentry` service is a certificate authority that enables mutual TLS between Dapr sidecar instances for secure data encryption. For more information on the `Sentry` service read the [security overview](../concepts/security/readme.md#dapr-to-dapr-communication) +The `dapr-sentry` service is a certificate authority that enables mutual TLS between Dapr sidecar instances for secure data encryption. For more information on the `Sentry` service read the [security overview](../concepts/security/README.md#dapr-to-dapr-communication) diff --git a/reference/api/README.md b/reference/api/README.md new file mode 100644 index 000000000..b1e76fc67 --- /dev/null +++ b/reference/api/README.md @@ -0,0 +1,12 @@ +# Dapr API reference + +Dapr is language agnostic and provides a RESTful HTTP & gRPC API. + +The documents in this folder outline each api, the associated endpoints, and what capabilities are available. + +- [Actors](./actors_api.md) +- [Bindings](./bindings_api.md) +- [PubSub](./pubsub_api.md) +- [Secrets](./secrets_api.md) +- [Service Invocation](./service_invocation_api.md) +- [State](./state_api.md)