Skip to content

Commit

Permalink
Merge branch 'v1.13' into issue_2431
Browse files Browse the repository at this point in the history
  • Loading branch information
hhunter-ms authored May 8, 2024
2 parents 10a15d0 + 9ba08df commit e5e0e58
Show file tree
Hide file tree
Showing 90 changed files with 3,381 additions and 386 deletions.
6 changes: 3 additions & 3 deletions .github/holopin.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
organization: dapr
defaultSticker: clmjkxscc122740fl0mkmb7egi
defaultSticker: clrqf84g1199090gldi6kf00gc
stickers:
-
id: clmjkxscc122740fl0mkmb7egi
alias: ghc2023
id: clrqf84g1199090gldi6kf00gc
alias: docs-badge
5 changes: 3 additions & 2 deletions .github/workflows/website-root.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@ on:
workflow_dispatch:
push:
branches:
- v1.12
- v1.13
pull_request:
types: [opened, synchronize, reopened, closed]
branches:
- v1.12
- v1.13

concurrency:
# Cancel the previously triggered build for only PR build.
Expand Down Expand Up @@ -107,3 +107,4 @@ jobs:
pip install --upgrade 'algoliasearch>=2.0,<3.0'
- name: Index site
run: python ./.github/scripts/algolia.py ./site

Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
name: Azure Static Web App v1.12
name: Azure Static Web App v1.13

on:
push:
branches:
- v1.12
- v1.13
pull_request:
types: [opened, synchronize, reopened, closed]
branches:
- v1.12
- v1.13

jobs:
build_and_deploy_job:
Expand All @@ -28,7 +28,7 @@ jobs:
HUGO_ENV: production
HUGO_VERSION: "0.100.2"
with:
azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_V1_12 }}
azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_V1_13 }}
repo_token: ${{ secrets.GITHUB_TOKEN }} # Used for Github integrations (i.e. PR comments)
skip_deploy_on_missing_secrets: true
action: "upload"
Expand All @@ -49,6 +49,6 @@ jobs:
id: closepullrequest
uses: Azure/static-web-apps-deploy@v1
with:
azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_V1_12 }}
azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_V1_13 }}
skip_deploy_on_missing_secrets: true
action: "close"
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ The following branches are currently maintained:

| Branch | Website | Description |
| ------------------------------------------------------------ | -------------------------- | ------------------------------------------------------------------------------------------------ |
| [v1.12](https://github.com/dapr/docs) (primary) | https://docs.dapr.io | Latest Dapr release documentation. Typo fixes, clarifications, and most documentation goes here. |
| [v1.13](https://github.com/dapr/docs/tree/v1.13) (pre-release) | https://v1-13.docs.dapr.io/ | Pre-release documentation. Doc updates that are only applicable to v1.13+ go here. |
| [v1.13](https://github.com/dapr/docs) (primary) | https://docs.dapr.io | Latest Dapr release documentation. Typo fixes, clarifications, and most documentation goes here. |
| [v1.14](https://github.com/dapr/docs/tree/v1.14) (pre-release) | https://v1-14.docs.dapr.io/ | Pre-release documentation. Doc updates that are only applicable to v1.14+ go here. |

For more information visit the [Dapr branch structure](https://docs.dapr.io/contributing/docs-contrib/contributing-docs/#branch-guidance) document.

Expand Down
41 changes: 26 additions & 15 deletions daprdocs/config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -105,37 +105,45 @@ id = "G-60C6Q1ETC1"
lang = "en"

[[module.mounts]]
source = "../translations/docs-zh/content/zh-hans"
source = "../translations/docs-zh/translated_content/zh_CN/docs"
target = "content"
lang = "zh-hans"
[[module.mounts]]
source = "../translations/docs-zh/content/contributing"
target = "content/contributing/docs-contrib/docs-templates"
source = "../translations/docs-zh/translated_content/zh_CN/contributing"
target = "content/contributing/sdk-contrib/"
lang = "zh-hans"
[[module.mounts]]
source = "../translations/docs-zh/content/sdks_python"
source = "../translations/docs-zh/translated_content/zh_CN/sdks_python"
target = "content/developing-applications/sdks/python"
lang = "zh-hans"
[[module.mounts]]
source = "../translations/docs-zh/content/sdks_php"
source = "../translations/docs-zh/translated_content/zh_CN/sdks_php"
target = "content/developing-applications/sdks/php"
lang = "zh-hans"
[[module.mounts]]
source = "../translations/docs-zh/content/sdks_dotnet"
source = "../translations/docs-zh/translated_content/zh_CN/sdks_dotnet"
target = "content/developing-applications/sdks/dotnet"
lang = "zh-hans"
[[module.mounts]]
source = "../translations/docs-zh/content/sdks_java"
source = "../translations/docs-zh/translated_content/zh_CN/sdks_java"
target = "content/developing-applications/sdks/java"
lang = "zh-hans"
[[module.mounts]]
source = "../translations/docs-zh/content/sdks_go"
source = "../translations/docs-zh/translated_content/zh_CN/sdks_go"
target = "content/developing-applications/sdks/go"
lang = "zh-hans"
[[module.mounts]]
source = "../translations/docs-zh/content/sdks_js"
source = "../translations/docs-zh/translated_content/zh_CN/sdks_js"
target = "content/developing-applications/sdks/js"
lang = "zh-hans"
[[module.mounts]]
source = "../translations/docs-zh/translated_content/zh_CN/pluggable-components/dotnet"
target = "content/developing-applications/develop-components/pluggable-components/pluggable-components-sdks/pluggable-components-dotnet"
lang = "zh-hans"
[[module.mounts]]
source = "../translations/docs-zh/translated_content/zh_CN/pluggable-components/go"
target = "content/developing-applications/develop-components/pluggable-components/pluggable-components-sdks/pluggable-components-go"
lang = "zh-hans"

# Markdown Engine - Allow inline html
[markup]
Expand Down Expand Up @@ -180,20 +188,23 @@ offlineSearch = false
github_repo = "https://github.com/dapr/docs"
github_project_repo = "https://github.com/dapr/dapr"
github_subdir = "daprdocs"
github_branch = "v1.12"
github_branch = "v1.13"

# Versioning
version_menu = "v1.12 (latest)"
version = "v1.12"
version_menu = "v1.13 (latest)"
version = "v1.13"
archived_version = false
url_latest_version = "https://docs.dapr.io"

[[params.versions]]
version = "v1.13 (preview)"
url = "https://v1-13.docs.dapr.io"
version = "v1.14 (preview)"
url = "https://v1-14.docs.dapr.io"
[[params.versions]]
version = "v1.12 (latest)"
version = "v1.13 (latest)"
url = "#"
[[params.versions]]
version = "v1.12"
url = "https://v1-12.docs.dapr.io"
[[params.versions]]
version = "v1.11"
url = "https://v1-11.docs.dapr.io"
Expand Down
8 changes: 8 additions & 0 deletions daprdocs/content/en/concepts/components-concept.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,14 @@ For example:

For more information read [Pluggable components overview]({{< ref "pluggable-components-overview" >}})

## Hot Reloading

With the [`HotReload` feature enabled]({{< ref "support-preview-features.md" >}}), components are able to be "hot reloaded" at runtime.
This means that you can update component configuration without restarting the Dapr runtime.
Component reloading occurs when a component resource is created, updated, or deleted, either in the Kubernetes API or in self-hosted mode when a file is changed in the `resources` directory.
When a component is updated, the component is first closed, and then reinitialized using the new configuration.
The component is unavailable for a short period of time during reload and reinitialization.

## Available component types

The following are the component types provided by Dapr:
Expand Down
18 changes: 16 additions & 2 deletions daprdocs/content/en/contributing/contributing-overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,25 @@ description: >
---

Thank you for your interest in Dapr!
This document provides the guidelines for how to contribute to the [Dapr project](https://github.com/dapr) through issues and pull-requests. Contributions can also come in additional ways such as engaging with the community in community calls, commenting on issues or pull requests and more.
This document provides the guidelines for how to contribute to the [Dapr project](https://github.com/dapr) through issues and pull requests. Contributions can also come in additional ways such as engaging with the community in community calls, commenting on issues or pull requests, and more.

See the [Dapr community repository](https://github.com/dapr/community) for more information on community engagement and community membership.

> If you are looking to contribute to the Dapr docs, please also see the specific guidelines for [docs contributions]({{< ref contributing-docs >}}).
## Dapr Repository Index

Below is a list of repositories under the Dapr organization where you can contribute:

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 >}}).

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.

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.

4. **Components-contrib**: This [repository](https://github.com/dapr/components-contrib) hosts a collection of community-contributed components for Dapr. You can contribute by adding new components, improving existing ones, or reviewing and testing contributions from the community.

5. **SDKs**: Dapr SDKs provide libraries for various programming languages to interact with Dapr. You can contribute by improving SDK functionalities, fixing bugs, or adding support for new features. Please see the [contribution guidelines]({{< ref sdk-contrib >}}) for specific SDKs.

6. **CLI**: Dapr cli sets up Dapr on a local dev machine or a Kubernetes cluster for launching and managing Dapr instances. Contributions to the CLI repository include adding new features, fixing bugs, improving usability, and ensuring compatibility with the latest Dapr releases. Please see the [Development Guide](https://github.com/dapr/cli/blob/master/docs/development/development.md) for help in getting started with developing the Dapr cli.

## Issues

Expand Down
7 changes: 7 additions & 0 deletions daprdocs/content/en/contributing/presentations.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,13 @@ We welcome community members giving presentations on Dapr and spreading the word

{{< button text="Download the Dapr Presentation Deck" link="/presentations/dapr-slidedeck.pptx.zip" >}}

{{% alert color="primary" %}}
If you're using the PowerPoint template with MacOS, please install the Space Grotesk font to ensure the text is rendered properly:
```sh
brew install --cask homebrew/cask-fonts/font-space-grotesk
```
{{% /alert %}}

## Giving a Dapr presentation

- Begin by downloading the [Dapr Presentation Deck](/presentations/dapr-slidedeck.pptx.zip). This contains slides and diagrams needed to give a Dapr presentation.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -146,11 +146,41 @@ If an invocation of the method fails, the timer is not removed. Timers are only
- The executions run out
- You delete it explicitly

## Reminder data serialization format

Actor reminder data is serialized to JSON by default. Dapr v1.13 onwards supports a protobuf serialization format for reminders data which, depending on throughput and size of the payload, can result in significant performance improvements, giving developers a higher throughput and lower latency. Another benefit is storing smaller data in the actor underlying database, which can result in cost optimizations when using some cloud databases. A restriction with using protobuf serialization is that the reminder data can no longer be queried.

{{% alert title="Note" color="primary" %}}
Protobuf serialization will become the default format in Dapr 1.14
{{% /alert %}}

Reminder data saved in protobuf format cannot be read in Dapr 1.12.x and earlier versions. Its recommended to test this feature in Dapr v1.13 and verify that it works as expected with your database before taking this into production.

{{% alert title="Note" color="primary" %}}
If you use protobuf serialization in Dapr v1.13 and need to downgrade to an earlier Dapr version, the reminder data will be incompatible with versions 1.12.x and earlier versions. **Once you save your reminders data in protobuf format, you cannot move it back to JSON format**.
{{% /alert %}}

### Enabling protobuf serialization on Kubernetes

To use protobuf serialization for actor reminders on Kubernetes, use the following Helm value:

```
--set dapr_placement.maxActorApiLevel=20
```

### Enabling protobuf serialization on self-hosted

To use protobuf serialization for actor reminders on self-hosted, use the following `daprd` flag:

```
--max-api-level=20
```

## Next steps

{{< button text="Configure actor runtime behavior >>" page="actors-runtime-config.md" >}}

## Related links

- [Actors API reference]({{< ref actors_api.md >}})
- [Actors overview]({{< ref actors-overview.md >}})
- [Actors overview]({{< ref actors-overview.md >}})
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ Applications can also use the secrets API to access secrets from a Kubernetes se
- The Helm defaults, or
- `dapr init -k`

If you are using another secret store, you can disable (not configure) the Dapr Kubernetes secret store by setting `disable-builtin-k8s-secret-store` to `true` through the Helm settings. The default is `false`.
If you are using another secret store, you can disable (not configure) the Dapr Kubernetes secret store by adding the annotation `dapr.io/disable-builtin-k8s-secret-store: "true"` to the deployment.yaml file. The default is `false`.

In the example below, the application retrieves the same secret "mysecret" from a Kubernetes secret store.

Expand Down Expand Up @@ -86,4 +86,4 @@ Want to skip the quickstarts? Not a problem. You can try out the secret manageme
## Next steps

- Learn [how to use secret scoping]({{< ref secrets-scopes.md >}}).
- Read the [secrets API reference doc]({{< ref secrets_api.md >}}).
- Read the [secrets API reference doc]({{< ref secrets_api.md >}}).
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ title: "How To: Use secret scoping"
linkTitle: "How To: Use secret scoping"
weight: 3000
description: "Use scoping to limit the secrets that can be read by your application from secret stores"
type: docs
---

Once you [configure a secret store for your application]({{< ref setup-secret-store >}}), *any* secret defined within that store is accessible by default from the Dapr application.
Expand Down Expand Up @@ -107,4 +106,4 @@ Scenarios | defaultAccess | allowedSecrets | deniedSecrets | permission
## Related links

- List of [secret stores]({{< ref supported-secret-stores.md >}})
- Overview of [secret stores]({{< ref setup-secret-store.md >}})
- Overview of [secret stores]({{< ref setup-secret-store.md >}})
Original file line number Diff line number Diff line change
Expand Up @@ -90,9 +90,13 @@ The diagram below shows an example of how this works. If you have 1 instance of

**Note**: App ID is unique per _application_, not application instance. Regardless how many instances of that application exist (due to scaling), all of them will share the same app ID.

### Pluggable service discovery
### Swappable service discovery

Dapr can run on a variety of [hosting platforms]({{< ref hosting >}}). To enable service discovery and service invocation, Dapr uses pluggable [name resolution components]({{< ref supported-name-resolution >}}). For example, the Kubernetes name resolution component uses the Kubernetes DNS service to resolve the location of other applications running in the cluster. Self-hosted machines can use the mDNS name resolution component. The Consul name resolution component can be used in any hosting environment, including Kubernetes or self-hosted.
Dapr can run on a variety of [hosting platforms]({{< ref hosting >}}). To enable swappable service discovery with service invocation, Dapr uses [name resolution components]({{< ref supported-name-resolution >}}). For example, the Kubernetes name resolution component uses the Kubernetes DNS service to resolve the location of other applications running in the cluster.

Self-hosted machines can use the mDNS name resolution component. As an alternative, you can use the SQLite name resolution component to run Dapr on single-node environments and for local development scenarios. Dapr sidecars that are part of the cluster store their information in a SQLite database on the local machine.

The Consul name resolution component is particularly suited to multi-machine deployments and can be used in any hosting environment, including Kubernetes, multiple VMs, or self-hosted.

### Streaming for HTTP service invocation

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -566,6 +566,33 @@ To launch a Dapr sidecar for the above example application, run a command simila
dapr run --app-id orderprocessing --app-port 6001 --dapr-http-port 3601 --dapr-grpc-port 60001 dotnet run
```

The above example returns a `BulkStateItem` with the serialized format of the value you saved to state. If you prefer that the value be deserialized by the SDK across each of your bulk response items, you can instead use the following:

```csharp
//dependencies
using Dapr.Client;
//code
namespace EventService
{
class Program
{
static async Task Main(string[] args)
{
string DAPR_STORE_NAME = "statestore";
//Using Dapr SDK to retrieve multiple states
using var client = new DaprClientBuilder().Build();
IReadOnlyList<BulkStateItem<Widget>> mulitpleStateResult = await client.GetBulkStateAsync<Widget>(DAPR_STORE_NAME, new List<string> { "widget_1", "widget_2" }, parallelism: 1);
}
}
class Widget
{
string Size { get; set; }
string Color { get; set; }
}
}
```

{{% /codetab %}}

{{% codetab %}}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,10 @@ The diagram below is an overview of how the outbox feature works:

The outbox feature can be used with using any [transactional state store]({{< ref supported-state-stores >}}) supported by Dapr. All [pub/sub brokers]({{< ref supported-pubsub >}}) are supported with the outbox feature.

[Learn more about the transactional methods you can use.]({{< ref "howto-get-save-state.md#perform-state-transactions" >}})

{{% alert title="Note" color="primary" %}}
Message brokers that work with the competing consumer pattern (for example, [Apache Kafka]({{< ref setup-apache-kafka>}}) are encouraged to reduce the chances of duplicate events.
Message brokers that work with the competing consumer pattern (for example, [Apache Kafka]({{< ref setup-apache-kafka>}})) are encouraged to reduce the chances of duplicate events.
{{% /alert %}}

## Usage
Expand Down
Loading

0 comments on commit e5e0e58

Please sign in to comment.