Skip to content

Commit d7eef62

Browse files
authored
Merge pull request #297908 from hhunter-ms/hh-418788
[Dapr/ACA] Updates to arguments and overview
2 parents 48befd4 + 75b6047 commit d7eef62

File tree

4 files changed

+66
-17
lines changed

4 files changed

+66
-17
lines changed

articles/container-apps/TOC.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -315,7 +315,7 @@
315315
href: microservices-dapr.md
316316
- name: Deploy using ARM or Bicep
317317
href: microservices-dapr-azure-resource-manager.md
318-
- name: Enable Dapr on an existing container app
318+
- name: Configure Dapr on an existing container app
319319
href: enable-dapr.md
320320
- name: Deploy using the Dapr extension for Azure Functions
321321
href: dapr-functions-extension.md

articles/container-apps/azure-resource-manager-api-spec.md

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ services: container-apps
55
author: craigshoemaker
66
ms.service: azure-container-apps
77
ms.topic: reference
8-
ms.date: 01/23/2025
8+
ms.date: 04/09/2025
99
ms.author: cshoe
1010
ms.custom: build-2023
1111
---
@@ -148,7 +148,7 @@ A resource's `properties.configuration` object includes the following properties
148148
| `secrets` | Defines secret values in your container app. | object |
149149
| `ingress` | Object that defines public accessibility configuration of a container app. | object |
150150
| `registries` | Configuration object that references credentials for private container registries. Entries defined with `secretref` reference the secrets configuration object. | object |
151-
| `dapr` | Configuration object that defines the Dapr settings for the container app. | object |
151+
| `dapr` | Configuration object that defines the [Dapr settings for the container app](./enable-dapr.md). | object |
152152

153153
Changes made to the `configuration` section are [application-scope changes](revisions.md#application-scope-changes), which doesn't trigger a new revision.
154154

@@ -253,7 +253,15 @@ The following example ARM template snippet deploys a container app.
253253
"httpReadBufferSize": 30,
254254
"httpMaxRequestSize": 10,
255255
"logLevel": "debug",
256-
"enableApiLogging": true
256+
"enableApiLogging": true,
257+
"appHealth": {
258+
"enabled": true,
259+
"path": "/health",
260+
"probeIntervalSeconds": 3,
261+
"probeTimeoutMilliseconds": 1000,
262+
"threshold": 3,
263+
},
264+
"maxConcurrency": 10
257265
},
258266
"maxInactiveRevisions": 10,
259267
"service": {
@@ -448,6 +456,13 @@ properties:
448456
httpMaxRequestSize: 10
449457
logLevel: debug
450458
enableApiLogging: true
459+
appHealth:
460+
- enabled: true
461+
- path: "/health"
462+
- probeIntervalSeconds: 3
463+
- probeTimeoutMilliseconds: 1000
464+
- threshold: 3
465+
maxConcurrency: 10
451466
maxInactiveRevisions: 10
452467
service:
453468
type: redis

articles/container-apps/dapr-overview.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ author: hhunter-ms
66
ms.service: azure-container-apps
77
ms.custom: build-2023
88
ms.topic: conceptual
9-
ms.date: 01/08/2025
9+
ms.date: 04/09/2025
1010
---
1111

1212
# Microservice APIs powered by Dapr
@@ -27,6 +27,8 @@ Configure microservices APIs for your container apps environment with a [Dapr-en
2727

2828
## Versioning
2929

30+
Instead of following a fixed release schedule, Dapr in Azure Container Apps releases new features and functionality based on the prioritization and stability of the Dapr binaries. [Learn more about Dapr releases in Azure Container Apps.](./faq.yml#how-often-are-dapr-versions-released-for-azure-container-apps-)
31+
3032
Dapr versions in Azure Container Apps include:
3133
- A semantic versioning prefix, such as `1.13.6`, which denotes compatibility with the corresponding OSS Dapr runtime version APIs and related tools like SDKs, CLI, etc.
3234
- A `-msft.<number>` suffix, which denotes incorporating Azure-specific customizations for enhanced security and production readiness.

articles/container-apps/enable-dapr.md

Lines changed: 44 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,19 @@
11
---
2-
title: Enable Dapr on an existing container app
3-
description: Enable Dapr on your existing Azure Container App service.
2+
title: Configure Dapr on an existing container app
3+
description: Configure Dapr on your existing Azure Container App service.
44
ms.author: hannahhunter
55
author: hhunter-ms
66
ms.service: azure-container-apps
77
ms.custom: build-2023, devx-track-bicep
88
ms.topic: conceptual
9-
ms.date: 11/25/2024
9+
ms.date: 04/08/2025
1010
---
1111

12-
# Enable Dapr on an existing container app
12+
# Configure Dapr on an existing container app
1313

14-
You can configure Dapr using various [arguments and annotations][dapr-args] based on the runtime context. Azure Container Apps provides three channels through which you can enable Dapr:
14+
You can configure Dapr using various [arguments and annotations][dapr-args] based on the runtime context. Dapr configurations available in Azure Container Apps are considered *application-scope* changes. When you run a container app in multiple-revision mode, changes to these settings don't create a new revision. Instead, all existing revisions are restarted to ensure they're configured with the most up-to-date values.
15+
16+
Azure Container Apps provides three channels through which you can enable and configure Dapr:
1517

1618
- [The Azure CLI](#using-the-cli)
1719
- [Infrastructure as Code (IaC) templates,](#using-bicep-or-arm) like Bicep or Azure Resource Manager (ARM) templates
@@ -23,12 +25,19 @@ The following table outlines the currently supported list of Dapr sidecar config
2325
| ------------------------- | ------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
2426
| `--enable-dapr` | `dapr.enabled` | Enables Dapr on the container app. |
2527
| `--dapr-app-port` | `dapr.appPort` | The port your application is listening on which is used by Dapr for communicating to your application |
26-
| `--dapr-app-protocol` | `dapr.appProtocol` | Tells Dapr which protocol your application is using. Valid options are `http` or `grpc`. Default is `http`. |
28+
| `--dapr-app-protocol` | `dapr.appProtocol` | Tells Dapr which protocol your application is using. Valid options are `http` or `grpc`. Default setting is `http`. |
2729
| `--dapr-app-id` | `dapr.appId` | A unique Dapr identifier for your container app used for service discovery, state encapsulation, and the pub/sub consumer ID. |
28-
| `--dapr-max-request-size` | `dapr.httpMaxRequestSize` | Set the max size of request body http and grpc servers to handle uploading of large files. Default is 4 MB. |
29-
| `--dapr-read-buffer-size` | `dapr.httpReadBufferSize` | Set the max size of http header read buffer in to handle when sending multi-KB headers. The default 4 KB. |
30+
| `--dapr-max-request-size` | `dapr.httpMaxRequestSize` | Set the max size of request body http and grpc servers to handle uploading of large files. Default setting is `4 MB`. |
31+
| `--dapr-read-buffer-size` | `dapr.httpReadBufferSize` | Set the max size of http header read buffer in to handle when sending multi-KB headers. Default setting is `4 KB`. |
3032
| `--dapr-api-logging` | `dapr.enableApiLogging` | Enables viewing the API calls from your application to the Dapr sidecar. |
31-
| `--dapr-log-level` | `dapr.logLevel` | Set the log level for the Dapr sidecar. Allowed values: debug, error, info, warn. Default is `info`. |
33+
| `--dapr-log-level` | `dapr.logLevel` | Set the log level for the Dapr sidecar. Allowed values: debug, error, info, warn. Default setting is `info`. |
34+
| `--dapr-app-health-enabled` | `dapr.appHealth.enabled`| Optional configuration to enable app health checks for your container app using Boolean format. Default setting is `false`. |
35+
| `--dapr-app-health-path` | `dapr.appHealth.path`| Set the path that Dapr invokes for health probes when the app channel is HTTP. This value is ignored if the app channel is using gRPC. Default setting is `/healthz`. |
36+
| `--dapr-app-health-probe-interval` | `dapr.appHealth.probeIntervalSeconds`| Number of seconds between each health probe. Default setting is `3`. |
37+
| `--dapr-app-health-probe-timeout` | `dapr.appHealth.probeTimeoutMilliseconds`| Timeout in milliseconds for health probe requests. This value must be smaller than the `probeIntervalSeconds` value. Default setting is `500`. |
38+
| `--dapr-app-health-threshold` | `dapr.appHealth.threshold`| Max number of consecutive failures before the app is considered unhealthy. Default setting is `3`. |
39+
| `--dapr-max-concurrency` | `dapr.maxConcurrency` | Limit the concurrency of your application. A valid value is any number larger than `0`. `-1` means no limit on concurrency. |
40+
3241

3342
## Using the CLI
3443

@@ -52,7 +61,19 @@ When using an IaC template, specify the following arguments in the `properties.c
5261
appId: 'nodeapp'
5362
appProtocol: 'http'
5463
appPort: 3000
55-
}
64+
httpReadBufferSize: 30
65+
httpMaxRequestSize: 10
66+
logLevel: 'debug'
67+
enableApiLogging: true
68+
appHealth: {
69+
enabled: true
70+
path: '/health'
71+
probeIntervalSeconds: 3
72+
probeTimeoutMilliseconds: 1000
73+
threshold: 3
74+
},
75+
maxConcurrency: 10
76+
}
5677
```
5778

5879
# [ARM](#tab/arm1)
@@ -62,13 +83,24 @@ When using an IaC template, specify the following arguments in the `properties.c
6283
"enabled": true,
6384
"appId": "nodeapp",
6485
"appProtocol": "http",
65-
"appPort": 3000
86+
"appPort": 3000,
87+
"httpReadBufferSize": 30,
88+
"httpMaxRequestSize": 10,
89+
"logLevel": "debug",
90+
"enableApiLogging": true,
91+
"appHealth": {
92+
"enabled": true,
93+
"path": "/health",
94+
"probeIntervalSeconds": 3,
95+
"probeTimeoutMilliseconds": 1000,
96+
"threshold": 3,
97+
},
98+
"maxConcurrency": 10
6699
}
67100
```
68101

69102
---
70103

71-
The above Dapr configuration values are considered application-scope changes. When you run a container app in multiple-revision mode, changes to these settings don't create a new revision. Instead, all existing revisions are restarted to ensure they're configured with the most up-to-date values.
72104

73105
## Using the Azure portal
74106

0 commit comments

Comments
 (0)