From e5bb04652d6830e519f679e57b829aad074e3041 Mon Sep 17 00:00:00 2001 From: abhi314e <117723923+abhi314e@users.noreply.github.com> Date: Sun, 30 Apr 2023 22:13:34 +0530 Subject: [PATCH 01/35] Update state-store-ttl.md Signed-off-by: abhi314e <117723923+abhi314e@users.noreply.github.com> --- .../building-blocks/state-management/state-store-ttl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/daprdocs/content/en/developing-applications/building-blocks/state-management/state-store-ttl.md b/daprdocs/content/en/developing-applications/building-blocks/state-management/state-store-ttl.md index 49e00d79f..4717a1889 100644 --- a/daprdocs/content/en/developing-applications/building-blocks/state-management/state-store-ttl.md +++ b/daprdocs/content/en/developing-applications/building-blocks/state-management/state-store-ttl.md @@ -28,7 +28,7 @@ Refer to the TTL column in the [state store components guide]({{< ref supported- You can set state TTL in the metadata as part of the state store set request: -{{< tabs ".NET" Python Go "HTTP API (Bash)" "HTTP API (PowerShell)">}} +{{< tabs Python ".NET" Go "HTTP API (Bash)" "HTTP API (PowerShell)">}} {{% codetab %}} From 03536c1496d17889ae601eb9bcd63359777e2d70 Mon Sep 17 00:00:00 2001 From: Adrian Cole Date: Sun, 30 Apr 2023 14:30:26 +0800 Subject: [PATCH 02/35] wasm middleware: change path property to url This changes the configuration item for the Wasm binary from path to url. In doing so, we ease migration from other sources including HTTP and OCI. Signed-off-by: Adrian Cole --- .../supported-middleware/middleware-wasm.md | 21 ++++++++++--------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/daprdocs/content/en/reference/components-reference/supported-middleware/middleware-wasm.md b/daprdocs/content/en/reference/components-reference/supported-middleware/middleware-wasm.md index 8d19d0b19..21700afad 100644 --- a/daprdocs/content/en/reference/components-reference/supported-middleware/middleware-wasm.md +++ b/daprdocs/content/en/reference/components-reference/supported-middleware/middleware-wasm.md @@ -17,9 +17,10 @@ binary. In other words, you can extend Dapr using external files that are not pre-compiled into the `daprd` binary. Dapr embeds [wazero](https://wazero.io) to accomplish this without CGO. -Wasm modules are loaded from a filesystem path. On Kubernetes, see [mounting -volumes to the Dapr sidecar]({{< ref kubernetes-volume-mounts.md >}}) to configure -a filesystem mount that can contain Wasm modules. +Wasm modules are loaded from a URL. For example, a URL "file://rewrite.wasm" +loads "rewrite.wasm" from the current directory of the process. On Kubernetes, +see [mounting volumes to the Dapr sidecar]({{< ref kubernetes-volume-mounts.md >}}) +to configure a filesystem mount that can contain Wasm modules. ## Component format @@ -32,8 +33,8 @@ spec: type: middleware.http.wasm version: v1 metadata: - - name: path - value: "./router.wasm" + - name: url + value: "file://router.wasm" ``` ## Spec metadata fields @@ -41,9 +42,9 @@ spec: Minimally, a user must specify a Wasm binary implements the [http-handler](https://http-wasm.io/http-handler/). How to compile this is described later. -| Field | Details | Required | Example | -|----------|----------------------------------------------------------------|----------|----------------| -| path | A relative or absolute path to the Wasm binary to instantiate. | true | "./hello.wasm" | +| Field | Details | Required | Example | +|-------|----------------------------------------------------------------|----------|----------------| +| url | The URL of the resource including the Wasm binary to instantiate. The supported schemes include "file://". The path of a "file://" URL is relative to the Dapr process unless it begins with '/'. | true | "file://hello.wasm" | ## Dapr configuration @@ -109,7 +110,7 @@ func handleRequest(req api.Request, resp api.Response) (next bool, reqCtx uint32 ``` If using TinyGo, compile as shown below and set the spec metadata field named -"path" to the location of the output (ex "router.wasm"): +"url" to the location of the output (ex "file://router.wasm"): ```bash tinygo build -o router.wasm -scheduler=none --no-debug -target=wasi router.go` @@ -145,7 +146,7 @@ func rewrite(requestURI []byte) ([]byte, error) { ``` If using TinyGo, compile as shown below and set the spec metadata field named -"path" to the location of the output (ex "example.wasm"): +"url" to the location of the output (ex "file://example.wasm"): ```bash tinygo build -o example.wasm -scheduler=none --no-debug -target=wasi example.go From cb0aee701f4885da1ada7333edf2bcddf5a71ea5 Mon Sep 17 00:00:00 2001 From: Crypt Keeper <64215+codefromthecrypt@users.noreply.github.com> Date: Thu, 4 May 2023 07:20:56 +0800 Subject: [PATCH 03/35] Update daprdocs/content/en/reference/components-reference/supported-middleware/middleware-wasm.md Co-authored-by: Hannah Hunter <94493363+hhunter-ms@users.noreply.github.com> Signed-off-by: Crypt Keeper <64215+codefromthecrypt@users.noreply.github.com> --- .../supported-middleware/middleware-wasm.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/daprdocs/content/en/reference/components-reference/supported-middleware/middleware-wasm.md b/daprdocs/content/en/reference/components-reference/supported-middleware/middleware-wasm.md index 21700afad..be8b8ef4d 100644 --- a/daprdocs/content/en/reference/components-reference/supported-middleware/middleware-wasm.md +++ b/daprdocs/content/en/reference/components-reference/supported-middleware/middleware-wasm.md @@ -17,7 +17,7 @@ binary. In other words, you can extend Dapr using external files that are not pre-compiled into the `daprd` binary. Dapr embeds [wazero](https://wazero.io) to accomplish this without CGO. -Wasm modules are loaded from a URL. For example, a URL "file://rewrite.wasm" +Wasm binaries are loaded from a URL. For example, the URL `file://rewrite.wasm` loads "rewrite.wasm" from the current directory of the process. On Kubernetes, see [mounting volumes to the Dapr sidecar]({{< ref kubernetes-volume-mounts.md >}}) to configure a filesystem mount that can contain Wasm modules. From a4eea17e801487df68ae9cf8dd0ba83621bc5d2a Mon Sep 17 00:00:00 2001 From: Crypt Keeper <64215+codefromthecrypt@users.noreply.github.com> Date: Thu, 4 May 2023 07:21:02 +0800 Subject: [PATCH 04/35] Update daprdocs/content/en/reference/components-reference/supported-middleware/middleware-wasm.md Co-authored-by: Hannah Hunter <94493363+hhunter-ms@users.noreply.github.com> Signed-off-by: Crypt Keeper <64215+codefromthecrypt@users.noreply.github.com> --- .../supported-middleware/middleware-wasm.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/daprdocs/content/en/reference/components-reference/supported-middleware/middleware-wasm.md b/daprdocs/content/en/reference/components-reference/supported-middleware/middleware-wasm.md index be8b8ef4d..acb02d795 100644 --- a/daprdocs/content/en/reference/components-reference/supported-middleware/middleware-wasm.md +++ b/daprdocs/content/en/reference/components-reference/supported-middleware/middleware-wasm.md @@ -18,7 +18,7 @@ pre-compiled into the `daprd` binary. Dapr embeds [wazero](https://wazero.io) to accomplish this without CGO. Wasm binaries are loaded from a URL. For example, the URL `file://rewrite.wasm` -loads "rewrite.wasm" from the current directory of the process. On Kubernetes, +loads `rewrite.wasm` from the current directory of the process. On Kubernetes, see [mounting volumes to the Dapr sidecar]({{< ref kubernetes-volume-mounts.md >}}) to configure a filesystem mount that can contain Wasm modules. From 7faaafdf1bd480c0571308530babf9c0fcbc50d7 Mon Sep 17 00:00:00 2001 From: Crypt Keeper <64215+codefromthecrypt@users.noreply.github.com> Date: Thu, 4 May 2023 07:21:08 +0800 Subject: [PATCH 05/35] Update daprdocs/content/en/reference/components-reference/supported-middleware/middleware-wasm.md Co-authored-by: Hannah Hunter <94493363+hhunter-ms@users.noreply.github.com> Signed-off-by: Crypt Keeper <64215+codefromthecrypt@users.noreply.github.com> --- .../supported-middleware/middleware-wasm.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/daprdocs/content/en/reference/components-reference/supported-middleware/middleware-wasm.md b/daprdocs/content/en/reference/components-reference/supported-middleware/middleware-wasm.md index acb02d795..82dd2ec78 100644 --- a/daprdocs/content/en/reference/components-reference/supported-middleware/middleware-wasm.md +++ b/daprdocs/content/en/reference/components-reference/supported-middleware/middleware-wasm.md @@ -19,7 +19,7 @@ to accomplish this without CGO. Wasm binaries are loaded from a URL. For example, the URL `file://rewrite.wasm` loads `rewrite.wasm` from the current directory of the process. On Kubernetes, -see [mounting volumes to the Dapr sidecar]({{< ref kubernetes-volume-mounts.md >}}) +see [How to: Mount Pod volumes to the Dapr sidecar]({{< ref kubernetes-volume-mounts.md >}}) to configure a filesystem mount that can contain Wasm modules. ## Component format From 2093b78bfbc3ada9eef2c9e496c7e92b90e2e4e4 Mon Sep 17 00:00:00 2001 From: Crypt Keeper <64215+codefromthecrypt@users.noreply.github.com> Date: Thu, 4 May 2023 07:21:15 +0800 Subject: [PATCH 06/35] Update daprdocs/content/en/reference/components-reference/supported-middleware/middleware-wasm.md Co-authored-by: Hannah Hunter <94493363+hhunter-ms@users.noreply.github.com> Signed-off-by: Crypt Keeper <64215+codefromthecrypt@users.noreply.github.com> --- .../supported-middleware/middleware-wasm.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/daprdocs/content/en/reference/components-reference/supported-middleware/middleware-wasm.md b/daprdocs/content/en/reference/components-reference/supported-middleware/middleware-wasm.md index 82dd2ec78..b1ed0637d 100644 --- a/daprdocs/content/en/reference/components-reference/supported-middleware/middleware-wasm.md +++ b/daprdocs/content/en/reference/components-reference/supported-middleware/middleware-wasm.md @@ -44,7 +44,7 @@ How to compile this is described later. | Field | Details | Required | Example | |-------|----------------------------------------------------------------|----------|----------------| -| url | The URL of the resource including the Wasm binary to instantiate. The supported schemes include "file://". The path of a "file://" URL is relative to the Dapr process unless it begins with '/'. | true | "file://hello.wasm" | +| url | The URL of the resource including the Wasm binary to instantiate. The supported schemes include `file://`. The path of a `file://` URL is relative to the Dapr process unless it begins with `/`. | true | `file://hello.wasm` | ## Dapr configuration From 3c54f5cc96c0409d1e7d7adfd738b7a8d54c02d3 Mon Sep 17 00:00:00 2001 From: Crypt Keeper <64215+codefromthecrypt@users.noreply.github.com> Date: Thu, 4 May 2023 07:21:22 +0800 Subject: [PATCH 07/35] Update daprdocs/content/en/reference/components-reference/supported-middleware/middleware-wasm.md Co-authored-by: Hannah Hunter <94493363+hhunter-ms@users.noreply.github.com> Signed-off-by: Crypt Keeper <64215+codefromthecrypt@users.noreply.github.com> --- .../supported-middleware/middleware-wasm.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/daprdocs/content/en/reference/components-reference/supported-middleware/middleware-wasm.md b/daprdocs/content/en/reference/components-reference/supported-middleware/middleware-wasm.md index b1ed0637d..34eda08f6 100644 --- a/daprdocs/content/en/reference/components-reference/supported-middleware/middleware-wasm.md +++ b/daprdocs/content/en/reference/components-reference/supported-middleware/middleware-wasm.md @@ -110,7 +110,7 @@ func handleRequest(req api.Request, resp api.Response) (next bool, reqCtx uint32 ``` If using TinyGo, compile as shown below and set the spec metadata field named -"url" to the location of the output (ex "file://router.wasm"): +"url" to the location of the output (for example, `file://router.wasm`): ```bash tinygo build -o router.wasm -scheduler=none --no-debug -target=wasi router.go` From 25bcee86b571cc162142c93a292fe06e940dd764 Mon Sep 17 00:00:00 2001 From: Crypt Keeper <64215+codefromthecrypt@users.noreply.github.com> Date: Thu, 4 May 2023 07:21:28 +0800 Subject: [PATCH 08/35] Update daprdocs/content/en/reference/components-reference/supported-middleware/middleware-wasm.md Co-authored-by: Hannah Hunter <94493363+hhunter-ms@users.noreply.github.com> Signed-off-by: Crypt Keeper <64215+codefromthecrypt@users.noreply.github.com> --- .../supported-middleware/middleware-wasm.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/daprdocs/content/en/reference/components-reference/supported-middleware/middleware-wasm.md b/daprdocs/content/en/reference/components-reference/supported-middleware/middleware-wasm.md index 34eda08f6..3f1118c8b 100644 --- a/daprdocs/content/en/reference/components-reference/supported-middleware/middleware-wasm.md +++ b/daprdocs/content/en/reference/components-reference/supported-middleware/middleware-wasm.md @@ -146,7 +146,7 @@ func rewrite(requestURI []byte) ([]byte, error) { ``` If using TinyGo, compile as shown below and set the spec metadata field named -"url" to the location of the output (ex "file://example.wasm"): +"url" to the location of the output (for example, `file://example.wasm`): ```bash tinygo build -o example.wasm -scheduler=none --no-debug -target=wasi example.go From 202c3fd16e6b22c6e075fc808997f863363d14c0 Mon Sep 17 00:00:00 2001 From: Drew Robbins Date: Sat, 6 May 2023 22:44:32 +0000 Subject: [PATCH 09/35] Add Otel env var docs Signed-off-by: Drew Robbins --- .../configuration/configuration-overview.md | 11 ++++++++++- .../operations/monitoring/tracing/setup-tracing.md | 13 ++++++++++++- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/daprdocs/content/en/operations/configuration/configuration-overview.md b/daprdocs/content/en/operations/configuration/configuration-overview.md index 40eb09427..f761a597d 100644 --- a/daprdocs/content/en/operations/configuration/configuration-overview.md +++ b/daprdocs/content/en/operations/configuration/configuration-overview.md @@ -79,13 +79,22 @@ The following table lists the properties for tracing: | `samplingRate` | string | Set sampling rate for tracing to be enabled or disabled. | `stdout` | bool | True write more verbose information to the traces | `otel.endpointAddress` | string | Set the Open Telemetry (OTEL) server address to send traces to -| `otel.isSecure` | bool | Is the connection to the endpoint address encryped +| `otel.isSecure` | bool | Is the connection to the endpoint address encrypted | `otel.protocol` | string | Set to `http` or `grpc` protocol | `zipkin.endpointAddress` | string | Set the Zipkin server address to send traces to `samplingRate` is used to enable or disable the tracing. To disable the sampling rate , set `samplingRate : "0"` in the configuration. The valid range of samplingRate is between 0 and 1 inclusive. The sampling rate determines whether a trace span should be sampled or not based on value. `samplingRate : "1"` samples all traces. By default, the sampling rate is (0.0001) or 1 in 10,000 traces. +The OpenTelemetry (otel) endpoint can also be configured via an environment variables. The presence of the OTEL_EXPORTER_OTLP_ENDPOINT environment variable +will turn on tracing for the sidecar. + +| Environment Variable | Description | +|----------------------|-------------| +| `OTEL_EXPORTER_OTLP_ENDPOINT` | Set the Open Telemetry (OTEL) server address, turns on tracing | +| `OTEL_EXPORTER_OTLP_INSECURE` | Set the connection to the endpoint as unencrypted (true/false) | +| `OTEL_EXPORTER_OTLP_PROTOCOL` | Transport protocol (`grpc`, `http/protobuf`, `http/json`) | + See [Observability distributed tracing]({{< ref "tracing-overview.md" >}}) for more information. #### Metrics diff --git a/daprdocs/content/en/operations/monitoring/tracing/setup-tracing.md b/daprdocs/content/en/operations/monitoring/tracing/setup-tracing.md index 5e5e7ce92..afeceb969 100644 --- a/daprdocs/content/en/operations/monitoring/tracing/setup-tracing.md +++ b/daprdocs/content/en/operations/monitoring/tracing/setup-tracing.md @@ -33,7 +33,7 @@ The following table lists the properties for tracing: | `samplingRate` | string | Set sampling rate for tracing to be enabled or disabled. | `stdout` | bool | True write more verbose information to the traces | `otel.endpointAddress` | string | Set the Open Telemetry (OTEL) server address. -| `otel.isSecure` | bool | Is the connection to the endpoint address encryped. +| `otel.isSecure` | bool | Is the connection to the endpoint address encrypted. | `otel.protocol` | string | Set to `http` or `grpc` protocol. | `zipkin.endpointAddress` | string | Set the Zipkin server address. If this is used, you do not need to specify the `otel` section. @@ -58,3 +58,14 @@ spec: Dapr uses probabilistic sampling. The sample rate defines the probability a tracing span will be sampled and can have a value between 0 and 1 (inclusive). The default sample rate is 0.0001 (i.e. 1 in 10,000 spans is sampled). Changing `samplingRate` to 0 disables tracing altogether. + +## Environment variables + +The OpenTelemetry (otel) endpoint can also be configured via an environment variables. The presence of the OTEL_EXPORTER_OTLP_ENDPOINT environment variable +will turn on tracing for the sidecar. + +| Environment Variable | Description | +|----------------------|-------------| +| `OTEL_EXPORTER_OTLP_ENDPOINT` | Set the Open Telemetry (OTEL) server address, turns on tracing | +| `OTEL_EXPORTER_OTLP_INSECURE` | Set the connection to the endpoint as unencrypted (true/false) | +| `OTEL_EXPORTER_OTLP_PROTOCOL` | Transport protocol (`grpc`, `http/protobuf`, `http/json`) | \ No newline at end of file From 1979416f1f3b4b375b23ac9149268aa57b08b843 Mon Sep 17 00:00:00 2001 From: Drew Robbins Date: Tue, 9 May 2023 15:35:11 +0900 Subject: [PATCH 10/35] Update daprdocs/content/en/operations/configuration/configuration-overview.md Co-authored-by: Hannah Hunter <94493363+hhunter-ms@users.noreply.github.com> Signed-off-by: Drew Robbins --- .../en/operations/configuration/configuration-overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/daprdocs/content/en/operations/configuration/configuration-overview.md b/daprdocs/content/en/operations/configuration/configuration-overview.md index f761a597d..71fe78d9d 100644 --- a/daprdocs/content/en/operations/configuration/configuration-overview.md +++ b/daprdocs/content/en/operations/configuration/configuration-overview.md @@ -91,7 +91,7 @@ will turn on tracing for the sidecar. | Environment Variable | Description | |----------------------|-------------| -| `OTEL_EXPORTER_OTLP_ENDPOINT` | Set the Open Telemetry (OTEL) server address, turns on tracing | +| `OTEL_EXPORTER_OTLP_ENDPOINT` | Sets the Open Telemetry (OTEL) server address, turns on tracing | | `OTEL_EXPORTER_OTLP_INSECURE` | Set the connection to the endpoint as unencrypted (true/false) | | `OTEL_EXPORTER_OTLP_PROTOCOL` | Transport protocol (`grpc`, `http/protobuf`, `http/json`) | From 063b9c3f94e3e05f82f8012e08bcebf1995d7ee7 Mon Sep 17 00:00:00 2001 From: Drew Robbins Date: Tue, 9 May 2023 15:35:18 +0900 Subject: [PATCH 11/35] Update daprdocs/content/en/operations/configuration/configuration-overview.md Co-authored-by: Hannah Hunter <94493363+hhunter-ms@users.noreply.github.com> Signed-off-by: Drew Robbins --- .../en/operations/configuration/configuration-overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/daprdocs/content/en/operations/configuration/configuration-overview.md b/daprdocs/content/en/operations/configuration/configuration-overview.md index 71fe78d9d..fa97a4e21 100644 --- a/daprdocs/content/en/operations/configuration/configuration-overview.md +++ b/daprdocs/content/en/operations/configuration/configuration-overview.md @@ -92,7 +92,7 @@ will turn on tracing for the sidecar. | Environment Variable | Description | |----------------------|-------------| | `OTEL_EXPORTER_OTLP_ENDPOINT` | Sets the Open Telemetry (OTEL) server address, turns on tracing | -| `OTEL_EXPORTER_OTLP_INSECURE` | Set the connection to the endpoint as unencrypted (true/false) | +| `OTEL_EXPORTER_OTLP_INSECURE` | Sets the connection to the endpoint as unencrypted (true/false) | | `OTEL_EXPORTER_OTLP_PROTOCOL` | Transport protocol (`grpc`, `http/protobuf`, `http/json`) | See [Observability distributed tracing]({{< ref "tracing-overview.md" >}}) for more information. From a849bf54099d46f18fb137c0671f724977edcc36 Mon Sep 17 00:00:00 2001 From: Drew Robbins Date: Tue, 9 May 2023 15:35:32 +0900 Subject: [PATCH 12/35] Update daprdocs/content/en/operations/configuration/configuration-overview.md Co-authored-by: Mark Fussell Signed-off-by: Drew Robbins --- .../en/operations/configuration/configuration-overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/daprdocs/content/en/operations/configuration/configuration-overview.md b/daprdocs/content/en/operations/configuration/configuration-overview.md index fa97a4e21..1f04714d7 100644 --- a/daprdocs/content/en/operations/configuration/configuration-overview.md +++ b/daprdocs/content/en/operations/configuration/configuration-overview.md @@ -87,7 +87,7 @@ The following table lists the properties for tracing: set `samplingRate : "0"` in the configuration. The valid range of samplingRate is between 0 and 1 inclusive. The sampling rate determines whether a trace span should be sampled or not based on value. `samplingRate : "1"` samples all traces. By default, the sampling rate is (0.0001) or 1 in 10,000 traces. The OpenTelemetry (otel) endpoint can also be configured via an environment variables. The presence of the OTEL_EXPORTER_OTLP_ENDPOINT environment variable -will turn on tracing for the sidecar. +turns on tracing for the sidecar. | Environment Variable | Description | |----------------------|-------------| From d3003e7b68d7e4b1d6a0989fa54667e55e527d24 Mon Sep 17 00:00:00 2001 From: Drew Robbins Date: Tue, 9 May 2023 15:35:45 +0900 Subject: [PATCH 13/35] Update daprdocs/content/en/operations/monitoring/tracing/setup-tracing.md Co-authored-by: Mark Fussell Signed-off-by: Drew Robbins --- .../content/en/operations/monitoring/tracing/setup-tracing.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/daprdocs/content/en/operations/monitoring/tracing/setup-tracing.md b/daprdocs/content/en/operations/monitoring/tracing/setup-tracing.md index afeceb969..2748b1f8a 100644 --- a/daprdocs/content/en/operations/monitoring/tracing/setup-tracing.md +++ b/daprdocs/content/en/operations/monitoring/tracing/setup-tracing.md @@ -62,7 +62,7 @@ Changing `samplingRate` to 0 disables tracing altogether. ## Environment variables The OpenTelemetry (otel) endpoint can also be configured via an environment variables. The presence of the OTEL_EXPORTER_OTLP_ENDPOINT environment variable -will turn on tracing for the sidecar. +turns on tracing for the sidecar. | Environment Variable | Description | |----------------------|-------------| From 4f1047a8199f26fa44eb1791834061ba58a1d1fb Mon Sep 17 00:00:00 2001 From: Drew Robbins Date: Tue, 9 May 2023 15:36:10 +0900 Subject: [PATCH 14/35] Update daprdocs/content/en/operations/monitoring/tracing/setup-tracing.md Co-authored-by: Hannah Hunter <94493363+hhunter-ms@users.noreply.github.com> Signed-off-by: Drew Robbins --- .../content/en/operations/monitoring/tracing/setup-tracing.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/daprdocs/content/en/operations/monitoring/tracing/setup-tracing.md b/daprdocs/content/en/operations/monitoring/tracing/setup-tracing.md index 2748b1f8a..0aa81af89 100644 --- a/daprdocs/content/en/operations/monitoring/tracing/setup-tracing.md +++ b/daprdocs/content/en/operations/monitoring/tracing/setup-tracing.md @@ -67,5 +67,5 @@ turns on tracing for the sidecar. | Environment Variable | Description | |----------------------|-------------| | `OTEL_EXPORTER_OTLP_ENDPOINT` | Set the Open Telemetry (OTEL) server address, turns on tracing | -| `OTEL_EXPORTER_OTLP_INSECURE` | Set the connection to the endpoint as unencrypted (true/false) | +| `OTEL_EXPORTER_OTLP_INSECURE` | Sets the connection to the endpoint as unencrypted (true/false) | | `OTEL_EXPORTER_OTLP_PROTOCOL` | Transport protocol (`grpc`, `http/protobuf`, `http/json`) | \ No newline at end of file From e258e996c40f470ba6dc723cf509bc7b28745fed Mon Sep 17 00:00:00 2001 From: Drew Robbins Date: Tue, 9 May 2023 15:36:19 +0900 Subject: [PATCH 15/35] Update daprdocs/content/en/operations/monitoring/tracing/setup-tracing.md Co-authored-by: Hannah Hunter <94493363+hhunter-ms@users.noreply.github.com> Signed-off-by: Drew Robbins --- .../content/en/operations/monitoring/tracing/setup-tracing.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/daprdocs/content/en/operations/monitoring/tracing/setup-tracing.md b/daprdocs/content/en/operations/monitoring/tracing/setup-tracing.md index 0aa81af89..52147498c 100644 --- a/daprdocs/content/en/operations/monitoring/tracing/setup-tracing.md +++ b/daprdocs/content/en/operations/monitoring/tracing/setup-tracing.md @@ -66,6 +66,6 @@ turns on tracing for the sidecar. | Environment Variable | Description | |----------------------|-------------| -| `OTEL_EXPORTER_OTLP_ENDPOINT` | Set the Open Telemetry (OTEL) server address, turns on tracing | +| `OTEL_EXPORTER_OTLP_ENDPOINT` | Sets the Open Telemetry (OTEL) server address, turns on tracing | | `OTEL_EXPORTER_OTLP_INSECURE` | Sets the connection to the endpoint as unencrypted (true/false) | | `OTEL_EXPORTER_OTLP_PROTOCOL` | Transport protocol (`grpc`, `http/protobuf`, `http/json`) | \ No newline at end of file From 3db39b9f6e3664589df1ac121e014e28650edd33 Mon Sep 17 00:00:00 2001 From: Drew Robbins Date: Tue, 9 May 2023 07:02:07 +0000 Subject: [PATCH 16/35] Add env variables to reference/environment Signed-off-by: Drew Robbins --- daprdocs/content/en/reference/environment/_index.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/daprdocs/content/en/reference/environment/_index.md b/daprdocs/content/en/reference/environment/_index.md index 3aba469ee..0f49b7510 100644 --- a/daprdocs/content/en/reference/environment/_index.md +++ b/daprdocs/content/en/reference/environment/_index.md @@ -24,3 +24,6 @@ The following table lists the environment variables used by the Dapr runtime, CL | DAPR_HELM_REPO_URL | Your private Dapr Helm chart url | Specifies a private Dapr Helm chart url, which defaults to the official Helm chart URL: `https://dapr.github.io/helm-charts`| | DAPR_HELM_REPO_USERNAME | A username for a private Helm chart | The username required to access the private Dapr Helm chart. If it can be accessed publicly, this env variable does not need to be set| | DAPR_HELM_REPO_PASSWORD | A password for a private Helm chart |The password required to access the private Dapr helm chart. If it can be accessed publicly, this env variable does not need to be set| +| OTEL_EXPORTER_OTLP_ENDPOINT | OpenTelemetry Tracing | Sets the Open Telemetry (OTEL) server address, turns on tracing. (Example: `http://localhost:4318`) | +| OTEL_EXPORTER_OTLP_INSECURE | OpenTelemetry Tracing | Sets the connection to the endpoint as unencrypted. (`true`, `false`) | +| OTEL_EXPORTER_OTLP_PROTOCOL | OpenTelemetry Tracing | The OTLP protocol to use Transport protocol. (`grpc`, `http/protobuf`, `http/json`) | \ No newline at end of file From 3a0f54e2bc56c7b6030cd775e396c3c404734974 Mon Sep 17 00:00:00 2001 From: Adrian Cole Date: Mon, 1 May 2023 11:37:38 +0800 Subject: [PATCH 17/35] Adds docs for Wasm output binding Signed-off-by: Adrian Cole --- .../supported-bindings/wasm.md | 103 ++++++++++++++++++ .../supported-middleware/middleware-wasm.md | 6 +- .../data/components/bindings/generic.yaml | 8 ++ daprdocs/data/components/middleware/http.yaml | 4 +- 4 files changed, 116 insertions(+), 5 deletions(-) create mode 100644 daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md diff --git a/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md b/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md new file mode 100644 index 000000000..e456f8c9e --- /dev/null +++ b/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md @@ -0,0 +1,103 @@ +--- +type: docs +title: "Wasm" +linkTitle: "Wasm" +description: "Detailed documentation on the WebAssembly binding component" +aliases: +- "/operations/components/setup-bindings/supported-bindings/wasm/" +--- + +## Overview + +WebAssembly is a way to safely run code compiled in other languages. Runtimes +execute WebAssembly Modules (Wasm), which are most often binaries with a `.wasm` +extension. + +The Wasm Binding allows you to invoke a program compiled to wasm, by passing +commandline args or environment variables to it, similar to how you would with +a normal subprocess. For example, you can satisfy an invocation using Python +even though Dapr is written in go and running on a platform that doesn't have +Python installed! + +The Wasm binary must be a program compiled with the WebAssembly System +Interface (WASI). The binary can be a program you've written such as in Go, or +an interpreter you use to run inlined scripts, such as Python. + +Minimally, a user must specify a Wasm binary compiled with the canonical WASI +version `wasi_snapshot_preview1` a.k.a. `wasip1`, often abbreviated to `wasi`. + +If compiling yourself in Go 1.21+, this is `GOOS=wasip1 GOARCH=wasm`, whereas +in TinyGo, Rust and Zig, this is the target `wasm32-wasi`. + +You can also re-use an existing binary. For example, [Wasm Language Runtimes](https://github.com/vmware-labs/webassembly-language-runtimes) +distributes interpreters including PHP, Python and Ruby, already compiled to +WASI. + +Wasm binaries are loaded from a URL. For example, a URL "file://rewrite.wasm" +loads "rewrite.wasm" from the current directory of the process. On Kubernetes, +see [mounting volumes to the Dapr sidecar]({{< ref kubernetes-volume-mounts.md >}}) +to configure a filesystem mount that can contain Wasm binaries. + +Dapr embeds [wazero](https://wazero.io) which loads programs compiled with the +WebAssembly System Interface (WASI), obviating platform dependencies or forking +otherwise needed to accomplish something like this. + +## Component format + +To configure a WebAssembly (Wasm) binding, create a component of type +`bindings.wasm`. See [this guide]({{< ref "howto-bindings.md#1-create-a-binding" >}}) +on how to create and apply a binding configuration. + +```yaml +apiVersion: dapr.io/v1alpha1 +kind: Component +metadata: + name: wasm +spec: + type: bindings.wasm + version: v1 + metadata: + - name: url + value: "file://uppercase.wasm" +``` + +## Spec metadata fields + +| Field | Details | Required | Example | +|-------|----------------------------------------------------------------|----------|----------------| +| url | The URL of the resource including the Wasm binary to instantiate. The supported schemes include "file://". The path of a "file://" URL is relative to the Dapr process unless it begins with '/'. | true | "file://hello.wasm" | + + +## Binding support + +This component supports **output binding** with the following operations: + +- `execute` + +## Example request + +The `data` field, if present will be the program's STDIN. You can optionally +pass metadata properties with each request: + +- `args` any CLI arguments, comma-separated. This excludes the program name. + +For example, if your Wasm binary is `ruby.wasm`, the following request would +have the response data "Hello, salaboy" + +```json +{ + "operation": "execute", + "metadata": { + "args": "-ne,'print \"Hello, \"; print'" + }, + "data": "salaboy" +} +``` + +## Related links + +- [Basic schema for a Dapr component]({{< ref component-schema >}}) +- [Bindings building block]({{< ref bindings >}}) +- [How-To: Trigger application with input binding]({{< ref howto-triggers.md >}}) +- [How-To: Use bindings to interface with external resources]({{< ref howto-bindings.md >}}) +- [Bindings API reference]({{< ref bindings_api.md >}}) diff --git a/daprdocs/content/en/reference/components-reference/supported-middleware/middleware-wasm.md b/daprdocs/content/en/reference/components-reference/supported-middleware/middleware-wasm.md index 8d19d0b19..ad71a72f8 100644 --- a/daprdocs/content/en/reference/components-reference/supported-middleware/middleware-wasm.md +++ b/daprdocs/content/en/reference/components-reference/supported-middleware/middleware-wasm.md @@ -1,8 +1,8 @@ --- type: docs -title: "WASM" -linkTitle: "WASM" -description: "Use WASM middleware in your HTTP pipeline" +title: "Wasm" +linkTitle: "Wasm" +description: "Use Wasm middleware in your HTTP pipeline" aliases: - /developing-applications/middleware/supported-middleware/middleware-wasm/ --- diff --git a/daprdocs/data/components/bindings/generic.yaml b/daprdocs/data/components/bindings/generic.yaml index 57ec9e19f..df07ddd27 100644 --- a/daprdocs/data/components/bindings/generic.yaml +++ b/daprdocs/data/components/bindings/generic.yaml @@ -142,3 +142,11 @@ features: input: true output: true +- component: Wasm + link: wasm + state: Alpha + version: v1 + since: "1.11" + features: + input: false + output: true diff --git a/daprdocs/data/components/middleware/http.yaml b/daprdocs/data/components/middleware/http.yaml index ad1836cc2..44cb6746a 100644 --- a/daprdocs/data/components/middleware/http.yaml +++ b/daprdocs/data/components/middleware/http.yaml @@ -43,8 +43,8 @@ state: Stable version: v1 description: Converts the body of the request to uppercase letters (demo) -- component: WASM +- component: Wasm link: /reference/components-reference/supported-middleware/middleware-wasm state: Alpha version: v1 - description: Use WASM middleware in your HTTP pipeline + description: Use Wasm middleware in your HTTP pipeline From 8c29ee1ae3a06c7461beb22d94c1b0a12a7d15f2 Mon Sep 17 00:00:00 2001 From: Crypt Keeper <64215+codefromthecrypt@users.noreply.github.com> Date: Wed, 3 May 2023 08:00:57 +0800 Subject: [PATCH 18/35] Update daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md Co-authored-by: Hannah Hunter <94493363+hhunter-ms@users.noreply.github.com> Signed-off-by: Crypt Keeper <64215+codefromthecrypt@users.noreply.github.com> --- .../reference/components-reference/supported-bindings/wasm.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md b/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md index e456f8c9e..7ad85cc31 100644 --- a/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md +++ b/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md @@ -9,7 +9,7 @@ aliases: ## Overview -WebAssembly is a way to safely run code compiled in other languages. Runtimes +With WebAssembly, you can safely run code compiled in other languages. Runtimes execute WebAssembly Modules (Wasm), which are most often binaries with a `.wasm` extension. From 9552d84662beeeb768117dce2b9b4a56360ad946 Mon Sep 17 00:00:00 2001 From: Crypt Keeper <64215+codefromthecrypt@users.noreply.github.com> Date: Wed, 3 May 2023 08:01:04 +0800 Subject: [PATCH 19/35] Update daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md Co-authored-by: Hannah Hunter <94493363+hhunter-ms@users.noreply.github.com> Signed-off-by: Crypt Keeper <64215+codefromthecrypt@users.noreply.github.com> --- .../reference/components-reference/supported-bindings/wasm.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md b/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md index 7ad85cc31..41dd1dc6f 100644 --- a/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md +++ b/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md @@ -13,7 +13,7 @@ With WebAssembly, you can safely run code compiled in other languages. Runtimes execute WebAssembly Modules (Wasm), which are most often binaries with a `.wasm` extension. -The Wasm Binding allows you to invoke a program compiled to wasm, by passing +The Wasm Binding allows you to invoke a program compiled to Wasm by passing commandline args or environment variables to it, similar to how you would with a normal subprocess. For example, you can satisfy an invocation using Python even though Dapr is written in go and running on a platform that doesn't have From bd1aff5d0e593ac3be1de59d3a4c5920b7b5ec5a Mon Sep 17 00:00:00 2001 From: Crypt Keeper <64215+codefromthecrypt@users.noreply.github.com> Date: Wed, 3 May 2023 08:01:10 +0800 Subject: [PATCH 20/35] Update daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md Co-authored-by: Hannah Hunter <94493363+hhunter-ms@users.noreply.github.com> Signed-off-by: Crypt Keeper <64215+codefromthecrypt@users.noreply.github.com> --- .../reference/components-reference/supported-bindings/wasm.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md b/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md index 41dd1dc6f..e170753e8 100644 --- a/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md +++ b/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md @@ -15,7 +15,7 @@ extension. The Wasm Binding allows you to invoke a program compiled to Wasm by passing commandline args or environment variables to it, similar to how you would with -a normal subprocess. For example, you can satisfy an invocation using Python +a normal subprocess. For example, you can satisfy an invocation using Python, even though Dapr is written in go and running on a platform that doesn't have Python installed! From 74e85ee6fe3add2015fba5a937623e4a42da87f6 Mon Sep 17 00:00:00 2001 From: Crypt Keeper <64215+codefromthecrypt@users.noreply.github.com> Date: Wed, 3 May 2023 08:01:17 +0800 Subject: [PATCH 21/35] Update daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md Co-authored-by: Hannah Hunter <94493363+hhunter-ms@users.noreply.github.com> Signed-off-by: Crypt Keeper <64215+codefromthecrypt@users.noreply.github.com> --- .../reference/components-reference/supported-bindings/wasm.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md b/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md index e170753e8..1363b76e7 100644 --- a/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md +++ b/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md @@ -16,7 +16,7 @@ extension. The Wasm Binding allows you to invoke a program compiled to Wasm by passing commandline args or environment variables to it, similar to how you would with a normal subprocess. For example, you can satisfy an invocation using Python, -even though Dapr is written in go and running on a platform that doesn't have +even though Dapr is written in Go and is running on a platform that doesn't have Python installed! The Wasm binary must be a program compiled with the WebAssembly System From 9717cc7456edf34ce721b6896b6e939ac1c9dafd Mon Sep 17 00:00:00 2001 From: Crypt Keeper <64215+codefromthecrypt@users.noreply.github.com> Date: Wed, 3 May 2023 08:01:23 +0800 Subject: [PATCH 22/35] Update daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md Co-authored-by: Hannah Hunter <94493363+hhunter-ms@users.noreply.github.com> Signed-off-by: Crypt Keeper <64215+codefromthecrypt@users.noreply.github.com> --- .../reference/components-reference/supported-bindings/wasm.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md b/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md index 1363b76e7..dea0de304 100644 --- a/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md +++ b/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md @@ -23,7 +23,7 @@ The Wasm binary must be a program compiled with the WebAssembly System Interface (WASI). The binary can be a program you've written such as in Go, or an interpreter you use to run inlined scripts, such as Python. -Minimally, a user must specify a Wasm binary compiled with the canonical WASI +Minimally, you must specify a Wasm binary compiled with the canonical WASI version `wasi_snapshot_preview1` a.k.a. `wasip1`, often abbreviated to `wasi`. If compiling yourself in Go 1.21+, this is `GOOS=wasip1 GOARCH=wasm`, whereas From 19e192d7ecbe1da1f9b95df7e5ab9795ecf77bb9 Mon Sep 17 00:00:00 2001 From: Crypt Keeper <64215+codefromthecrypt@users.noreply.github.com> Date: Wed, 3 May 2023 08:01:40 +0800 Subject: [PATCH 23/35] Update daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md Co-authored-by: Hannah Hunter <94493363+hhunter-ms@users.noreply.github.com> Signed-off-by: Crypt Keeper <64215+codefromthecrypt@users.noreply.github.com> --- .../reference/components-reference/supported-bindings/wasm.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md b/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md index dea0de304..ba3053cf9 100644 --- a/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md +++ b/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md @@ -39,7 +39,7 @@ see [mounting volumes to the Dapr sidecar]({{< ref kubernetes-volume-mounts.md > to configure a filesystem mount that can contain Wasm binaries. Dapr embeds [wazero](https://wazero.io) which loads programs compiled with the -WebAssembly System Interface (WASI), obviating platform dependencies or forking +WASI, obviating platform dependencies or forking otherwise needed to accomplish something like this. ## Component format From e8f1154e9909164d578e390871bfe472f8dcf962 Mon Sep 17 00:00:00 2001 From: Crypt Keeper <64215+codefromthecrypt@users.noreply.github.com> Date: Wed, 3 May 2023 08:01:48 +0800 Subject: [PATCH 24/35] Update daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md Co-authored-by: Hannah Hunter <94493363+hhunter-ms@users.noreply.github.com> Signed-off-by: Crypt Keeper <64215+codefromthecrypt@users.noreply.github.com> --- .../reference/components-reference/supported-bindings/wasm.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md b/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md index ba3053cf9..31f7210ed 100644 --- a/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md +++ b/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md @@ -44,7 +44,7 @@ otherwise needed to accomplish something like this. ## Component format -To configure a WebAssembly (Wasm) binding, create a component of type +To configure a Wasm binding, create a component of type `bindings.wasm`. See [this guide]({{< ref "howto-bindings.md#1-create-a-binding" >}}) on how to create and apply a binding configuration. From fd676ff7c5932c70b67e419581efa635b6c611b5 Mon Sep 17 00:00:00 2001 From: Crypt Keeper <64215+codefromthecrypt@users.noreply.github.com> Date: Wed, 3 May 2023 08:01:57 +0800 Subject: [PATCH 25/35] Update daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md Co-authored-by: Hannah Hunter <94493363+hhunter-ms@users.noreply.github.com> Signed-off-by: Crypt Keeper <64215+codefromthecrypt@users.noreply.github.com> --- .../reference/components-reference/supported-bindings/wasm.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md b/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md index 31f7210ed..7bd74944a 100644 --- a/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md +++ b/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md @@ -82,7 +82,7 @@ pass metadata properties with each request: - `args` any CLI arguments, comma-separated. This excludes the program name. For example, if your Wasm binary is `ruby.wasm`, the following request would -have the response data "Hello, salaboy" +have the response data "Hello, salaboy": ```json { From a8755cfea35d61b1beb6b1a9c2bf68f118a6c5a1 Mon Sep 17 00:00:00 2001 From: Crypt Keeper <64215+codefromthecrypt@users.noreply.github.com> Date: Wed, 3 May 2023 08:02:06 +0800 Subject: [PATCH 26/35] Update daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md Co-authored-by: Hannah Hunter <94493363+hhunter-ms@users.noreply.github.com> Signed-off-by: Crypt Keeper <64215+codefromthecrypt@users.noreply.github.com> --- .../reference/components-reference/supported-bindings/wasm.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md b/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md index 7bd74944a..3c4be0ea5 100644 --- a/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md +++ b/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md @@ -65,7 +65,7 @@ spec: | Field | Details | Required | Example | |-------|----------------------------------------------------------------|----------|----------------| -| url | The URL of the resource including the Wasm binary to instantiate. The supported schemes include "file://". The path of a "file://" URL is relative to the Dapr process unless it begins with '/'. | true | "file://hello.wasm" | +| url | The URL of the resource including the Wasm binary to instantiate. The supported schemes include `file://`. The path of a `file://` URL is relative to the Dapr process unless it begins with `/`. | true | `file://hello.wasm` | ## Binding support From b2e197bd8defc765b6d6fe3c95d7d41f5ebbd5ba Mon Sep 17 00:00:00 2001 From: Adrian Cole Date: Wed, 3 May 2023 08:11:32 +0800 Subject: [PATCH 27/35] reword Signed-off-by: Adrian Cole --- .../components-reference/supported-bindings/wasm.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md b/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md index 3c4be0ea5..c55a980cb 100644 --- a/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md +++ b/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md @@ -38,9 +38,9 @@ loads "rewrite.wasm" from the current directory of the process. On Kubernetes, see [mounting volumes to the Dapr sidecar]({{< ref kubernetes-volume-mounts.md >}}) to configure a filesystem mount that can contain Wasm binaries. -Dapr embeds [wazero](https://wazero.io) which loads programs compiled with the -WASI, obviating platform dependencies or forking -otherwise needed to accomplish something like this. +Dapr uses [wazero](https://wazero.io) to run these binaries, because it has no +dependencies. This allows use of WebAssembly with no installation process +except Dapr itself. ## Component format From c51f8d7b9f48cbaa62703209aead0453335016a3 Mon Sep 17 00:00:00 2001 From: Crypt Keeper <64215+codefromthecrypt@users.noreply.github.com> Date: Wed, 3 May 2023 08:12:24 +0800 Subject: [PATCH 28/35] Update daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md Co-authored-by: Hannah Hunter <94493363+hhunter-ms@users.noreply.github.com> Signed-off-by: Crypt Keeper <64215+codefromthecrypt@users.noreply.github.com> --- .../reference/components-reference/supported-bindings/wasm.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md b/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md index c55a980cb..100178d33 100644 --- a/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md +++ b/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md @@ -24,7 +24,7 @@ Interface (WASI). The binary can be a program you've written such as in Go, or an interpreter you use to run inlined scripts, such as Python. Minimally, you must specify a Wasm binary compiled with the canonical WASI -version `wasi_snapshot_preview1` a.k.a. `wasip1`, often abbreviated to `wasi`. +version `wasi_snapshot_preview1` (a.k.a. `wasip1`), often abbreviated to `wasi`. If compiling yourself in Go 1.21+, this is `GOOS=wasip1 GOARCH=wasm`, whereas in TinyGo, Rust and Zig, this is the target `wasm32-wasi`. From 8c235043f106c510e780a6e9934130eaa147b91a Mon Sep 17 00:00:00 2001 From: Crypt Keeper <64215+codefromthecrypt@users.noreply.github.com> Date: Wed, 3 May 2023 08:12:37 +0800 Subject: [PATCH 29/35] Update daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md Co-authored-by: Hannah Hunter <94493363+hhunter-ms@users.noreply.github.com> Signed-off-by: Crypt Keeper <64215+codefromthecrypt@users.noreply.github.com> --- .../reference/components-reference/supported-bindings/wasm.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md b/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md index 100178d33..51bca65ef 100644 --- a/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md +++ b/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md @@ -26,7 +26,7 @@ an interpreter you use to run inlined scripts, such as Python. Minimally, you must specify a Wasm binary compiled with the canonical WASI version `wasi_snapshot_preview1` (a.k.a. `wasip1`), often abbreviated to `wasi`. -If compiling yourself in Go 1.21+, this is `GOOS=wasip1 GOARCH=wasm`, whereas +> **Note:** If compiling in Go 1.21+, this is `GOOS=wasip1 GOARCH=wasm`. In TinyGo, Rust, and Zig, this is the target `wasm32-wasi`. in TinyGo, Rust and Zig, this is the target `wasm32-wasi`. You can also re-use an existing binary. For example, [Wasm Language Runtimes](https://github.com/vmware-labs/webassembly-language-runtimes) From e3614589011197477cd49cb863ecf8a8b38ad8fd Mon Sep 17 00:00:00 2001 From: Crypt Keeper <64215+codefromthecrypt@users.noreply.github.com> Date: Wed, 3 May 2023 08:12:50 +0800 Subject: [PATCH 30/35] Update daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md Co-authored-by: Hannah Hunter <94493363+hhunter-ms@users.noreply.github.com> Signed-off-by: Crypt Keeper <64215+codefromthecrypt@users.noreply.github.com> --- .../en/reference/components-reference/supported-bindings/wasm.md | 1 - 1 file changed, 1 deletion(-) diff --git a/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md b/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md index 51bca65ef..003a3e82a 100644 --- a/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md +++ b/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md @@ -27,7 +27,6 @@ Minimally, you must specify a Wasm binary compiled with the canonical WASI version `wasi_snapshot_preview1` (a.k.a. `wasip1`), often abbreviated to `wasi`. > **Note:** If compiling in Go 1.21+, this is `GOOS=wasip1 GOARCH=wasm`. In TinyGo, Rust, and Zig, this is the target `wasm32-wasi`. -in TinyGo, Rust and Zig, this is the target `wasm32-wasi`. You can also re-use an existing binary. For example, [Wasm Language Runtimes](https://github.com/vmware-labs/webassembly-language-runtimes) distributes interpreters including PHP, Python and Ruby, already compiled to From 15914c2d14798ab7fadaaa9a3d40c3dbe83e5a2c Mon Sep 17 00:00:00 2001 From: Crypt Keeper <64215+codefromthecrypt@users.noreply.github.com> Date: Wed, 3 May 2023 08:13:02 +0800 Subject: [PATCH 31/35] Update daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md Co-authored-by: Hannah Hunter <94493363+hhunter-ms@users.noreply.github.com> Signed-off-by: Crypt Keeper <64215+codefromthecrypt@users.noreply.github.com> --- .../reference/components-reference/supported-bindings/wasm.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md b/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md index 003a3e82a..9c5b162de 100644 --- a/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md +++ b/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md @@ -29,7 +29,7 @@ version `wasi_snapshot_preview1` (a.k.a. `wasip1`), often abbreviated to `wasi`. > **Note:** If compiling in Go 1.21+, this is `GOOS=wasip1 GOARCH=wasm`. In TinyGo, Rust, and Zig, this is the target `wasm32-wasi`. You can also re-use an existing binary. For example, [Wasm Language Runtimes](https://github.com/vmware-labs/webassembly-language-runtimes) -distributes interpreters including PHP, Python and Ruby, already compiled to +distributes interpreters (including PHP, Python, and Ruby) already compiled to WASI. Wasm binaries are loaded from a URL. For example, a URL "file://rewrite.wasm" From 234d19f2917003962b6514b8fdd4b5d02fc430cb Mon Sep 17 00:00:00 2001 From: Crypt Keeper <64215+codefromthecrypt@users.noreply.github.com> Date: Wed, 3 May 2023 08:13:12 +0800 Subject: [PATCH 32/35] Update daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md Co-authored-by: Hannah Hunter <94493363+hhunter-ms@users.noreply.github.com> Signed-off-by: Crypt Keeper <64215+codefromthecrypt@users.noreply.github.com> --- .../reference/components-reference/supported-bindings/wasm.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md b/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md index 9c5b162de..340e8fe2c 100644 --- a/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md +++ b/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md @@ -32,7 +32,7 @@ You can also re-use an existing binary. For example, [Wasm Language Runtimes](ht distributes interpreters (including PHP, Python, and Ruby) already compiled to WASI. -Wasm binaries are loaded from a URL. For example, a URL "file://rewrite.wasm" +Wasm binaries are loaded from a URL. For example, the URL `file://rewrite.wasm` loads "rewrite.wasm" from the current directory of the process. On Kubernetes, see [mounting volumes to the Dapr sidecar]({{< ref kubernetes-volume-mounts.md >}}) to configure a filesystem mount that can contain Wasm binaries. From e509d1d5ca21bcacd1eccee07b0fc489f08e4f5a Mon Sep 17 00:00:00 2001 From: Crypt Keeper <64215+codefromthecrypt@users.noreply.github.com> Date: Wed, 3 May 2023 08:13:22 +0800 Subject: [PATCH 33/35] Update daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md Co-authored-by: Hannah Hunter <94493363+hhunter-ms@users.noreply.github.com> Signed-off-by: Crypt Keeper <64215+codefromthecrypt@users.noreply.github.com> --- .../reference/components-reference/supported-bindings/wasm.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md b/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md index 340e8fe2c..6c116a4f7 100644 --- a/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md +++ b/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md @@ -33,7 +33,7 @@ distributes interpreters (including PHP, Python, and Ruby) already compiled to WASI. Wasm binaries are loaded from a URL. For example, the URL `file://rewrite.wasm` -loads "rewrite.wasm" from the current directory of the process. On Kubernetes, +loads `rewrite.wasm` from the current directory of the process. On Kubernetes, see [mounting volumes to the Dapr sidecar]({{< ref kubernetes-volume-mounts.md >}}) to configure a filesystem mount that can contain Wasm binaries. From 9ffebbdd8c759e853678241dc60f3496cab63813 Mon Sep 17 00:00:00 2001 From: Crypt Keeper <64215+codefromthecrypt@users.noreply.github.com> Date: Wed, 3 May 2023 08:13:32 +0800 Subject: [PATCH 34/35] Update daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md Co-authored-by: Hannah Hunter <94493363+hhunter-ms@users.noreply.github.com> Signed-off-by: Crypt Keeper <64215+codefromthecrypt@users.noreply.github.com> --- .../reference/components-reference/supported-bindings/wasm.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md b/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md index 6c116a4f7..9d5cd5c71 100644 --- a/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md +++ b/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md @@ -34,7 +34,7 @@ WASI. Wasm binaries are loaded from a URL. For example, the URL `file://rewrite.wasm` loads `rewrite.wasm` from the current directory of the process. On Kubernetes, -see [mounting volumes to the Dapr sidecar]({{< ref kubernetes-volume-mounts.md >}}) +see [How to: Mount Pod volumes to the Dapr sidecar]({{< ref kubernetes-volume-mounts.md >}}) to configure a filesystem mount that can contain Wasm binaries. Dapr uses [wazero](https://wazero.io) to run these binaries, because it has no From f14f92651843127b7597e57688741298cd857973 Mon Sep 17 00:00:00 2001 From: Adrian Cole Date: Tue, 9 May 2023 17:13:24 +0800 Subject: [PATCH 35/35] reword ruby Signed-off-by: Adrian Cole --- .../components-reference/supported-bindings/wasm.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md b/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md index 9d5cd5c71..0ca9a69d4 100644 --- a/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md +++ b/daprdocs/content/en/reference/components-reference/supported-bindings/wasm.md @@ -80,8 +80,9 @@ pass metadata properties with each request: - `args` any CLI arguments, comma-separated. This excludes the program name. -For example, if your Wasm binary is `ruby.wasm`, the following request would -have the response data "Hello, salaboy": +For example, if the binding `url` was a Ruby interpreter, such as from +[webassembly-language-runtimes](https://github.com/vmware-labs/webassembly-language-runtimes/releases/tag/ruby%2F3.2.0%2B20230215-1349da9), +the following request would respond back with "Hello, salaboy": ```json {