Fix 404 broken docs links (#424)

* First batch of fixes

* Updated brokn links

* Fixed actors reference

* Fixed middleware link

Co-authored-by: Yaron Schneider <yaronsc@microsoft.com>
This commit is contained in:
Aaron Crawfis 2020-03-10 23:32:02 -07:00 committed by GitHub
parent 17acc29c13
commit bced824777
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
45 changed files with 70 additions and 58 deletions

View File

@ -8,4 +8,4 @@ This section describes different tools, techniques and common problems to help u
4. [Common issues](common_issues.md) 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. 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).

View File

@ -60,7 +60,7 @@ In Dapr, a [**secret**](./secrets/README.md) is any piece of private information
## Configuration ## 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. You can get a list of current configurations available in the current the hosting environment using the `dapr configuration` CLI command.

View File

@ -16,7 +16,7 @@ POST/GET/PUT/DELETE http://localhost:3500/v1.0/actors/<actorType>/<actorId>/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. 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 ## Actor state management
@ -76,7 +76,7 @@ You can remove the actor timer by calling
DELETE http://localhost:3500/v1.0/actors/<actorType>/<actorId>/timers/<name> DELETE http://localhost:3500/v1.0/actors/<actorType>/<actorId>/timers/<name>
``` ```
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 ### Actor reminders
@ -130,4 +130,4 @@ You can remove the actor reminder by calling
DELETE http://localhost:3500/v1.0/actors/<actorType>/<actorId>/reminders/<name> DELETE http://localhost:3500/v1.0/actors/<actorType>/<actorId>/reminders/<name>
``` ```
Refer [api spec](./actors_api.md#invoke-reminder) for more details. Refer [api spec](../../reference/api/actors_api.md#invoke-reminder) for more details.

View File

@ -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: 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. * 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. * Test suites. A new building block implementation should come with associated unit tests and end-to-end scenario tests.
* Documents and samples. * Documents and samples.

View File

@ -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 | | [HTTP](../../reference/specs/bindings/http.md) | | ✅ | Experimental |
| [Kafka](../../reference/specs/bindings/kafka.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 | | [MQTT](../../reference/specs/bindings/mqtt.md) | ✅ | ✅ | Experimental |
| [RabbitMQ](../../reference/specs/bindings/rabbitmq.md) | ✅ | ✅ | Experimental | | [RabbitMQ](../../reference/specs/bindings/rabbitmq.md) | ✅ | ✅ | Experimental |
| [Redis](../../reference/specs/bindings/redis.md) | | ✅ | Experimental | | [Redis](../../reference/specs/bindings/redis.md) | | ✅ | Experimental |

View File

@ -6,7 +6,7 @@ Dapr allows custom processing pipelines to be defined by chaining a series of cu
## Customize processing pipeline ## 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. > **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.

View File

@ -67,4 +67,4 @@ When deploying on Azure Kubernetes Service (AKS), you can use [Azure Active Dire
## Component secrets ## 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.

View File

@ -25,5 +25,5 @@ Steps 4-5 are the same as the list above.
For more information, see: 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 - A [HowTo](../../howto/invoke-and-discover-services/README.md) on Service Invocation

View File

@ -24,7 +24,7 @@ Dapr data stores are components. Dapr ships with [Redis](https://redis.io
), [GCP Cloud Spanner](https://cloud.google.com/spanner ), [GCP Cloud Spanner](https://cloud.google.com/spanner
) and [Cassandra](http://cassandra.apache.org/). ) 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. > **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 '<app-id>||<thermometer>||*||tem
## References ## References
* [Spec: Dapr state management specification](../../reference/api/state.md) * [Spec: Dapr state management specification](../../reference/api/state_api.md)
* [Spec: Dapr actors specification](../../reference/api/actors.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: 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: 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) * [How-to: Set up Redis store](../../howto/setup-state-store/setup-redis.md)

View File

@ -1,6 +1,6 @@
# Authorization with oAuth # 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 ## Register your application with a authorization server
@ -61,7 +61,7 @@ spec:
## Define a custom pipeline ## 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 ```yaml
apiVersion: dapr.io/v1alpha1 apiVersion: dapr.io/v1alpha1

View File

@ -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. 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 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. In Self Hosted mode, the certs are persisted to disk. More information on that is shown below.

View File

@ -54,7 +54,7 @@ helm install redis stable/redis
3. Click "Create" to kickoff deployment of your Redis instance. 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. 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`. 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. > **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 ## 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 ### Configuring Redis for State Persistence and Retrieval

View File

@ -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. 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 ## 1. Choose an ID for your service

View File

@ -1,6 +1,6 @@
# Query Azure Cosmos DB state store # 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). > **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).

View File

@ -1,6 +1,6 @@
# Query Redis state store # 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. >**NOTE:** The following examples uses Redis CLI against a Redis store using the default Dapr state store implementation.

View File

@ -1,6 +1,6 @@
# Query SQL Server state store # 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 ## 1. Connect to SQL Server

View File

@ -42,7 +42,7 @@ kubectl apply -f pubsub.yaml
## Reference ## Reference
[Setup Redis Streams](./setup-redis.md) - [Setup Redis Streams](./setup-redis.md)
[Setup NATS](./setup-nats.md) - [Setup NATS](./setup-nats.md)
[Setup Azure Service bus](./setup-azure-servicebus.md) - [Setup Azure Service bus](./setup-azure-servicebus.md)
[Setup RabbitMQ](./setup-rabbitmq.md) - [Setup RabbitMQ](./setup-rabbitmq.md)

View File

@ -32,7 +32,7 @@ spec:
value: <REPLACE-WITH-AUTO-DELETE-ON-IDLE-IN-SEC> # Optional. value: <REPLACE-WITH-AUTO-DELETE-ON-IDLE-IN-SEC> # 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 ## Apply the configuration

View File

@ -43,7 +43,7 @@ spec:
value: <REPLACE-WITH-NATS-SERVER-ADDRESS> # Required. Example: "nats-client.default.svc.cluster.local:4222" value: <REPLACE-WITH-NATS-SERVER-ADDRESS> # 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 ## Apply the configuration

View File

@ -63,7 +63,7 @@ spec:
value: <REPLACE-WITH-REQUEUE-IN-FAILURE> # Optional. Default: "false". value: <REPLACE-WITH-REQUEUE-IN-FAILURE> # 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 ## Apply the configuration

View File

@ -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`. 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 ### Configuring Redis Streams for Pub/Sub

View File

@ -1,6 +1,6 @@
# Secret store for AWS Secret Manager # 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 ## Create an AWS Secret Manager instance

View File

@ -1,6 +1,6 @@
# Use Azure Key Vault secret store in Kubernetes mode using Managed Identities # 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 ## 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) - [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) - [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) - [AAD Pod Identity](https://github.com/Azure/aad-pod-identity)
- [Secrets Component](../../concepts/components/secrets.md) - [Secrets Component](../../concepts/secrets/README.md)

View File

@ -1,6 +1,6 @@
# Secret Store for Azure Key Vault # 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). > **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) - [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) - [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)

View File

@ -1,6 +1,6 @@
# Secret Store for GCP Secret Manager # 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 ## Create an GCP Secret Manager instance

View File

@ -1,6 +1,6 @@
# Secret Store for Hashicorp Vault # 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 ## Create a Hashicorp Vault instance

View File

@ -3,4 +3,4 @@
Kubernetes has a built-in state store which Dapr components can use to fetch secrets from. 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. 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.

View File

@ -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. 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 ## Running locally

View File

@ -48,7 +48,7 @@ spec:
value: <REPLACE-WITH-SET> # Optional. value: <REPLACE-WITH-SET> # 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 ## Apply the configuration

View File

@ -37,7 +37,7 @@ spec:
value: <REPLACE-WITH-COLLECTION> value: <REPLACE-WITH-COLLECTION>
``` ```
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: The following example uses the Kubernetes secret store to retrieve the secrets:

View File

@ -34,7 +34,7 @@ spec:
value: <REPLACE-WITH-TABLE-NAME> value: <REPLACE-WITH-TABLE-NAME>
``` ```
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: The following example uses the Kubernetes secret store to retrieve the secrets:

View File

@ -58,7 +58,7 @@ spec:
value: <REPLACE-WITH-REPLICATION-FACTOR> # Optional. default: "1" value: <REPLACE-WITH-REPLICATION-FACTOR> # 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: The following example uses the Kubernetes secret store to retrieve the username and password:

View File

@ -51,7 +51,7 @@ spec:
value: <REPLACE-WITH-TABLE> # Optional. default: "" value: <REPLACE-WITH-TABLE> # 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: The following example uses the Kubernetes secret store to retrieve the acl token:

View File

@ -44,7 +44,7 @@ spec:
value: <REPLACE-WITH-BUCKET> # Required. value: <REPLACE-WITH-BUCKET> # 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 ## Apply the configuration

View File

@ -48,7 +48,7 @@ spec:
value: <REPLACE-WITH-OPERATION-TIMEOUT> # Optional. default: "10S" value: <REPLACE-WITH-OPERATION-TIMEOUT> # 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 ## Apply the configuration

View File

@ -48,7 +48,7 @@ spec:
value: <REPLACE-WITH-ENTITY-KIND> # Optional. default: "DaprState" value: <REPLACE-WITH-ENTITY-KIND> # 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 ## Apply the configuration

View File

@ -34,7 +34,7 @@ spec:
value: <REPLACE-WITH-MAP> # Required. Hazelcast map configuration. value: <REPLACE-WITH-MAP> # 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 ## Apply the configuration

View File

@ -47,7 +47,7 @@ spec:
value: <REPLACE-WITH-TIMEOUT> # Optional. default: "1000ms" value: <REPLACE-WITH-TIMEOUT> # 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 ## Apply the configuration

View File

@ -61,7 +61,7 @@ spec:
value: <REPLACE-WITH-OPERATION-TIMEOUT> # Optional. default: "5s" value: <REPLACE-WITH-OPERATION-TIMEOUT> # 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: The following example uses the Kubernetes secret store to retrieve the username and password:

View File

@ -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`. To setup Redis, you need to create a component for `state.redis`.
<br> <br>
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 ### Configuring Redis for State Persistence and Retrieval

View File

@ -33,7 +33,7 @@ spec:
value: <REPLACE-WITH-TABLE-NAME> value: <REPLACE-WITH-TABLE-NAME>
``` ```
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: The following example uses the Kubernetes secret store to retrieve the secrets:

View File

@ -52,7 +52,7 @@ spec:
value: <REPLACE-WITH-KEY-PREFIX-PATH> # Optional. value: <REPLACE-WITH-KEY-PREFIX-PATH> # 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 ## Apply the configuration

View File

@ -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. 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: Create the following YAML file, named binding.yaml, and save this to the /components sub-folder in your application directory:

View File

@ -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. | **[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. | **[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. | **[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. | **[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 ## 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)** - **[Python SDK](https://github.com/dapr/python-sdk)**
- **[.NET SDK](https://github.com/dapr/dotnet-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 ### 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. 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)
<img src="../images/overview_kubernetes.png" width=800> <img src="../images/overview_kubernetes.png" width=800>

12
reference/api/README.md Normal file
View File

@ -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)