Skip to content

Commit 6bed01e

Browse files
authored
Merge branch 'v1.14' into streaming-subscription-dotnet
2 parents 9f571cb + 6f8fcb2 commit 6bed01e

34 files changed

+145
-45
lines changed

daprdocs/content/en/contributing/contributing-overview.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ See the [Dapr community repository](https://github.com/dapr/community) for more
1818

1919
1. **Docs**: This [repository](https://github.com/dapr/docs) contains the documentation for Dapr. You can contribute by updating existing documentation, fixing errors, or adding new content to improve user experience and clarity. Please see the specific guidelines for [docs contributions]({{< ref contributing-docs >}}).
2020

21-
2. **Quickstarts**: The Quickstarts [repository](https://github.com/dapr/quickstarts) provides simple, step-by-step guides to help users get started with Dapr quickly. Contributions in this repository involve creating new quickstarts, improving existing ones, or ensuring they stay up-to-date with the latest features.
21+
2. **Quickstarts**: The Quickstarts [repository](https://github.com/dapr/quickstarts) provides simple, step-by-step guides to help users get started with Dapr quickly. [Contributions in this repository](https://github.com/dapr/quickstarts/blob/master/CONTRIBUTING.md) involve creating new quickstarts, improving existing ones, or ensuring they stay up-to-date with the latest features.
2222

2323
3. **Runtime**: The Dapr runtime [repository](https://github.com/dapr/dapr) houses the core runtime components. Here, you can contribute by fixing bugs, optimizing performance, implementing new features, or enhancing existing ones.
2424

daprdocs/content/en/contributing/daprbot.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
type: docs
33
title: "Dapr bot reference"
44
linkTitle: "Dapr bot"
5-
weight: 15
5+
weight: 70
66
description: "List of Dapr bot capabilities."
77
---
88

daprdocs/content/en/contributing/docs-contrib/contributing-docs.md

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,15 +41,18 @@ Style and tone conventions should be followed throughout all Dapr documentation
4141

4242
## Diagrams and images
4343

44-
Diagrams and images are invaluable visual aids for documentation pages. Diagrams are kept in a [Dapr Diagrams Deck](https://github.com/dapr/docs/tree/v1.11/daprdocs/static/presentations), which includes guidance on style and icons.
44+
Diagrams and images are invaluable visual aids for documentation pages. Use the diagram style and icons in the [Dapr Diagrams template deck](https://github.com/dapr/docs/tree/v1.14/daprdocs/static/presentations).
4545

46-
As you create diagrams for your documentation:
46+
The process for creating diagrams for your documentation:
4747

48-
- Save them as high-res PNG files into the [images folder](https://github.com/dapr/docs/tree/v1.11/daprdocs/static/images).
49-
- Name your PNG files using the convention of a concept or building block so that they are grouped.
48+
1. Download the [Dapr Diagrams template deck](https://github.com/dapr/docs/tree/v1.14/daprdocs/static/presentations) to use the icons and colors.
49+
1. Add a new slide and create your diagram.
50+
1. Screen capture the diagram as high-res PNG file and save in the [images folder](https://github.com/dapr/docs/tree/v1.14/daprdocs/static/images).
51+
1. Name your PNG files using the convention of a concept or building block so that they are grouped.
5052
- For example: `service-invocation-overview.png`.
5153
- For more information on calling out images using shortcode, see the [Images guidance](#images) section below.
52-
- Add the diagram to the correct section in the `Dapr-Diagrams.pptx` deck so that they can be amended and updated during routine refresh.
54+
1. Add the diagram to the appropriate section in your documentation using the HTML `<image>` tag.
55+
1. In your PR, comment the diagram slide (not the screen capture) so it can be reviewed and added to the diagram deck by maintainers.
5356

5457
## Contributing a new docs page
5558

daprdocs/content/en/developing-applications/building-blocks/pubsub/subscription-methods.md

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -37,17 +37,16 @@ metadata:
3737
spec:
3838
topic: orders
3939
routes:
40-
default: /checkout
40+
default: /orders
4141
pubsubname: pubsub
4242
scopes:
4343
- orderprocessing
44-
- checkout
4544
```
4645
4746
Here the subscription called `order`:
4847
- Uses the pub/sub component called `pubsub` to subscribes to the topic called `orders`.
49-
- Sets the `route` field to send all topic messages to the `/checkout` endpoint in the app.
50-
- Sets `scopes` field to scope this subscription for access only by apps with IDs `orderprocessing` and `checkout`.
48+
- Sets the `route` field to send all topic messages to the `/orders` endpoint in the app.
49+
- Sets `scopes` field to scope this subscription for access only by apps with ID `orderprocessing`.
5150

5251
When running Dapr, set the YAML component file path to point Dapr to the component.
5352

@@ -113,7 +112,7 @@ In your application code, subscribe to the topic specified in the Dapr pub/sub c
113112

114113
```csharp
115114
//Subscribe to a topic
116-
[HttpPost("checkout")]
115+
[HttpPost("orders")]
117116
public void getCheckout([FromBody] int orderId)
118117
{
119118
Console.WriteLine("Subscriber received : " + orderId);
@@ -128,7 +127,7 @@ public void getCheckout([FromBody] int orderId)
128127
import io.dapr.client.domain.CloudEvent;
129128
130129
//Subscribe to a topic
131-
@PostMapping(path = "/checkout")
130+
@PostMapping(path = "/orders")
132131
public Mono<Void> getCheckout(@RequestBody(required = false) CloudEvent<String> cloudEvent) {
133132
return Mono.fromRunnable(() -> {
134133
try {
@@ -146,7 +145,7 @@ public Mono<Void> getCheckout(@RequestBody(required = false) CloudEvent<String>
146145
from cloudevents.sdk.event import v1
147146
148147
#Subscribe to a topic
149-
@app.route('/checkout', methods=['POST'])
148+
@app.route('/orders', methods=['POST'])
150149
def checkout(event: v1.Event) -> None:
151150
data = json.loads(event.Data())
152151
logging.info('Subscriber received: ' + str(data))
@@ -163,7 +162,7 @@ const app = express()
163162
app.use(bodyParser.json({ type: 'application/*+json' }));
164163
165164
// listen to the declarative route
166-
app.post('/checkout', (req, res) => {
165+
app.post('/orders', (req, res) => {
167166
console.log(req.body);
168167
res.sendStatus(200);
169168
});
@@ -178,7 +177,7 @@ app.post('/checkout', (req, res) => {
178177
var sub = &common.Subscription{
179178
PubsubName: "pubsub",
180179
Topic: "orders",
181-
Route: "/checkout",
180+
Route: "/orders",
182181
}
183182
184183
func eventHandler(ctx context.Context, e *common.TopicEvent) (retry bool, err error) {
@@ -191,7 +190,7 @@ func eventHandler(ctx context.Context, e *common.TopicEvent) (retry bool, err er
191190

192191
{{< /tabs >}}
193192

194-
The `/checkout` endpoint matches the `route` defined in the subscriptions and this is where Dapr sends all topic messages to.
193+
The `/orders` endpoint matches the `route` defined in the subscriptions and this is where Dapr sends all topic messages to.
195194

196195
### Streaming subscriptions
197196

@@ -365,7 +364,7 @@ In the example below, you define the values found in the [declarative YAML subsc
365364

366365
```csharp
367366
[Topic("pubsub", "orders")]
368-
[HttpPost("/checkout")]
367+
[HttpPost("/orders")]
369368
public async Task<ActionResult<Order>>Checkout(Order order, [FromServices] DaprClient daprClient)
370369
{
371370
// Logic
@@ -377,7 +376,7 @@ or
377376

378377
```csharp
379378
// Dapr subscription in [Topic] routes orders topic to this route
380-
app.MapPost("/checkout", [Topic("pubsub", "orders")] (Order order) => {
379+
app.MapPost("/orders", [Topic("pubsub", "orders")] (Order order) => {
381380
Console.WriteLine("Subscriber received : " + order);
382381
return Results.Ok(order);
383382
});
@@ -399,7 +398,7 @@ app.UseEndpoints(endpoints =>
399398
```java
400399
private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper();
401400
402-
@Topic(name = "checkout", pubsubName = "pubsub")
401+
@Topic(name = "orders", pubsubName = "pubsub")
403402
@PostMapping(path = "/orders")
404403
public Mono<Void> handleMessage(@RequestBody(required = false) CloudEvent<String> cloudEvent) {
405404
return Mono.fromRunnable(() -> {
@@ -410,6 +409,7 @@ public Mono<Void> handleMessage(@RequestBody(required = false) CloudEvent<String
410409
throw new RuntimeException(e);
411410
}
412411
});
412+
}
413413
```
414414

415415
{{% /codetab %}}
@@ -422,7 +422,7 @@ def subscribe():
422422
subscriptions = [
423423
{
424424
'pubsubname': 'pubsub',
425-
'topic': 'checkout',
425+
'topic': 'orders',
426426
'routes': {
427427
'rules': [
428428
{
@@ -458,7 +458,7 @@ app.get('/dapr/subscribe', (req, res) => {
458458
res.json([
459459
{
460460
pubsubname: "pubsub",
461-
topic: "checkout",
461+
topic: "orders",
462462
routes: {
463463
rules: [
464464
{
@@ -520,7 +520,7 @@ func configureSubscribeHandler(w http.ResponseWriter, _ *http.Request) {
520520
t := []subscription{
521521
{
522522
PubsubName: "pubsub",
523-
Topic: "checkout",
523+
Topic: "orders",
524524
Routes: routes{
525525
Rules: []rule{
526526
{

daprdocs/content/en/developing-applications/building-blocks/workflow/workflow-features-concepts.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ Because workflow retry policies are configured in code, the exact developer expe
135135
| --- | --- |
136136
| **Maximum number of attempts** | The maximum number of times to execute the activity or child workflow. |
137137
| **First retry interval** | The amount of time to wait before the first retry. |
138-
| **Backoff coefficient** | The amount of time to wait before each subsequent retry. |
138+
| **Backoff coefficient** | The coefficient used to determine the rate of increase of back-off. For example a coefficient of 2 doubles the wait of each subsequent retry. |
139139
| **Maximum retry interval** | The maximum amount of time to wait before each subsequent retry. |
140140
| **Retry timeout** | The overall timeout for retries, regardless of any configured max number of attempts. |
141141

daprdocs/content/en/getting-started/quickstarts/workflow-quickstart.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@ description: Get started with the Dapr Workflow building block
1010
Dapr Workflow is currently in beta. [See known limitations for {{% dapr-latest-version cli="true" %}}]({{< ref "workflow-overview.md#limitations" >}}).
1111
{{% /alert %}}
1212

13+
{{% alert title="Note" color="primary" %}}
14+
Redis is currently used as the state store component for Workflows in the Quickstarts. However, Redis does not support transaction rollbacks and should not be used in production as an actor state store.
15+
{{% /alert %}}
16+
1317
Let's take a look at the Dapr [Workflow building block]({{< ref workflow-overview.md >}}). In this Quickstart, you'll create a simple console application to demonstrate Dapr's workflow programming model and the workflow management APIs.
1418

1519
In this guide, you'll:
@@ -1356,4 +1360,4 @@ Join the discussion in our [discord channel](https://discord.com/channels/778680
13561360
- Walk through a more in-depth [.NET SDK example workflow](https://github.com/dapr/dotnet-sdk/tree/master/examples/Workflow)
13571361
- Learn more about [Workflow as a Dapr building block]({{< ref workflow-overview >}})
13581362
1359-
{{< button text="Explore Dapr tutorials >>" page="getting-started/tutorials/_index.md" >}}
1363+
{{< button text="Explore Dapr tutorials >>" page="getting-started/tutorials/_index.md" >}}

daprdocs/content/en/operations/hosting/kubernetes/cluster/setup-eks.md

Lines changed: 71 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ This guide walks you through installing an Elastic Kubernetes Service (EKS) clus
1616
- [AWS CLI](https://aws.amazon.com/cli/)
1717
- [eksctl](https://eksctl.io/)
1818
- [An existing VPC and subnets](https://docs.aws.amazon.com/eks/latest/userguide/network_reqs.html)
19+
- [Dapr CLI](https://docs.dapr.io/getting-started/install-dapr-cli/)
1920

2021
## Deploy an EKS cluster
2122

@@ -25,20 +26,57 @@ This guide walks you through installing an Elastic Kubernetes Service (EKS) clus
2526
aws configure
2627
```
2728

28-
1. Create an EKS cluster. To use a specific version of Kubernetes, use `--version` (1.13.x or newer version required).
29+
1. Create a new file called `cluster-config.yaml` and add the content below to it, replacing `[your_cluster_name]`, `[your_cluster_region]`, and `[your_k8s_version]` with the appropriate values:
30+
31+
```yaml
32+
apiVersion: eksctl.io/v1alpha5
33+
kind: ClusterConfig
34+
35+
metadata:
36+
name: [your_cluster_name]
37+
region: [your_cluster_region]
38+
version: [your_k8s_version]
39+
tags:
40+
karpenter.sh/discovery: [your_cluster_name]
41+
42+
iam:
43+
withOIDC: true
44+
45+
managedNodeGroups:
46+
- name: mng-od-4vcpu-8gb
47+
desiredCapacity: 2
48+
minSize: 1
49+
maxSize: 5
50+
instanceType: c5.xlarge
51+
privateNetworking: true
52+
53+
addons:
54+
- name: vpc-cni
55+
attachPolicyARNs:
56+
- arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy
57+
- name: coredns
58+
version: latest
59+
- name: kube-proxy
60+
version: latest
61+
- name: aws-ebs-csi-driver
62+
wellKnownPolicies:
63+
ebsCSIController: true
64+
```
65+
66+
1. Create the cluster by running the following command:
2967
3068
```bash
31-
eksctl create cluster --name [your_eks_cluster_name] --region [your_aws_region] --version [kubernetes_version] --vpc-private-subnets [subnet_list_seprated_by_comma] --without-nodegroup
69+
eksctl create cluster -f cluster.yaml
3270
```
33-
34-
Change the values for `vpc-private-subnets` to meet your requirements. You can also add additional IDs. You must specify at least two subnet IDs. If you'd rather specify public subnets, you can change `--vpc-private-subnets` to `--vpc-public-subnets`.
35-
36-
1. Verify kubectl context:
71+
72+
1. Verify the kubectl context:
3773

3874
```bash
3975
kubectl config current-context
4076
```
4177

78+
## Add Dapr requirements for sidecar access and default storage class:
79+
4280
1. Update the security group rule to allow the EKS cluster to communicate with the Dapr Sidecar by creating an inbound rule for port 4000.
4381

4482
```bash
@@ -49,11 +87,37 @@ This guide walks you through installing an Elastic Kubernetes Service (EKS) clus
4987
--source-group [your_security_group]
5088
```
5189

90+
2. Add a default storage class if you don't have one:
91+
92+
```bash
93+
kubectl patch storageclass gp2 -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'
94+
```
95+
96+
## Install Dapr
97+
98+
Install Dapr on your cluster by running:
99+
100+
```bash
101+
dapr init -k
102+
```
103+
104+
You should see the following response:
105+
106+
```bash
107+
⌛ Making the jump to hyperspace...
108+
ℹ️ Note: To install Dapr using Helm, see here: https://docs.dapr.io/getting-started/install-dapr-kubernetes/#install-with-helm-advanced
109+
110+
ℹ️ Container images will be pulled from Docker Hub
111+
✅ Deploying the Dapr control plane with latest version to your cluster...
112+
✅ Deploying the Dapr dashboard with latest version to your cluster...
113+
✅ Success! Dapr has been installed to namespace dapr-system. To verify, run `dapr status -k' in your terminal. To get started, go here: https://docs.dapr.io/getting-started
114+
```
115+
52116
## Troubleshooting
53117
54118
### Access permissions
55119
56-
If you face any access permissions, make sure you are using the same AWS profile that was used to create the cluster. If needed, update the kubectl configuration with the correct profile:
120+
If you face any access permissions, make sure you are using the same AWS profile that was used to create the cluster. If needed, update the kubectl configuration with the correct profile. More information [here](https://repost.aws/knowledge-center/eks-api-server-unauthorized-error):
57121
58122
```bash
59123
aws eks --region [your_aws_region] update-kubeconfig --name [your_eks_cluster_name] --profile [your_profile_name]

daprdocs/content/en/reference/arguments-annotations-overview.md

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,17 @@ This table is meant to help users understand the equivalent options for running
1616
| `--app-id` | `--app-id` | `-i` | `dapr.io/app-id` | The unique ID of the application. Used for service discovery, state encapsulation and the pub/sub consumer ID |
1717
| `--app-port` | `--app-port` | `-p` | `dapr.io/app-port` | This parameter tells Dapr which port your application is listening on |
1818
| `--components-path` | `--components-path` | `-d` | not supported | **Deprecated** in favor of `--resources-path` |
19-
| `--resources-path` | `--resources-path` | `-d` | not supported | Path for components directory. If empty, components will not be loaded. |
19+
| `--resources-path` | `--resources-path` | `-d` | not supported | Path for components directory. If empty, components will not be loaded |
2020
| `--config` | `--config` | `-c` | `dapr.io/config` | Tells Dapr which Configuration resource to use |
2121
| `--control-plane-address` | not supported | | not supported | Address for a Dapr control plane |
22-
| `--dapr-grpc-port` | `--dapr-grpc-port` | | not supported | gRPC port for the Dapr API to listen on (default "50001") |
23-
| `--dapr-http-port` | `--dapr-http-port` | | not supported | The HTTP port for the Dapr API |
24-
| `--dapr-http-max-request-size` | --dapr-http-max-request-size | | `dapr.io/http-max-request-size` | Increasing max size of request body http and grpc servers parameter in MB to handle uploading of big files. Default is `4` MB |
25-
| `--dapr-http-read-buffer-size` | --dapr-http-read-buffer-size | | `dapr.io/http-read-buffer-size` | Increasing max size of http header read buffer in KB to handle when sending multi-KB headers. The default 4 KB. When sending bigger than default 4KB http headers, you should set this to a larger value, for example 16 (for 16KB) |
22+
| `--dapr-grpc-port` | `--dapr-grpc-port` | | `dapr.io/grpc-port` | Sets the Dapr API gRPC port (default `50001`); all cluster services must use the same port for communication |
23+
| `--dapr-http-port` | `--dapr-http-port` | | not supported | HTTP port for the Dapr API to listen on (default `3500`) |
24+
| `--dapr-http-max-request-size` | `--dapr-http-max-request-size` | | `dapr.io/http-max-request-size` | **Deprecated** in favor of `--max-body-size`. Inreasing the request max body size to handle large file uploads using http and grpc protocols. Default is `4` MB |
25+
| `--max-body-size` | not supported | | `dapr.io/max-body-size` | Inreasing the request max body size to handle large file uploads using http and grpc protocols. Set the value using size units (e.g., `16Mi` for 16MB). The default is `4Mi` |
26+
| `--dapr-http-read-buffer-size` | `--dapr-http-read-buffer-size` | | `dapr.io/http-read-buffer-size` | **Deprecated** in favor of `--read-buffer-size`. Increasing max size of http header read buffer in KB to to support larger header values, for example `16` to support headers up to 16KB . Default is `16` for 16KB |
27+
| `--read-buffer-size` | not supported | | `dapr.io/read-buffer-size` | Increasing max size of http header read buffer in KB to to support larger header values. Set the value using size units, for example `32Ki` will support headers up to 32KB . Default is `4` for 4KB |
2628
| not supported | `--image` | | `dapr.io/sidecar-image` | Dapr sidecar image. Default is daprio/daprd:latest. The Dapr sidecar uses this image instead of the latest default image. Use this when building your own custom image of Dapr and or [using an alternative stable Dapr image]({{< ref "support-release-policy.md#build-variations" >}}) |
27-
| `--internal-grpc-port` | not supported | | not supported | gRPC port for the Dapr Internal API to listen on |
29+
| `--internal-grpc-port` | not supported | | `dapr.io/internal-grpc-port` | Sets the internal Dapr gRPC port (default `50002`); all cluster services must use the same port for communication |
2830
| `--enable-metrics` | not supported | | configuration spec | Enable [prometheus metric]({{< ref prometheus >}}) (default true) |
2931
| `--enable-mtls` | not supported | | configuration spec | Enables automatic mTLS for daprd to daprd communication channels |
3032
| `--enable-profiling` | `--enable-profiling` | | `dapr.io/enable-profiling` | [Enable profiling]({{< ref profiling-debugging >}}) |

daprdocs/content/en/reference/components-reference/supported-bindings/blobstorage.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,10 @@ This component supports **output binding** with the following operations:
6363
- `delete` : [Delete blob](#delete-blob)
6464
- `list`: [List blobs](#list-blobs)
6565

66+
The Blob storage component's **input binding** triggers and pushes events using [Azure Event Grid]({{< ref eventgrid.md >}}).
67+
68+
Refer to the [Reacting to Blob storage events](https://learn.microsoft.com/azure/storage/blobs/storage-blob-event-overview) guide for more set up and more information.
69+
6670
### Create blob
6771

6872
To perform a create blob operation, invoke the Azure Blob Storage binding with a `POST` method and the following JSON body:

0 commit comments

Comments
 (0)