Skip to content

Commit

Permalink
Merge branch 'v1.12' into issue_3965_1.12
Browse files Browse the repository at this point in the history
  • Loading branch information
hhunter-ms authored Mar 5, 2024
2 parents 8d63baa + abdb980 commit 87c70c0
Show file tree
Hide file tree
Showing 10 changed files with 42 additions and 10 deletions.
8 changes: 5 additions & 3 deletions daprdocs/content/en/getting-started/get-started-api.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,11 @@ type: docs
title: "Use the Dapr API"
linkTitle: "Use the Dapr API"
weight: 30
description: "Run a Dapr sidecar and try out the state API"
description: "Run a Dapr sidecar and try out the state management API"
---

In this guide, you'll simulate an application by running the sidecar and calling the API directly. After running Dapr using the Dapr CLI, you'll:
In this guide, you'll simulate an application by running the sidecar and calling the state management API directly.
After running Dapr using the Dapr CLI, you'll:

- Save a state object.
- Read/get the state object.
Expand All @@ -21,7 +22,8 @@ In this guide, you'll simulate an application by running the sidecar and calling

### Step 1: Run the Dapr sidecar

The [`dapr run`]({{< ref dapr-run.md >}}) command launches an application, together with a sidecar.
The [`dapr run`]({{< ref dapr-run.md >}}) command normally runs your application and a Dapr sidecar. In this case,
it only runs the sidecar since you are interacting with the state management API directly.

Launch a Dapr sidecar that will listen on port 3500 for a blank application named `myapp`:

Expand Down
5 changes: 5 additions & 0 deletions daprdocs/content/en/getting-started/install-dapr-cli.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,11 @@ You'll use the Dapr CLI as the main tool for various Dapr-related tasks. You can

The Dapr CLI works with both [self-hosted]({{< ref self-hosted >}}) and [Kubernetes]({{< ref Kubernetes >}}) environments.

{{% alert title="Before you begin" color="primary" %}}
In Docker Desktop's advanced options, verify you've allowed the default Docker socket to be used.
<img src="/images/docker-desktop-setting.png" width=800 style="padding-bottom:15px;">
{{% /alert %}}

### Step 1: Install the Dapr CLI

{{< tabs Linux Windows MacOS Binaries>}}
Expand Down
5 changes: 3 additions & 2 deletions daprdocs/content/en/getting-started/install-dapr-selfhost.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ To initialize Dapr in your local or remote **Kubernetes** cluster for developmen
{{% /alert %}}

{{% alert title="Docker" color="primary" %}}
The recommended development environment requires [Docker](https://docs.docker.com/install/). While you can [initialize Dapr without a dependency on Docker]({{< ref self-hosted-no-docker.md >}})), the next steps in this guide assume the recommended Docker development environment.
The recommended development environment requires [Docker](https://docs.docker.com/install/). While you can [initialize Dapr without a dependency on Docker]({{< ref self-hosted-no-docker.md >}}), the next steps in this guide assume the recommended Docker development environment.

You can also install [Podman](https://podman.io/) in place of Docker. Read more about [initializing Dapr using Podman]({{< ref dapr-init.md >}}).
{{% /alert %}}
Expand Down Expand Up @@ -70,7 +70,7 @@ dapr init

**If you are installing on Mac OS Silicon with Docker,** you may need to perform the following workaround to enable `dapr init` to talk to Docker without using Kubernetes.
1. Navigate to **Docker Desktop** > **Settings** > **Advanced**.
1. Select the **Enable default Docker socket** checkbox.
1. Select the **Allow the default Docker socket to be used (requires password)** checkbox.

{{% /codetab %}}

Expand All @@ -86,6 +86,7 @@ dapr init

{{< /tabs >}}

[See the troubleshooting guide if you encounter any error messages regarding Docker not being installed or running.]({{< ref "common_issues.md#dapr-cant-connect-to-docker-when-installing-the-dapr-cli" >}})

### Step 3: Verify Dapr version

Expand Down
6 changes: 5 additions & 1 deletion daprdocs/content/en/operations/security/api-token.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,11 @@ kubectl rollout restart deployment/<deployment-name> --namespace <namespace-name

## Adding API token to client API invocations

Once token authentication is configured in Dapr, all clients invoking Dapr API will have to append the API token token to every request:
Once token authentication is configured in Dapr, all clients invoking Dapr API need to append the `dapr-api-token` token to every request.

> **Note:** The Dapr SDKs read the [DAPR_API_TOKEN]({{< ref environment >}}) environment variable and set it for you by default.

<img src="/images/tokens-auth.png" width=800 style="padding-bottom:15px;">

### HTTP

Expand Down
6 changes: 4 additions & 2 deletions daprdocs/content/en/operations/security/app-api-token.md
Original file line number Diff line number Diff line change
Expand Up @@ -89,11 +89,13 @@ kubectl rollout restart deployment/<deployment-name> --namespace <namespace-name

## Authenticating requests from Dapr

Once app token authentication is configured in Dapr, all requests *coming from Dapr* include the token.
Once app token authentication is configured using the environment variable or Kubernetes secret `app-api-token`, the Dapr sidecar always includes the HTTP header/gRPC metadata `dapr-api-token: <token>` in the calls to the app. From the app side, ensure you are authenticating using the `dapr-api-token` value which uses the `app-api-token` you set to authenticate requests from Dapr.

<img src="/images/tokens-auth.png" width=800 style="padding-bottom:15px;">

### HTTP

In case of HTTP, in your code look for the HTTP header `dapr-api-token` in incoming requests:
In your code, look for the HTTP header `dapr-api-token` in incoming requests:

```text
dapr-api-token: <token>
Expand Down
18 changes: 18 additions & 0 deletions daprdocs/content/en/operations/troubleshooting/common_issues.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,24 @@ weight: 1000
description: "Common issues and problems faced when running Dapr applications"
---

This guide covers common issues you may encounter while installing and running Dapr.

## Dapr can't connect to Docker when installing the Dapr CLI

When installing and initializing the Dapr CLI, if you see the following error message after running `dapr init`:

```bash
⌛ Making the jump to hyperspace...
❌ could not connect to docker. docker may not be installed or running
```

Troubleshoot the error by ensuring:

1. [The correct containers are running.]({{< ref "install-dapr-selfhost.md#step-4-verify-containers-are-running" >}})
1. In Docker Desktop, verify the **Allow the default Docker socket to be used (requires password)** option is selected.

<img src="/images/docker-desktop-setting.png" width=800 style="padding-bottom:15px;">

## I don't see the Dapr sidecar injected to my pod

There could be several reasons to why a sidecar will not be injected into a pod.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,8 @@ The above example uses secrets as plain strings. It is recommended to use a secr
| redisUsername | N | Username for Redis host. Defaults to empty. Make sure your redis server version is 6 or above, and have created acl rule correctly. | `""`, `"default"`
| consumerID | N | The consumer group ID | `"myGroup"`
| enableTLS | N | If the Redis instance supports TLS with public certificates, can be configured to be enabled or disabled. Defaults to `"false"` | `"true"`, `"false"`
| redeliverInterval | N | The interval between checking for pending messages to redelivery. Defaults to `"60s"`. `"0"` disables redelivery. | `"30s"`
| processingTimeout | N | The amount time a message must be pending before attempting to redeliver it. Defaults to `"15s"`. `"0"` disables redelivery. | `"30s"`
| redeliverInterval | N | The interval between checking for pending messages to redeliver. Can use either be Go duration string (for example "ms", "s", "m") or milliseconds number. Defaults to `"60s"`. `"0"` disables redelivery. | `"30s"`, `"5000"`
| processingTimeout | N | The amount time that a message must be pending before attempting to redeliver it. Can use either be Go duration string ( for example "ms", "s", "m") or milliseconds number. Defaults to `"15s"`. `"0"` disables redelivery. | `"60s"`, `"600000"`
| queueDepth | N | The size of the message queue for processing. Defaults to `"100"`. | `"1000"`
| concurrency | N | The number of concurrent workers that are processing messages. Defaults to `"10"`. | `"15"`
| redisType | N | The type of redis. There are two valid values, one is `"node"` for single node mode, the other is `"cluster"` for redis cluster mode. Defaults to `"node"`. | `"cluster"`
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added daprdocs/static/images/tokens-auth.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified daprdocs/static/presentations/dapr-slidedeck.pptx.zip
Binary file not shown.

0 comments on commit 87c70c0

Please sign in to comment.