diff --git a/FAQ.md b/FAQ.md index 6221200c2..3b532930b 100644 --- a/FAQ.md +++ b/FAQ.md @@ -31,7 +31,7 @@ Istio is not a programming model and does not focus on application level feature ### Relationship between Dapr, Orleans and Service Fabric Reliable Actors The actors in Dapr are based on the same virtual actor concept that [Orleans](https://www.microsoft.com/research/project/orleans-virtual-actors/) started, meaning that they are activated when called and deactivated after a period of time. If you are familiar with Orleans, Dapr C# actors will be familiar. Dapr C# actors are based on [Service Fabric Reliable Actors](https://docs.microsoft.com/azure/service-fabric/service-fabric-reliable-actors-introduction) (which also came from Orleans) and enable you to take Reliable Actors in Service Fabric and migrate them to other hosting platforms such as Kubernetes or other on-premise environments. -Also Dapr is about more than just actors. It provides you with a set of best practice building blocks to build into any microservices application. See [Dapr overview](https://github.com/dapr/docs/blob/master/overview.md) +Also Dapr is about more than just actors. It provides you with a set of best practice building blocks to build into any microservices application. See [Dapr overview](https://github.com/dapr/docs/blob/master/overview/README.md). ### Differences between Dapr from an actor framework diff --git a/concepts/hosting/README.md b/concepts/hosting/README.md index 2198654a2..883da3971 100644 --- a/concepts/hosting/README.md +++ b/concepts/hosting/README.md @@ -9,11 +9,11 @@ Dapr can run on multiple hosting platforms. ## Running Dapr on a local developer machine in self hosted mode -Dapr can be configured to run on your local developer machine in [self hosted mode](../getting-started). Each running service has a Dapr runtime process (or sidecar) which is configured to use state stores, pub/sub, binding components and the other building blocks. +Dapr can be configured to run on your local developer machine in [self hosted mode](../../getting-started). Each running service has a Dapr runtime process (or sidecar) which is configured to use state stores, pub/sub, binding components and the other building blocks. In self hosted mode, Redis is running locally in a container and is configured to serve as both the default component for state store and for pub/sub. A Zipkin container is also configured for diagnostics and tracing. After running `dapr init`, see the `$HOME/.dapr/components` directory (Mac/Linux) or `%USERPROFILE%\.dapr\components` on Windows. -The `dapr-placement` service is responsible for managing the actor distribution scheme and key range settings. This service is only required if you are using Dapr actors. For more information on the actor `Placement` service read [actor overview](../concepts/actors). +The `dapr-placement` service is responsible for managing the actor distribution scheme and key range settings. This service is only required if you are using Dapr actors. For more information on the actor `Placement` service read [actor overview](../actors). @@ -23,7 +23,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/quickstarts/tree/master/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. Additionally, the `dapr-sidecar-injector` also injects the environment variables `DAPR_HTTP_PORT` and `DAPR_GRPC_PORT` into **all** the containers in the pod to enable user defined applications to easily communicate with Dapr without hardcoding Dapr port values. -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](../security/README.md#dapr-to-dapr-communication) diff --git a/concepts/middleware/README.md b/concepts/middleware/README.md index eef6d1907..ff72de9c1 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 mi ## Customize processing pipeline -When launched, a Dapr sidecar constructs a middleware processing pipeline. By default the pipeline consists of [tracing middleware](../observabilty/traces.md) and CORS middleware. Additional middleware, configured by a Dapr [configuration](../configuration/README.md), can be added to the pipeline in the order they are defined. The pipeline applies to all Dapr API endpoints, including state, pub/sub, service invocation, bindings, security and others. +When launched, a Dapr sidecar constructs a middleware processing pipeline. By default the pipeline consists of [tracing middleware](../observability/traces.md) and CORS middleware. Additional middleware, configured by a Dapr [configuration](../configuration/README.md), can be added to the pipeline in the order they are defined. The pipeline applies to all Dapr API endpoints, including state, pub/sub, service invocation, bindings, security and others. > **NOTE:** Dapr provides a **middleware.http.uppercase** pre-registered component that changes all text in a request body to uppercase. You can use it to test/verify if your custom pipeline is in place. diff --git a/howto/policies-with-opa/README.md b/howto/policies-with-opa/README.md index ce515c865..1f15bb5fe 100644 --- a/howto/policies-with-opa/README.md +++ b/howto/policies-with-opa/README.md @@ -175,5 +175,5 @@ type Result struct { ## Related links -- Open Policy Agent: https://www.openpolicyagent.com +- Open Policy Agent: https://www.openpolicyagent.org - HTTP API Example: https://www.openpolicyagent.org/docs/latest/http-api-authorization/ \ No newline at end of file diff --git a/howto/pubsub-namespaces/README.md b/howto/pubsub-namespaces/README.md index 0adb07e15..ec8dfaa48 100644 --- a/howto/pubsub-namespaces/README.md +++ b/howto/pubsub-namespaces/README.md @@ -16,7 +16,7 @@ The table below shows which resources are deployed to which namespaces: ## Pre-requisites -* [Dapr installed](https://github.com/dapr/docs/blob/master/getting-started/environment-setup.md.) on any namespace since Dapr works at the cluster level. +* [Dapr installed](https://github.com/dapr/docs/blob/master/getting-started/environment-setup.md) on any namespace since Dapr works at the cluster level. * Checkout and cd into directory for [PubSub sample](https://github.com/dapr/quickstarts/tree/master/pub-sub). ## Setup `namespace-a` diff --git a/howto/run-with-docker/README.md b/howto/run-with-docker/README.md index 4e7fa7e46..6aae859f7 100644 --- a/howto/run-with-docker/README.md +++ b/howto/run-with-docker/README.md @@ -133,7 +133,7 @@ services: > For those running the Docker daemon on a Linux host, you can also use `network_mode: host` to leverage host networking if needed. -To further learn how to run Dapr with Docker Compose, see the [Docker-Compose Sample](https://github.com/dapr/samples/hello-docker-compose). +To further learn how to run Dapr with Docker Compose, see the [Docker-Compose Sample](https://github.com/dapr/samples/tree/master/hello-docker-compose). ## Run Dapr in a Docker container on Kubernetes If your deployment target is Kubernetes then you're probably better of running your applicaiton and Dapr sidecars directly on diff --git a/howto/setup-pub-sub-message-broker/README.md b/howto/setup-pub-sub-message-broker/README.md index 873e1feb5..38f0c13da 100644 --- a/howto/setup-pub-sub-message-broker/README.md +++ b/howto/setup-pub-sub-message-broker/README.md @@ -24,7 +24,7 @@ spec: ``` The type of message bus 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). ## Running locally diff --git a/howto/setup-secret-store/azure-keyvault-managed-identity.md b/howto/setup-secret-store/azure-keyvault-managed-identity.md index 1599e9e5f..e694de05a 100644 --- a/howto/setup-secret-store/azure-keyvault-managed-identity.md +++ b/howto/setup-secret-store/azure-keyvault-managed-identity.md @@ -271,6 +271,6 @@ In Kubernetes mode, you store the certificate for the service principal into the ## References - [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/create-an-azure-service-principal-azure-cli?view=azure-cli-latest) - [AAD Pod Identity](https://github.com/Azure/aad-pod-identity) - [Secrets Component](../../concepts/secrets/README.md)