Move How-To Guides into Docs
| 
						 | 
				
			
			@ -1,3 +0,0 @@
 | 
			
		|||
# documentation
 | 
			
		||||
 | 
			
		||||
Content for this file to be added
 | 
			
		||||
| 
						 | 
				
			
			@ -1,110 +0,0 @@
 | 
			
		|||
# How Tos
 | 
			
		||||
 | 
			
		||||
Here you'll find a list of "How To" guides that walk you through accomplishing specific tasks.
 | 
			
		||||
 | 
			
		||||
## Contents
 | 
			
		||||
- [Service invocation](#service-invocation)
 | 
			
		||||
- [State management](#state-management)
 | 
			
		||||
- [Pub/Sub](#pubsub)
 | 
			
		||||
- [Bindings](#bindings-and-triggers)
 | 
			
		||||
- [Actors](#actors)
 | 
			
		||||
- [Observability](#observability)
 | 
			
		||||
- [Security](#security)
 | 
			
		||||
- [Middleware](#middleware)
 | 
			
		||||
- [Components](#components)
 | 
			
		||||
- [Hosting platforms](#hosting-platforms)
 | 
			
		||||
- [Developer tooling](#developer-tooling)
 | 
			
		||||
 | 
			
		||||
## Service invocation
 | 
			
		||||
 | 
			
		||||
* [Invoke other services in your cluster or environment](./invoke-and-discover-services)
 | 
			
		||||
* [Create a gRPC enabled app, and invoke Dapr over gRPC](./create-grpc-app)
 | 
			
		||||
 | 
			
		||||
## State Management
 | 
			
		||||
 | 
			
		||||
* [Setup a state store](./setup-state-store)
 | 
			
		||||
* [Create a service that performs stateful CRUD operations](./create-stateful-service)
 | 
			
		||||
* [Query the underlying state store](./query-state-store)
 | 
			
		||||
* [Create a stateful, replicated service with different consistency/concurrency levels](./stateful-replicated-service)
 | 
			
		||||
* [Control your app's throttling using rate limiting features](./control-concurrency)
 | 
			
		||||
* [Configuring Redis for state management ](./configure-redis)
 | 
			
		||||
 | 
			
		||||
## Pub/Sub
 | 
			
		||||
 | 
			
		||||
* [Setup Dapr Pub/Sub](./setup-pub-sub-message-broker)
 | 
			
		||||
* [Use Pub/Sub to publish messages to a given topic](./publish-topic)
 | 
			
		||||
* [Use Pub/Sub to consume events from a topic](./consume-topic)
 | 
			
		||||
* [Use Pub/Sub across multiple namespaces](./pubsub-namespaces)
 | 
			
		||||
* [Configuring Redis for pub/sub](./configure-redis)
 | 
			
		||||
* [Limit the Pub/Sub topics used or scope them to one or more applications](./pubsub-scopes)
 | 
			
		||||
 | 
			
		||||
## Bindings and Triggers
 | 
			
		||||
* [Implementing a new binding](https://github.com/dapr/docs/tree/master/reference/specs/bindings)
 | 
			
		||||
* [Trigger a service from different resources with input bindings](./trigger-app-with-input-binding)
 | 
			
		||||
* [Invoke different resources using output bindings](./send-events-with-output-bindings)
 | 
			
		||||
 | 
			
		||||
## Actors
 | 
			
		||||
For Actors How Tos see the SDK documentation
 | 
			
		||||
* [.NET Actors](https://github.com/dapr/dotnet-sdk/blob/master/docs/get-started-dapr-actor.md)
 | 
			
		||||
* [Java Actors](https://github.com/dapr/java-sdk)
 | 
			
		||||
 | 
			
		||||
## Observability
 | 
			
		||||
 | 
			
		||||
### Metrics and Logs
 | 
			
		||||
 | 
			
		||||
* [Set up Azure Monitor to search logs and collect metrics for Dapr](./setup-monitoring-tools/setup-azure-monitor.md)
 | 
			
		||||
* [Set up Fleuntd, Elastic search, and Kibana in Kubernetes](./setup-monitoring-tools/setup-fluentd-es-kibana.md)
 | 
			
		||||
* [Set up Prometheus and Grafana in Kubernetes](./setup-monitoring-tools/setup-prometheus-grafana.md)
 | 
			
		||||
* [Observe metrics with Grafana](./setup-monitoring-tools/observe-metrics-with-grafana.md)
 | 
			
		||||
 | 
			
		||||
### Distributed Tracing
 | 
			
		||||
 | 
			
		||||
* [Diagnose your services with distributed tracing](./diagnose-with-tracing)
 | 
			
		||||
* [Use W3C Trace Context](./use-w3c-tracecontext)
 | 
			
		||||
 | 
			
		||||
## Security
 | 
			
		||||
 | 
			
		||||
### Dapr APIs Authentication
 | 
			
		||||
 | 
			
		||||
* [Enable Dapr APIs token-based authentication](./enable-dapr-api-token-based-authentication)
 | 
			
		||||
 | 
			
		||||
### Mutual Transport Layer Security (mTLS)
 | 
			
		||||
 | 
			
		||||
* [Setup and configure mutual TLS between Dapr instances](./configure-mtls)
 | 
			
		||||
 | 
			
		||||
### Secrets
 | 
			
		||||
 | 
			
		||||
* [Configure component secrets using Dapr secret stores](./setup-secret-store)
 | 
			
		||||
* [Using the Secrets API to get application secrets](./get-secrets)
 | 
			
		||||
 | 
			
		||||
## Middleware
 | 
			
		||||
 | 
			
		||||
* [Configure API authorization with OAuth](./authorization-with-oauth)
 | 
			
		||||
 | 
			
		||||
## Components
 | 
			
		||||
 | 
			
		||||
* [Limit components for one or more applications using scopes](./components-scopes)
 | 
			
		||||
 | 
			
		||||
## Hosting Platforms
 | 
			
		||||
### Kubernetes Configuration
 | 
			
		||||
 | 
			
		||||
* [Production deployment and upgrade guidelines](./deploy-k8s-prod)
 | 
			
		||||
* [Sidecar configuration on Kubernetes](./configure-k8s)
 | 
			
		||||
* [Autoscale on Kubernetes using KEDA and Dapr bindings](./autoscale-with-keda)
 | 
			
		||||
* [Deploy to hybrid Linux/Windows Kubernetes clusters](./windows-k8s)
 | 
			
		||||
 | 
			
		||||
## Developer tooling
 | 
			
		||||
### Using Visual Studio Code
 | 
			
		||||
 | 
			
		||||
* [Using Remote Containers for application development](./vscode-remote-containers)
 | 
			
		||||
* [Developing and debugging  Dapr applications](./vscode-debugging-daprd)
 | 
			
		||||
 | 
			
		||||
* [Setup development environment for Dapr runtime development ](https://github.com/dapr/dapr/blob/master/docs/development/setup-dapr-development-using-vscode.md)
 | 
			
		||||
 | 
			
		||||
### Using IntelliJ
 | 
			
		||||
 | 
			
		||||
* [Developing and debugging with daprd](./intellij-debugging-daprd)
 | 
			
		||||
 | 
			
		||||
### SDKs
 | 
			
		||||
 | 
			
		||||
* [Serialization in Dapr's SDKs](./serialize)
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +1,8 @@
 | 
			
		|||
# Send events to external systems using Output Bindings
 | 
			
		||||
---
 | 
			
		||||
title: "Guide: Interface with external resource using bindings"
 | 
			
		||||
linkTitle: "State Management"
 | 
			
		||||
weight: 2000
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
Using bindings, its possible to invoke external resources without tying in to special SDK or libraries.
 | 
			
		||||
For a complete sample showing output bindings, visit this [link](https://github.com/dapr/quickstarts/tree/master/bindings).
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +1,8 @@
 | 
			
		|||
# Create an event-driven app using input bindings
 | 
			
		||||
---
 | 
			
		||||
title: "Guide: Input Bindings"
 | 
			
		||||
linkTitle: "State Management"
 | 
			
		||||
weight: 1000
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
Using bindings, your code can be triggered with incoming events from different resources which can be anything: a queue, messaging pipeline, cloud-service, filesystem etc.
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1,3 +1,9 @@
 | 
			
		|||
---
 | 
			
		||||
title: "Guide: Publish Message to a Topic with Dapr"
 | 
			
		||||
linkTitle: "Guide: Publish"
 | 
			
		||||
weight: 4000
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
# Use Pub/Sub to publish a message to a topic
 | 
			
		||||
 | 
			
		||||
Pub/Sub is a common pattern in a distributed system with many services that want to utilize decoupled, asynchronous messaging.
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +1,8 @@
 | 
			
		|||
# Use Pub/Sub to consume messages from topics
 | 
			
		||||
---
 | 
			
		||||
title: "Guide: Use Pub/Sub to consume messages from topics"
 | 
			
		||||
linkTitle: "Guide: Publish"
 | 
			
		||||
weight: 3000
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
Pub/Sub is a very common pattern in a distributed system with many services that want to utilize decoupled, asynchronous messaging.
 | 
			
		||||
Using Pub/Sub, you can enable scenarios where event consumers are decoupled from event producers.
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +1,8 @@
 | 
			
		|||
# Using PubSub across multiple namespaces
 | 
			
		||||
---
 | 
			
		||||
title: "Use Dapr PubSub with Multiple Namespaces"
 | 
			
		||||
linkTitle: "Multiple Namespaces"
 | 
			
		||||
weight: 1000
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
In some scenarios, applications can be spread across namespaces and share a queue or topic via PubSub. In this case, the PubSub component must be provisioned on each namespace.
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +1,8 @@
 | 
			
		|||
# Limit the Pub/Sub topics used or scope them to one or more applications
 | 
			
		||||
---
 | 
			
		||||
title: "Limit Application Pub/Sub Topics with Scopes"
 | 
			
		||||
linkTitle: "State Management"
 | 
			
		||||
weight: 2000
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
[Namespaces or component scopes](../components-scopes/README.md) can be used to limit component access to particular applications. These application scopes added to a component limit only the applications with specific IDs to be able to use the component.
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +1,8 @@
 | 
			
		|||
# Access Application Secrets using the Secrets API
 | 
			
		||||
---
 | 
			
		||||
title: "Guide: Get Secrets with the Dapr Secrets API"
 | 
			
		||||
linkTitle: "Guide: Secrets"
 | 
			
		||||
weight: 1000
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
It's common for applications to store sensitive information such as connection strings, keys and tokens that are used to authenticate with databases, services and external systems in secrets by using a dedicated secret store.
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1,3 +1,10 @@
 | 
			
		|||
---
 | 
			
		||||
title: "Guide: Invoke & Discover Services"
 | 
			
		||||
linkTitle: "Guide: Invoke & Discover Services"
 | 
			
		||||
description: "This guide will walk you through configuring and invoking services using dapr"
 | 
			
		||||
weight: 100
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
# Invoke remote services
 | 
			
		||||
 | 
			
		||||
In many environments with multiple services that need to communicate with each other, developers often ask themselves the following questions:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
---
 | 
			
		||||
title: "Dapr State Management"
 | 
			
		||||
linkTitle: "State Management"
 | 
			
		||||
weight: 20
 | 
			
		||||
weight: 100
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
# State management
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,3 +1,9 @@
 | 
			
		|||
---
 | 
			
		||||
title: "Guide: Save and Get State Using Dapr"
 | 
			
		||||
linkTitle: "Guide: Save/Get State"
 | 
			
		||||
weight: 200
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
# Create a stateful service
 | 
			
		||||
 | 
			
		||||
State management is one of the most common needs of any application: new or legacy, monolith or microservice.
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +1,8 @@
 | 
			
		|||
# Create a stateful replicated service
 | 
			
		||||
---
 | 
			
		||||
title: "Create a stateful replicated service"
 | 
			
		||||
linkTitle: "Guide: Stateful Service"
 | 
			
		||||
weight: 300
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
In this HowTo we'll show you how you can create a stateful service which can be horizontally scaled, using opt-in concurrency and consistency models.
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,5 @@
 | 
			
		|||
---
 | 
			
		||||
title: "Query Backend State Store"
 | 
			
		||||
linkTitle: "Query State Store"
 | 
			
		||||
weight: 100
 | 
			
		||||
---
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +1,8 @@
 | 
			
		|||
# Query Azure Cosmos DB state store
 | 
			
		||||
---
 | 
			
		||||
title: "Query CosmosDB Store"
 | 
			
		||||
linkTitle: "Query CosmosDB"
 | 
			
		||||
weight: 1000
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
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,4 +1,8 @@
 | 
			
		|||
# Query Redis state store
 | 
			
		||||
---
 | 
			
		||||
title: "Query Redis Store"
 | 
			
		||||
linkTitle: "Query Redis"
 | 
			
		||||
weight: 2000
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
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,4 +1,8 @@
 | 
			
		|||
# Query SQL Server state store
 | 
			
		||||
---
 | 
			
		||||
title: "Query SQL Store"
 | 
			
		||||
linkTitle: "Query SQL"
 | 
			
		||||
weight: 3000
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
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.
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,5 @@
 | 
			
		|||
---
 | 
			
		||||
title: "Dapr Components"
 | 
			
		||||
linkTitle: "Components"
 | 
			
		||||
weight: 300
 | 
			
		||||
---
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +1,8 @@
 | 
			
		|||
# Scope components to be used by one or more applications
 | 
			
		||||
---
 | 
			
		||||
title: "Scope components to one or more applications"
 | 
			
		||||
linkTitle: "Scoping"
 | 
			
		||||
weight: 1000
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
There are two things to know about Dapr components in terms of security and access.
 | 
			
		||||
First, Dapr components are namespaced. That means a Dapr runtime instance can only access components that have been deployed to the same namespace.
 | 
			
		||||
| 
						 | 
				
			
			@ -1,11 +1,9 @@
 | 
			
		|||
---
 | 
			
		||||
title: "Referencing Secret Stores in Components"
 | 
			
		||||
linkTitle: "Referencing Secrets"
 | 
			
		||||
weight: 1
 | 
			
		||||
weight: 2000
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
# Referencing Secret Stores in Components
 | 
			
		||||
 | 
			
		||||
Components can reference secrets for the `spec.metadata` section.
 | 
			
		||||
 | 
			
		||||
In order to reference a secret, you need to set the `auth.secretStore` field to specify the name of the secret store that holds the secrets.
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,5 @@
 | 
			
		|||
---
 | 
			
		||||
title: "Dapr Configuration"
 | 
			
		||||
linkTitle: "Configuration"
 | 
			
		||||
weight: 400
 | 
			
		||||
---
 | 
			
		||||
| 
						 | 
				
			
			@ -1,3 +1,9 @@
 | 
			
		|||
---
 | 
			
		||||
title: "Control Concurrency and Rate Limit Applications"
 | 
			
		||||
linkTitle: "Concurrency"
 | 
			
		||||
weight: 1000
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
# Rate limiting an application
 | 
			
		||||
 | 
			
		||||
A common scenario in distributed computing is to only allow for a given number of requests to execute concurrently.
 | 
			
		||||
| 
						 | 
				
			
			@ -1,3 +1,9 @@
 | 
			
		|||
---
 | 
			
		||||
title: "Guide: Use gRPC Interface"
 | 
			
		||||
linkTitle: "Referencing Secrets"
 | 
			
		||||
weight: 2000
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
# Dapr and gRPC
 | 
			
		||||
 | 
			
		||||
Dapr implements both an http API and a gRPC interface.
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +1,8 @@
 | 
			
		|||
# Configuring the Dapr sidecar on Kubernetes
 | 
			
		||||
---
 | 
			
		||||
title: "Run Dapr in Kubernetes Mode"
 | 
			
		||||
linkTitle: "Kubernetes"
 | 
			
		||||
weight: 200
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
On Kubernetes, Dapr uses a sidecar injector pod that automatically injects the Dapr sidecar container into a pod that has the correct annotations.
 | 
			
		||||
The sidecar injector is an implementation of a Kubernetes [Admission Controller](https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/). 
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +1,8 @@
 | 
			
		|||
# Autoscaling a Dapr app with KEDA
 | 
			
		||||
---
 | 
			
		||||
title: "Autoscaling a Dapr app with KEDA"
 | 
			
		||||
linkTitle: "Autoscale"
 | 
			
		||||
weight: 3000
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
Dapr is a programming model that's being installed and operated using a sidecar, and thus leaves autoscaling to the hosting layer, for example Kubernetes.
 | 
			
		||||
Many of Dapr's [bindings](../../concepts/bindings#supported-bindings-and-specs) overlap with those of [KEDA](https://github.com/kedacore/keda), an Event Driven Autoscaler for Kubernetes.
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +1,8 @@
 | 
			
		|||
# Deploy to hybrid Linux/Windows Kubernetes clusters
 | 
			
		||||
---
 | 
			
		||||
title: "Deploy to hybrid Linux/Windows Kubernetes clusters"
 | 
			
		||||
linkTitle: "Hybrid Clusters"
 | 
			
		||||
weight: 2000
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
Dapr supports running on kubernetes clusters with windows nodes. You can run your Dapr microservices exclusively on Windows, exclusively on Linux, or a combination of both. This is helpful to users who may be doing a piecemeal migration of a legacy application into a Dapr Kubernetes cluster.   
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +1,8 @@
 | 
			
		|||
# Guidelines for production ready deployments on Kubernetes
 | 
			
		||||
---
 | 
			
		||||
title: "Guidelines for production ready deployments on Kubernetes"
 | 
			
		||||
linkTitle: "Production"
 | 
			
		||||
weight: 1000
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
This section outlines recommendations and practices for deploying Dapr to a Kubernetes cluster in a production ready configuration.
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,5 @@
 | 
			
		|||
---
 | 
			
		||||
title: "Securing Dapr Deployments"
 | 
			
		||||
linkTitle: "Security"
 | 
			
		||||
weight: 500
 | 
			
		||||
---
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +1,8 @@
 | 
			
		|||
# Enable Dapr APIs token-based authentication
 | 
			
		||||
---
 | 
			
		||||
title: "Enable API Token Based Authentication"
 | 
			
		||||
linkTitle: "API Token Auth"
 | 
			
		||||
weight: 3000
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
By default, Dapr relies on the network boundary to limit access to its public API. If you plan on exposing the Dapr API outside of that boundary, or if your deployment demands an additional level of security, consider enabling the token authentication for Dapr APIs. This will cause Dapr to require every incoming gRPC and HTTP request for its APIs for to include authentication token, before allowing that request to pass through. 
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +1,8 @@
 | 
			
		|||
# Setup and configure mutual TLS
 | 
			
		||||
---
 | 
			
		||||
title: "Setup & configure mutual TLS"
 | 
			
		||||
linkTitle: "mTLS"
 | 
			
		||||
weight: 1000
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
Dapr supports in-transit encryption of communication between Dapr instances using Sentry, a central Certificate Authority.
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +1,8 @@
 | 
			
		|||
# Configure API authorization with OAuth
 | 
			
		||||
---
 | 
			
		||||
title: "Configure API Authention with OAUTH"
 | 
			
		||||
linkTitle: "OAuth"
 | 
			
		||||
weight: 2000
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
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,
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,5 @@
 | 
			
		|||
---
 | 
			
		||||
title: "Run Dapr in Self Hosted Mode"
 | 
			
		||||
linkTitle: "Self-Hosted"
 | 
			
		||||
weight: 100
 | 
			
		||||
---
 | 
			
		||||
| 
						 | 
				
			
			@ -1,3 +1,9 @@
 | 
			
		|||
---
 | 
			
		||||
title: "Run Dapr in Self Hosted Mode Without Docker"
 | 
			
		||||
linkTitle: "Without Docker"
 | 
			
		||||
weight: 2000
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
# Self hosted mode without containers
 | 
			
		||||
 | 
			
		||||
This article provides guidance on running Dapr in self-hosted mode without Docker.
 | 
			
		||||
| 
						 | 
				
			
			@ -1,3 +1,9 @@
 | 
			
		|||
---
 | 
			
		||||
title: "Run Dapr in Self Hosted Mode with Docker"
 | 
			
		||||
linkTitle: "Run with Docker"
 | 
			
		||||
weight: 1000
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
# Run with Docker
 | 
			
		||||
This article provides guidance on running Dapr with Docker outside of Kubernetes. There are a number of different configurations in which you may wish to run Dapr with Docker that are documented below.
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +1,8 @@
 | 
			
		|||
# Debugging and Troubleshooting
 | 
			
		||||
---
 | 
			
		||||
title: "Debugging and Troubleshooting"
 | 
			
		||||
linkTitle: "Troubleshooting"
 | 
			
		||||
weight: 700
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
This section describes different tools, techniques and common problems to help users debug and diagnose issues with Dapr.
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +1,8 @@
 | 
			
		|||
# Common Issues
 | 
			
		||||
---
 | 
			
		||||
title: "Common Issues"
 | 
			
		||||
linkTitle: "Common Issues"
 | 
			
		||||
weight: 1000
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
This section will walk you through some common issues and problems.
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +1,8 @@
 | 
			
		|||
# Logs
 | 
			
		||||
---
 | 
			
		||||
title: "Dapr Logs"
 | 
			
		||||
linkTitle: "Logs"
 | 
			
		||||
weight: 2000
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
This section will assist you in understanding how logging works in Dapr, configuring and viewing logs.
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +1,8 @@
 | 
			
		|||
# Profiling and Debugging
 | 
			
		||||
---
 | 
			
		||||
title: "Profiling & Debugging"
 | 
			
		||||
linkTitle: "Debugging"
 | 
			
		||||
weight: 4000
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
In any real world scenario, an app might start exhibiting undesirable behavior in terms of resource spikes.
 | 
			
		||||
CPU/Memory spikes are not uncommon in most cases.
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +1,8 @@
 | 
			
		|||
# Tracing
 | 
			
		||||
---
 | 
			
		||||
title: "Tracing"
 | 
			
		||||
linkTitle: "Tracing"
 | 
			
		||||
weight: 3000
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
Dapr integrates with Open Census for telemetry and tracing.
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,5 @@
 | 
			
		|||
---
 | 
			
		||||
title: "Dapr IDE Integrations"
 | 
			
		||||
linkTitle: "IDEs"
 | 
			
		||||
weight: 200
 | 
			
		||||
---
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +1,8 @@
 | 
			
		|||
# Configuring IntelliJ Community Edition for debugging with Dapr
 | 
			
		||||
---
 | 
			
		||||
title: "Configuring IntelliJ Community Edition for debugging with Dapr"
 | 
			
		||||
linkTitle: "IntelliJ"
 | 
			
		||||
weight: 1000
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
When developing Dapr applications, you typically use the Dapr CLI to start your 'Daprized' service similar to this:
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +1,8 @@
 | 
			
		|||
# Application development with Visual Studio Code
 | 
			
		||||
---
 | 
			
		||||
title: "Application development and debugging with Visual Studio Code"
 | 
			
		||||
linkTitle: "VSCode Debugging"
 | 
			
		||||
weight: 2000
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
## Visual Studio Code Dapr extension
 | 
			
		||||
It is recommended to use the *preview* of the [Dapr Visual Studio Code extension](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-dapr) available in the Visual Studio marketplace for local development and debugging of your Dapr applications.
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +1,8 @@
 | 
			
		|||
# Application development with Visual Studio Code
 | 
			
		||||
---
 | 
			
		||||
title: "Application development and debugging with Visual Studio Code rmeote containers"
 | 
			
		||||
linkTitle: "VSCode Remote Containers"
 | 
			
		||||
weight: 3000
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
## Using remote containers for your application development
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,5 @@
 | 
			
		|||
---
 | 
			
		||||
title: "Dapr Integrations with Monitoring Tools"
 | 
			
		||||
linkTitle: "Monitoring"
 | 
			
		||||
weight: 400
 | 
			
		||||
---
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +1,8 @@
 | 
			
		|||
# Set up Azure Monitor to search logs and collect metrics
 | 
			
		||||
---
 | 
			
		||||
title: "Set up Azure Monitor to search logs and collect metrics"
 | 
			
		||||
linkTitle: "Azure Monitor"
 | 
			
		||||
weight: 2000
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
This document describes how to enable Dapr metrics and logs with Azure Monitor for Azure Kubernetes Service (AKS).
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +1,8 @@
 | 
			
		|||
# Set up Fluentd, Elastic search and Kibana in Kubernetes
 | 
			
		||||
---
 | 
			
		||||
title: "Set up Fluentd, Elastic search and Kibana in Kubernetes"
 | 
			
		||||
linkTitle: "FluentD"
 | 
			
		||||
weight: 1000
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
This document descriebs how to install Fluentd, Elastic Search, and Kibana to search logs in Kubernetes
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +1,8 @@
 | 
			
		|||
# Observe metrics with Grafana
 | 
			
		||||
---
 | 
			
		||||
title: "Observe metrics with Grafana"
 | 
			
		||||
linkTitle: "Grafana"
 | 
			
		||||
weight: 3000
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
This document describes how to view Dapr metrics in a Grafana dashboard. You can see example screenshots of the Dapr dashboards [here](../../reference/dashboard/img/).
 | 
			
		||||
 | 
			
		||||
| 
		 Before Width: | Height: | Size: 80 KiB After Width: | Height: | Size: 80 KiB  | 
| 
		 Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 34 KiB  | 
| 
		 Before Width: | Height: | Size: 361 KiB After Width: | Height: | Size: 361 KiB  | 
| 
		 Before Width: | Height: | Size: 52 KiB After Width: | Height: | Size: 52 KiB  | 
| 
		 Before Width: | Height: | Size: 338 KiB After Width: | Height: | Size: 338 KiB  | 
| 
		 Before Width: | Height: | Size: 360 KiB After Width: | Height: | Size: 360 KiB  | 
| 
		 Before Width: | Height: | Size: 238 KiB After Width: | Height: | Size: 238 KiB  | 
| 
		 Before Width: | Height: | Size: 248 KiB After Width: | Height: | Size: 248 KiB  | 
| 
		 Before Width: | Height: | Size: 501 KiB After Width: | Height: | Size: 501 KiB  | 
| 
		 Before Width: | Height: | Size: 373 KiB After Width: | Height: | Size: 373 KiB  | 
| 
		 Before Width: | Height: | Size: 440 KiB After Width: | Height: | Size: 440 KiB  | 
| 
						 | 
				
			
			@ -1,4 +1,8 @@
 | 
			
		|||
# Set up Prometheus and Grafana in Kubernetes
 | 
			
		||||
---
 | 
			
		||||
title: "Set up Prometheus and Grafana in Kubernetes"
 | 
			
		||||
linkTitle: "Prometheus/Grafana"
 | 
			
		||||
weight: 5000
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
This document describes how to install Prometheus and Grafana on a Kubernetes cluster which can then be used to view the Dapr metrics dashboards.
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +1,8 @@
 | 
			
		|||
# Observe Metrics with Prometheus locally
 | 
			
		||||
---
 | 
			
		||||
title: "Observe Metrics with Prometheus locally"
 | 
			
		||||
linkTitle: "Prometheus"
 | 
			
		||||
weight: 4000
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
Dapr exposes a Prometheus metrics endpoint you can use to collect time-series
 | 
			
		||||
data relating to the execution of the Dapr runtime itself.
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,5 @@
 | 
			
		|||
---
 | 
			
		||||
title: "Dapr Developer SDKs"
 | 
			
		||||
linkTitle: "SDKs"
 | 
			
		||||
weight: 100
 | 
			
		||||
---
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +1,8 @@
 | 
			
		|||
# Serialization in Dapr's SDKs
 | 
			
		||||
---
 | 
			
		||||
title: "Serialization in Dapr's SDKs"
 | 
			
		||||
linkTitle: "Serialization"
 | 
			
		||||
weight: 1000
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
An SDK for Dapr should provide serialization for two use cases. First, for API objects sent through request and response payloads. Second, for objects to be persisted. For both these use cases, a default serialization is provided. In the Java SDK, it is the [DefaultObjectSerializer](https://dapr.github.io/java-sdk/io/dapr/serializer/DefaultObjectSerializer.html) class, providing JSON serialization.
 | 
			
		||||
 | 
			
		||||