This is an automated email from the ASF dual-hosted git repository.
liuyu pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/pulsar-site.git
The following commit(s) were added to refs/heads/main by this push:
new 4fa45cd21d3 [improve][doc] SEO for Pulsar functions (#680)
4fa45cd21d3 is described below
commit 4fa45cd21d3178f6b8db72ab81fb494f0c1cd79a
Author: Zhang Yuxuan <[email protected]>
AuthorDate: Fri Sep 1 10:46:05 2023 +0800
[improve][doc] SEO for Pulsar functions (#680)
---
docs/functions-cli.md | 1 +
docs/functions-concepts.md | 5 +++--
docs/functions-debug-cli.md | 7 +------
docs/functions-debug-localrun.md | 1 +
docs/functions-debug-log-topic.md | 1 +
docs/functions-debug-stderr.md | 1 +
docs/functions-debug-unit-test.md | 1 +
docs/functions-deploy-arguments.md | 1 +
docs/functions-deploy-cluster-builtin.md | 1 +
docs/functions-deploy-cluster-encryption.md | 3 ++-
docs/functions-deploy-cluster-parallelism.md | 1 +
docs/functions-deploy-cluster-resource.md | 1 +
docs/functions-deploy-cluster.md | 1 +
docs/functions-deploy-localrun.md | 1 +
docs/functions-deploy-trigger.md | 1 +
docs/functions-develop-admin-api.md | 1 +
docs/functions-develop-api.md | 1 +
docs/functions-develop-log.md | 1 +
docs/functions-develop-metrics.md | 1 +
docs/functions-develop-schema-registry.md | 1 +
docs/functions-develop-security.md | 9 ++++++---
docs/functions-develop-serde.md | 1 +
docs/functions-develop-state.md | 1 +
docs/functions-develop-tutorial.md | 5 +++++
docs/functions-develop-user-defined-configs.md | 1 +
docs/functions-overview.md | 10 ++--------
docs/functions-package-go.md | 1 +
docs/functions-package-java.md | 5 +++--
docs/functions-package-python.md | 4 +---
docs/functions-quickstart.md | 19 ++++++++++---------
docs/functions-runtime-java-options.md | 1 +
docs/functions-runtime-kubernetes.md | 3 ++-
docs/functions-runtime-process.md | 1 +
docs/functions-runtime-thread.md | 1 +
docs/functions-worker-corun.md | 13 +++++--------
docs/functions-worker-for-geo-replication.md | 1 +
docs/functions-worker-run-separately.md | 12 +++++-------
docs/functions-worker-stateful.md | 3 +++
docs/functions-worker-temp-file-path.md | 1 +
docs/functions-worker-troubleshooting.md | 1 +
docs/window-functions-context.md | 1 +
41 files changed, 76 insertions(+), 50 deletions(-)
diff --git a/docs/functions-cli.md b/docs/functions-cli.md
index 815e48e2ce7..9c85f3a7506 100644
--- a/docs/functions-cli.md
+++ b/docs/functions-cli.md
@@ -2,6 +2,7 @@
id: functions-cli
title: Pulsar Functions CLI and YAML configs
sidebar_label: "CLI and YAML configs"
+description: Get a comprehensive understanding of admin CLI and YAML
configurations for Pulsar Functions
---
````mdx-code-block
diff --git a/docs/functions-concepts.md b/docs/functions-concepts.md
index 422b746281f..8080cf50524 100644
--- a/docs/functions-concepts.md
+++ b/docs/functions-concepts.md
@@ -2,6 +2,7 @@
id: functions-concepts
title: Pulsar Functions concepts
sidebar_label: "Concepts"
+description: Get a comprehensive understanding of concepts of Pulsar functions.
---
@@ -24,7 +25,7 @@ Function instance is the core element of the function
execution framework, consi
The following figure illustrates the internal workflow of a function instance.
-
+
A function can have multiple instances, and each instance executes one copy of
a function. You can specify the number of instances in the configuration file.
@@ -41,7 +42,7 @@ Within function workers, each [function
instance](#function-instance) can be exe
The following figure illustrates the internal architecture and workflow of
function workers.
-
+
Function workers form a cluster of worker nodes and the workflow is described
as follows.
1. User sends a request to the REST server to execute a function instance.
diff --git a/docs/functions-debug-cli.md b/docs/functions-debug-cli.md
index 4f2696e9ee4..2def08d37fd 100644
--- a/docs/functions-debug-cli.md
+++ b/docs/functions-debug-cli.md
@@ -2,16 +2,11 @@
id: functions-debug-cli
title: Debug with Functions CLI
sidebar_label: "Debug with Functions CLI"
+description: Learn to debug functions with CLI in Pulsar.
---
With [Pulsar Functions
CLI](pathname:///reference/#/@pulsar:version_reference@/pulsar-admin/), you can
debug Pulsar Functions with the following subcommands:
-* `get`
-* `status`
-* `stats`
-* `list`
-* `trigger`
-
## `get`
To get information about a function, you can specify `--fqfn` as follows.
diff --git a/docs/functions-debug-localrun.md b/docs/functions-debug-localrun.md
index 10562a920f4..a11494250ac 100644
--- a/docs/functions-debug-localrun.md
+++ b/docs/functions-debug-localrun.md
@@ -2,6 +2,7 @@
id: functions-debug-localrun
title: Debug with localrun mode
sidebar_label: "Debug with localrun mode"
+description: Learn to debug functions with localrun mode in Pulsar.
---
In localrun mode, a function consumes and produces actual data to a Pulsar
cluster, and mirrors how the function runs in a Pulsar cluster. This provides a
way to test your function and allows you to launch a function instance on your
local machine as a thread for easy debugging.
diff --git a/docs/functions-debug-log-topic.md
b/docs/functions-debug-log-topic.md
index a53c01866fb..806145ad055 100644
--- a/docs/functions-debug-log-topic.md
+++ b/docs/functions-debug-log-topic.md
@@ -2,6 +2,7 @@
id: functions-debug-log-topic
title: Debug with log topic
sidebar_label: "Debug with log topic"
+description: Learn to debug functions with log topic in Pulsar.
---
When using Pulsar Functions, you can generate logs predefined in functions to
a specified log topic and configure consumers to consume messages from the log
topic.
diff --git a/docs/functions-debug-stderr.md b/docs/functions-debug-stderr.md
index a5659ad2b21..bed60546109 100644
--- a/docs/functions-debug-stderr.md
+++ b/docs/functions-debug-stderr.md
@@ -2,6 +2,7 @@
id: functions-debug-stderr
title: Debug with captured stderr
sidebar_label: "Debug with captured stderr"
+description: Debug functions with captured stderr in Pulsar.
---
To debug why a function fails to start, you can find function startup
information and captured stderr output in the
`logs/functions/<tenant>/<namespace>/<function>/<function>-<instance>.log` file.
diff --git a/docs/functions-debug-unit-test.md
b/docs/functions-debug-unit-test.md
index 45133bcaa8c..58f80e9f457 100644
--- a/docs/functions-debug-unit-test.md
+++ b/docs/functions-debug-unit-test.md
@@ -2,6 +2,7 @@
id: functions-debug-unit-test
title: Debug with unit test
sidebar_label: "Debug with unit test"
+description: Learn to debug functions with unit test in Pulsar.
---
diff --git a/docs/functions-deploy-arguments.md
b/docs/functions-deploy-arguments.md
index 9271d5dc238..45bed9a2e79 100644
--- a/docs/functions-deploy-arguments.md
+++ b/docs/functions-deploy-arguments.md
@@ -2,6 +2,7 @@
id: functions-deploy-arguments
title: Default arguments of CLI
sidebar_label: "Default arguments of CLI"
+description: Get a comprehensive understanding of parameters required in
Pulsar CLI.
---
You can use function-related commands in the
[`pulsar-admin`](pathname:///reference/#/@pulsar:version_reference@/pulsar-admin/)
CLI to deploy functions. Pulsar provides a variety of commands, such as:
diff --git a/docs/functions-deploy-cluster-builtin.md
b/docs/functions-deploy-cluster-builtin.md
index bd5a68976a9..6c09f1a7ffc 100644
--- a/docs/functions-deploy-cluster-builtin.md
+++ b/docs/functions-deploy-cluster-builtin.md
@@ -2,6 +2,7 @@
id: functions-deploy-cluster-builtin
title: Use built-in functions
sidebar_label: "Use built-in functions"
+description: Use built-in functions in Pulsar.
---
Similar to built-in connectors, the code of Java functions [packaged as
NAR](functions-package-java.md) that are placed in the `functions` directory of
the function worker are loaded at startup and can be referenced when creating a
function.
diff --git a/docs/functions-deploy-cluster-encryption.md
b/docs/functions-deploy-cluster-encryption.md
index 28da8013b98..1749de70550 100644
--- a/docs/functions-deploy-cluster-encryption.md
+++ b/docs/functions-deploy-cluster-encryption.md
@@ -2,9 +2,10 @@
id: functions-deploy-cluster-encryption
title: Enable end-to-end-encryption
sidebar_label: "Enable end-to-end-encryption"
+description: Enable end-to-end-encryption for a function in Pulsar.
---
-To perform end-to-end [encryption](security-encryption.md), you can specify
`--producer-config` and `--input-specs` in the
[`pulsar-admin`](pathname:///reference/#/@pulsar:version_reference@/pulsar-admin/)
CLI with the public and private key pair configured by the application. Only
the consumers with a valid key can decrypt the encrypted messages.
+To enable end-to-end [encryption](security-encryption.md), you can specify
`--producer-config` and `--input-specs` in the
[`pulsar-admin`](pathname:///reference/#/@pulsar:version_reference@/pulsar-admin/)
CLI with the public and private key pair configured by the application. Only
the consumers with a valid key can decrypt the encrypted messages.
The encryption/decryption relevant configuration
[`CryptoConfig`](functions-cli.md) is included in both `ProducerConfig` and
`inputSpecs`. The specific configurable fields about `CryptoConfig` are as
follows:
diff --git a/docs/functions-deploy-cluster-parallelism.md
b/docs/functions-deploy-cluster-parallelism.md
index 3620f042cd2..fef7ebcf7d4 100644
--- a/docs/functions-deploy-cluster-parallelism.md
+++ b/docs/functions-deploy-cluster-parallelism.md
@@ -2,6 +2,7 @@
id: functions-deploy-cluster-parallelism
title: Enable parallel processing
sidebar_label: "Enable parallel processing"
+description: Enable parallel processing for a function in Pulsar.
---
In cluster mode, you can specify the **parallelism** (the number of instances
to run) to enable parallel processing for a function.
diff --git a/docs/functions-deploy-cluster-resource.md
b/docs/functions-deploy-cluster-resource.md
index 98b1c765f6a..a000982c495 100644
--- a/docs/functions-deploy-cluster-resource.md
+++ b/docs/functions-deploy-cluster-resource.md
@@ -2,6 +2,7 @@
id: functions-deploy-cluster-resource
title: Allocate resources to function instance
sidebar_label: "Allocate resources to function instance"
+description: Allocate resources to function instance in Pulsar.
---
When running functions in cluster mode, you can specify the resources that can
be allocated to each function instance.
diff --git a/docs/functions-deploy-cluster.md b/docs/functions-deploy-cluster.md
index f6e3e3daab5..22890093200 100644
--- a/docs/functions-deploy-cluster.md
+++ b/docs/functions-deploy-cluster.md
@@ -2,6 +2,7 @@
id: functions-deploy-cluster
title: Deploy a function in cluster mode
sidebar_label: "Deploy a function in cluster mode"
+description: Deploy a Pulsar function in cluster mode.
---
Deploying a function in cluster mode uploads the function to a function
worker, which means the function is scheduled by the worker.
diff --git a/docs/functions-deploy-localrun.md
b/docs/functions-deploy-localrun.md
index 3e05f0e86cb..0d6fbda0c5e 100644
--- a/docs/functions-deploy-localrun.md
+++ b/docs/functions-deploy-localrun.md
@@ -2,6 +2,7 @@
id: functions-deploy-localrun
title: Deploy a function in localrun mode
sidebar_label: "Deploy a function in localrun mode"
+description: Deploy a Pulsar function in localrun mode.
---
When you deploy a function in localrun mode, it runs on the machine where you
enter the commands – on your laptop, for example, or in an [AWS
EC2](https://aws.amazon.com/ec2/) instance.
diff --git a/docs/functions-deploy-trigger.md b/docs/functions-deploy-trigger.md
index ad4bf72e3bd..a2da2b1f2d4 100644
--- a/docs/functions-deploy-trigger.md
+++ b/docs/functions-deploy-trigger.md
@@ -2,6 +2,7 @@
id: functions-deploy-trigger
title: Trigger a function
sidebar_label: "Trigger a function"
+description: Learn to trigger a function in Pulsar.
---
Triggering a function means that you invoke a function by producing a message
to one of the input topics via the CLI. You can use the `trigger` command to
trigger a function at any time.
diff --git a/docs/functions-develop-admin-api.md
b/docs/functions-develop-admin-api.md
index 4dc123c7961..03788808230 100644
--- a/docs/functions-develop-admin-api.md
+++ b/docs/functions-develop-admin-api.md
@@ -2,6 +2,7 @@
id: functions-develop-admin-api
title: Call Pulsar admin APIs
sidebar_label: "Call Pulsar admin APIs"
+description: Learn to call Pulsar admin APIs.
---
Pulsar Functions that use the Java SDK have access to the Pulsar admin client,
which allows the Pulsar admin client to manage API calls to your Pulsar
clusters.
diff --git a/docs/functions-develop-api.md b/docs/functions-develop-api.md
index e3c98f85f34..fa6b5f2f730 100644
--- a/docs/functions-develop-api.md
+++ b/docs/functions-develop-api.md
@@ -2,6 +2,7 @@
id: functions-develop-api
title: Use APIs
sidebar_label: "Use APIs"
+description: Learn to develop functions using Pulsar APIs.
---
````mdx-code-block
diff --git a/docs/functions-develop-log.md b/docs/functions-develop-log.md
index 331136b5165..77f182621e4 100644
--- a/docs/functions-develop-log.md
+++ b/docs/functions-develop-log.md
@@ -2,6 +2,7 @@
id: functions-develop-log
title: Produce function logs
sidebar_label: "Produce function logs"
+description: Learn to produce logs for functions in Pulsar.
---
## Produce logs for Java functions
diff --git a/docs/functions-develop-metrics.md
b/docs/functions-develop-metrics.md
index 312fc4ab2f1..0233717b026 100644
--- a/docs/functions-develop-metrics.md
+++ b/docs/functions-develop-metrics.md
@@ -2,6 +2,7 @@
id: functions-develop-metrics
title: Use metrics to monitor functions
sidebar_label: "Use metrics to monitor functions"
+description: Use metrics to monitor functions in Pulsar.
---
````mdx-code-block
diff --git a/docs/functions-develop-schema-registry.md
b/docs/functions-develop-schema-registry.md
index 5ca5297bb51..e95588accf5 100644
--- a/docs/functions-develop-schema-registry.md
+++ b/docs/functions-develop-schema-registry.md
@@ -2,6 +2,7 @@
id: functions-develop-schema-registry
title: Use schema registry
sidebar_label: "Use schema registry"
+description: Learn to develop functions using schema registry in Pulsar.
---
Pulsar has a built-in [schema registry](schema-overview.md) and is bundled
with popular [schema types](schema-understand.md#schema-type). Pulsar Functions
can leverage the existing schema information from input topics and derive the
input type. The schema registry applies to output topics as well.
diff --git a/docs/functions-develop-security.md
b/docs/functions-develop-security.md
index 52a2a1bd3c1..f177d5e9717 100644
--- a/docs/functions-develop-security.md
+++ b/docs/functions-develop-security.md
@@ -2,6 +2,7 @@
id: functions-develop-security
title: Enable security on functions
sidebar_label: "Enable security on functions"
+description: Learn to enable security on functions in Pulsar.
---
````mdx-code-block
@@ -9,12 +10,14 @@ import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
````
+If you want to enable security on functions, complete the following steps.
+
## Prerequisites
-If you want to enable security on functions, you need to [enable security
settings](functions-worker.md) on function workers first.
+- If you want to enable security on functions, you need to [enable security
settings](functions-worker.md) on function workers first.
-## Configure function workers
+## Step 1: Configure function workers
To use the secret APIs from the context, you need to set the following two
parameters for function workers.
* `secretsProviderConfiguratorClassName`
@@ -38,7 +41,7 @@ Currently, only Java and Python runtime support
`SecretsProvider`. The Java and
:::
-## Get the secret
+## Step 2: Get the secret
Once `SecretsProviderConfigurator` is set, you can get the secret using the
[`Context`](functions-concepts.md#context) object as follows.
diff --git a/docs/functions-develop-serde.md b/docs/functions-develop-serde.md
index 203177170ba..792ef320e44 100644
--- a/docs/functions-develop-serde.md
+++ b/docs/functions-develop-serde.md
@@ -2,6 +2,7 @@
id: functions-develop-serde
title: Use SerDe
sidebar_label: "Use SerDe"
+description: Learn to develop functions using Serialization and
Deserialization in Pulsar.
---
Pulsar Functions use SerDe (**Ser**ialization and **De**serialization) when
publishing data to or consuming data from Pulsar topics. How SerDe works by
default depends on the language you use (Java or Python) for a particular
function. In both languages, however, you can write custom SerDe logic for more
complex, application-specific types.
diff --git a/docs/functions-develop-state.md b/docs/functions-develop-state.md
index 8f7c546c121..0757ac9ac21 100644
--- a/docs/functions-develop-state.md
+++ b/docs/functions-develop-state.md
@@ -2,6 +2,7 @@
id: functions-develop-state
title: Configure state storage
sidebar_label: "Configure state storage"
+description: Configure state storage for functions in Pulsar.
---
````mdx-code-block
diff --git a/docs/functions-develop-tutorial.md
b/docs/functions-develop-tutorial.md
index 439d470629a..e276673debd 100644
--- a/docs/functions-develop-tutorial.md
+++ b/docs/functions-develop-tutorial.md
@@ -2,6 +2,7 @@
id: functions-develop-tutorial
title: Tutorials
sidebar_label: "Tutorials"
+description: Tutorial examples for developing functions in Pulsar.
---
## Write a function for word count
@@ -12,6 +13,8 @@ The following example is a stateful function. By default, the
state of a functio
:::
+To write a function for word count, complete the following steps.
+
1. Write the function in Java using the [SDK for
Java](functions-develop-api.md).
```java
@@ -50,6 +53,8 @@ The following example is a stateful function. By default, the
state of a functio
## Write a function for content-based routing
+To write a function for content-based routing, complete the following steps.
+
1. Write the function in Python using the [SDK for
Python](functions-develop-api.md).
```python
diff --git a/docs/functions-develop-user-defined-configs.md
b/docs/functions-develop-user-defined-configs.md
index e12d8cbd49f..d7f75ed1081 100644
--- a/docs/functions-develop-user-defined-configs.md
+++ b/docs/functions-develop-user-defined-configs.md
@@ -2,6 +2,7 @@
id: functions-develop-user-defined-configs
title: Pass user-defined configurations
sidebar_label: "Pass user-defined configurations"
+description: Learn to pass user-defined configurations to a function in Pulsar.
---
````mdx-code-block
diff --git a/docs/functions-overview.md b/docs/functions-overview.md
index 7d5102d866d..0ade781e7bf 100644
--- a/docs/functions-overview.md
+++ b/docs/functions-overview.md
@@ -2,15 +2,9 @@
id: functions-overview
title: Pulsar Functions overview
sidebar_label: "Overview"
+description: Get a comprehensive understanding of Pulsar functions.
---
-This section introduces the following content:
-* [What are Pulsar Functions](#what-are-pulsar-functions)
-* [Why use Pulsar Functions](#why-use-pulsar-functions)
-* [Use cases](#use-cases)
-* [What's next?](#whats-next)
-
-
## What are Pulsar Functions
Pulsar Functions are a serverless computing framework that runs on top of
Pulsar and processes messages in the following way:
@@ -20,7 +14,7 @@ Pulsar Functions are a serverless computing framework that
runs on top of Pulsar
The diagram below illustrates the three steps in the functions computing
process.
-
+
Each time a function receives a message, it completes the following
consume-apply-publish steps.
1. Consumes the message from one or more **input topics**.
diff --git a/docs/functions-package-go.md b/docs/functions-package-go.md
index 127807a2b33..25eedc3a9af 100644
--- a/docs/functions-package-go.md
+++ b/docs/functions-package-go.md
@@ -2,6 +2,7 @@
id: functions-package-go
title: Package Go Functions
sidebar_label: "Package Go Functions"
+description: Learn to package Go functions in Pulsar.
---
:::note
diff --git a/docs/functions-package-java.md b/docs/functions-package-java.md
index c14306ea4a8..3f227cc7a69 100644
--- a/docs/functions-package-java.md
+++ b/docs/functions-package-java.md
@@ -2,10 +2,9 @@
id: functions-package-java
title: Package Java Functions
sidebar_label: "Package Java Functions"
+description: Learn to package Java functions in Pulsar.
---
-There are two methods to package Java Functions, that is [uber
JAR](#package-as-jar) and [NAR](#package-as-nar).
-
:::note
If you plan to package and distribute your function for others to use, you are
obligated to
@@ -20,6 +19,8 @@ For the runtime Java version, refer to [Pulsar Runtime Java
Version Recommendati
:::
+There are two methods to package Java Functions:
+
## Package as JAR
To package a Java function as JAR, complete the following steps.
diff --git a/docs/functions-package-python.md b/docs/functions-package-python.md
index 49feed9818e..c5d056be621 100644
--- a/docs/functions-package-python.md
+++ b/docs/functions-package-python.md
@@ -2,12 +2,10 @@
id: functions-package-python
title: Package Python Functions
sidebar_label: "Package Python Functions"
+description: Learn to package Python functions in Pulsar.
---
Python functions support the following three packaging formats:
-- One Python file
-- ZIP file
-- PIP
## One Python file
diff --git a/docs/functions-quickstart.md b/docs/functions-quickstart.md
index e3d839310d5..29ef7cf25c9 100644
--- a/docs/functions-quickstart.md
+++ b/docs/functions-quickstart.md
@@ -2,6 +2,7 @@
id: functions-quickstart
title: Getting started with Pulsar Functions
sidebar_label: "Get started"
+description: Get started to create and validate Pulsar functions.
---
This hands-on tutorial provides step-by-step instructions and examples on how
to create and validate functions in a [standalone
Pulsar](getting-started-standalone.md), including stateful functions and window
functions.
@@ -11,7 +12,7 @@ This hands-on tutorial provides step-by-step instructions and
examples on how to
- JDK 8+. For more details, refer to [Pulsar runtime Java version
recommendation](https://github.com/apache/pulsar#pulsar-runtime-java-version-recommendation).
- Windows OS is not supported.
-## Start standalone Pulsar
+## Step 1: Start standalone Pulsar
1. Enable pulsar function in `conf/standalone.conf` (add this field if not
exists):
@@ -85,7 +86,7 @@ This hands-on tutorial provides step-by-step instructions and
examples on how to
Escape character is '^]'.
```
-## Create a namespace for test
+## Step 2: Create a namespace for test
1. Create a tenant and a namespace.
@@ -108,7 +109,7 @@ This hands-on tutorial provides step-by-step instructions
and examples on how to
"test/test-namespace"
```
-## Start functions
+## Step 3: Start functions
:::note
@@ -278,18 +279,18 @@ Before starting functions, you need to [start
Pulsar](#start-standalone-pulsar)
test-messages-Thu Jul 19 11:59:15 PDT 2021!
```
-## Start stateful functions
+### Start stateful functions
The standalone mode of Pulsar enables BookKeeper table service for stateful
functions. For more information, see [Configure state
storage](functions-develop-state.md).
-The following example provides instructions to validate counter functions.
-
:::note
Before starting stateful functions, you need to [start
Pulsar](#start-standalone-pulsar) and [create a test
namespace](#create-a-namespace-for-test).
:::
+The following example provides instructions to start a stateful function to
validate counter functions.
+
1. Create a function using `examples/example-stateful-function-config.yaml`.
```bash
@@ -463,18 +464,18 @@ Before starting stateful functions, you need to [start
Pulsar](#start-standalone
}
```
-## Start window functions
+### Start window functions
Window functions are a special form of Pulsar Functions. For more information,
see [concepts](functions-concepts.md#window-function).
-The following example provides instructions to start a window function to
calculate the sum in a window.
-
:::note
Before starting window functions, you need to [start
Pulsar](#start-standalone-pulsar) and [create a test
namespace](#create-a-namespace-for-test).
:::
+The following example provides instructions to start a window function to
calculate the sum in a window.
+
1. Create a function using `example-window-function-config.yaml`.
```bash
diff --git a/docs/functions-runtime-java-options.md
b/docs/functions-runtime-java-options.md
index 83dfaab11f6..c61f94df317 100644
--- a/docs/functions-runtime-java-options.md
+++ b/docs/functions-runtime-java-options.md
@@ -2,6 +2,7 @@
id: functions-runtime-java-options
title: Customize Java runtime options
sidebar_label: "Customize Java runtime options"
+description: Customize Java runtime options in Pulsar.
---
:::note
diff --git a/docs/functions-runtime-kubernetes.md
b/docs/functions-runtime-kubernetes.md
index 0d0da513840..5feb83a5ab2 100644
--- a/docs/functions-runtime-kubernetes.md
+++ b/docs/functions-runtime-kubernetes.md
@@ -2,6 +2,7 @@
id: functions-runtime-kubernetes
title: Configure Kubernetes runtime
sidebar_label: "Configure Kubernetes runtime"
+description: Configure Kubernetes runtime for functions in Pulsar.
---
The Kubernetes runtime works when a function worker generates and applies
Kubernetes manifests. The manifests generated by a function worker include:
@@ -47,7 +48,7 @@ secrets:
When you use token authentication, TLS encryption, or custom authentications
to secure the communication with your Pulsar cluster, Pulsar passes your
certificate authority (CA) to the client, so the client can authenticate the
cluster with your signed certificate.
-To enable the authentication for your Pulsar cluster, you need to specify a
mechanism for the pod running your function to authenticate the broker, by
implementing the
`org.apache.pulsar.functions.auth.KubernetesFunctionAuthProvider` interface.
+To enable the token authentication for your Pulsar cluster, you need to
specify a mechanism for the pod running your function to authenticate the
broker, by implementing the
`org.apache.pulsar.functions.auth.KubernetesFunctionAuthProvider` interface.
* For token authentication, Pulsar includes an implementation of the above
interface to distribute the CA. The function worker captures the token that
deploys (or updates) the function, saves it as a secret, and mounts it into the
pod.
diff --git a/docs/functions-runtime-process.md
b/docs/functions-runtime-process.md
index 7aed3c3f478..e1649e78c49 100644
--- a/docs/functions-runtime-process.md
+++ b/docs/functions-runtime-process.md
@@ -2,6 +2,7 @@
id: functions-runtime-process
title: Configure process runtime
sidebar_label: "Configure process runtime"
+description: Configure process runtime for functions in Pulsar.
---
You can use the default configurations of process runtime in the
`conf/functions_worker.yml` file.
diff --git a/docs/functions-runtime-thread.md b/docs/functions-runtime-thread.md
index 130a1506fdc..8994677bb90 100644
--- a/docs/functions-runtime-thread.md
+++ b/docs/functions-runtime-thread.md
@@ -2,6 +2,7 @@
id: functions-runtime-thread
title: Configure thread runtime
sidebar_label: "Configure thread runtime"
+description: Configure thread runtime for functions in Pulsar.
---
You can use the default configurations of thread runtime in the
`conf/functions_worker.yml` file.
diff --git a/docs/functions-worker-corun.md b/docs/functions-worker-corun.md
index c4a5156fa21..6168e3efa96 100644
--- a/docs/functions-worker-corun.md
+++ b/docs/functions-worker-corun.md
@@ -2,11 +2,12 @@
id: functions-worker-corun
title: Run function workers with brokers
sidebar_label: "Run function workers with brokers"
+description: Run Pulsar function workers with brokers.
---
The following diagram illustrates the deployment of function workers running
along with brokers.
-
+
:::note
@@ -15,12 +16,8 @@ The `Service URLs` in the illustration represent Pulsar
service URLs that Pulsar
:::
To set up function workers to run with brokers, complete the following steps:
-1. [Enable function workers](#enable-function-workers-to-run-with-brokers)
-2. [Configure function
workers](#configure-function-workers-to-run-with-brokers)
-3. [Start function workers](#start-function-workers-to-run-with-brokers)
-
-### Enable function workers to run with brokers
+### Step 1: Enable function workers to run with brokers
In the `conf/broker.conf` file (`conf/standalone.conf` for Pulsar standalone),
set `functionsWorkerEnabled` to `true`.
@@ -28,7 +25,7 @@ In the `conf/broker.conf` file (`conf/standalone.conf` for
Pulsar standalone), s
functionsWorkerEnabled=true
```
-### Configure function workers to run with brokers
+### Step 2: Configure function workers to run with brokers
In the `run-with-brokers` mode, most settings of function workers are
inherited from your broker configuration (for example, configuration store
settings, authentication settings, and so on). You can customize other worker
settings by configuring the `conf/functions_worker.yml` file based on your
needs.
@@ -44,7 +41,7 @@ When authentication is enabled on the BookKeeper cluster, you
need to configure
- `bookkeeperClientAuthenticationParametersName`: the authentication plugin
parameters of BookKeeper client, including names and values.
- `bookkeeperClientAuthenticationParameters`: the authentication plugin
parameters of BookKeeper client.
-### Start function workers to run with brokers
+### Step 3: Start function workers to run with brokers
Once function workers are configured properly, you can start the brokers
(function workers are running with the brokers).
diff --git a/docs/functions-worker-for-geo-replication.md
b/docs/functions-worker-for-geo-replication.md
index 9a0b5000a60..c8bbc1c0a33 100644
--- a/docs/functions-worker-for-geo-replication.md
+++ b/docs/functions-worker-for-geo-replication.md
@@ -2,6 +2,7 @@
id: functions-worker-for-geo-replication
title: Configure function workers for geo-replicated clusters
sidebar_label: "Configure function workers for geo-replicated clusters"
+description: Configure function workers for geo-replicated clusters in Pulsar.
---
When running multiple clusters tied together with [geo
replication](concepts-replication.md), you need to use a different function
namespace for each cluster. Otherwise, all functions share one namespace and
potentially schedule assignments across clusters.
diff --git a/docs/functions-worker-run-separately.md
b/docs/functions-worker-run-separately.md
index 9135b7cdf9e..1d026d216e6 100644
--- a/docs/functions-worker-run-separately.md
+++ b/docs/functions-worker-run-separately.md
@@ -2,11 +2,12 @@
id: functions-worker-run-separately
title: Run function workers separately
sidebar_label: "Run function workers separately"
+description: Run Pulsar function workers separately.
---
The following diagram illustrates how function workers run as a separate
process in separate machines.
-
+
:::note
@@ -15,11 +16,8 @@ The `Service URLs` in the illustration represent Pulsar
service URLs that Pulsar
:::
To set up function workers that run separately, complete the following steps:
-1. [Configure function workers](#configure-function-workers-to-run-separately)
-2. [Start function workers](#start-function-workers)
-3. [Configure proxies for function
workers](#configure-proxies-for-standalone-function-workers)
-## Configure function workers to run separately
+## Step 1: Configure function workers to run separately
:::note
@@ -189,7 +187,7 @@ If authentication is enabled on the BookKeeper cluster, you
need to configure th
- `bookkeeperClientAuthenticationParametersName`: the authentication plugin
parameters of BookKeeper client, including names and values.
- `bookkeeperClientAuthenticationParameters`: the authentication plugin
parameters of BookKeeper client.
-## Start function workers
+## Step 2: Start function workers
:::note
@@ -209,7 +207,7 @@ Before starting function workers, make sure [function
runtime](functions-runtime
bin/pulsar functions-worker
```
-## Configure proxies for standalone function workers
+## Step 3: Configure proxies for standalone function workers
When you are running function workers in a separate cluster, the admin rest
endpoints are split into two clusters as shown in the following figure. The
`functions`, `function-worker`, `source`, and `sink` endpoints are now served
by the worker cluster, while all the other remaining endpoints are served by
the broker cluster. This requires you to use the right service URL accordingly
in the `pulsar-admin` CLI. To address this inconvenience, you can start a proxy
cluster that serves as the [...]
diff --git a/docs/functions-worker-stateful.md
b/docs/functions-worker-stateful.md
index efe9d85ee5b..7e158505a99 100644
--- a/docs/functions-worker-stateful.md
+++ b/docs/functions-worker-stateful.md
@@ -2,6 +2,7 @@
id: functions-worker-stateful
title: Enable stateful functions
sidebar_label: "Enable stateful functions"
+description: Enable stateful function feature in Pulsar function workers.
---
:::note
@@ -10,6 +11,8 @@ When the stateful APIs of Pulsar Functions are required – for
example, `putSta
:::
+To enable the stateful function feature in function workers, complete the
following steps.
+
1. Enable the `streamStorage` service in BookKeeper.
Currently, the service uses the NAR package, so you need to set the
configuration in the `conf/bookkeeper.conf` file.
diff --git a/docs/functions-worker-temp-file-path.md
b/docs/functions-worker-temp-file-path.md
index 4113a208b15..6b6ac4f3e57 100644
--- a/docs/functions-worker-temp-file-path.md
+++ b/docs/functions-worker-temp-file-path.md
@@ -2,6 +2,7 @@
id: functions-worker-temp-file-path
title: Configure temporary file path
sidebar_label: "Configure temporary file path"
+description: Configure temporary file path for function workers in Pulsar.
---
Function workers use `java.io.tmpdir` in the JVM as the default temporary file
path, which is also used as the default extraction file path for each NAR
package. NAR packages require a local file path to extract and load to the Java
class loader.
diff --git a/docs/functions-worker-troubleshooting.md
b/docs/functions-worker-troubleshooting.md
index f082f383e8c..a4493cc15dc 100644
--- a/docs/functions-worker-troubleshooting.md
+++ b/docs/functions-worker-troubleshooting.md
@@ -2,6 +2,7 @@
id: functions-worker-troubleshooting
title: Troubleshooting
sidebar_label: "Troubleshooting"
+description: Troubleshooting function worker configuration in Pulsar.
---
**Error message: Namespace missing local cluster name in clusters list**
diff --git a/docs/window-functions-context.md b/docs/window-functions-context.md
index a2e0145a85e..a7d0d1948ba 100644
--- a/docs/window-functions-context.md
+++ b/docs/window-functions-context.md
@@ -2,6 +2,7 @@
id: window-functions-context
title: Window Functions Context
sidebar_label: "Window Functions: Context"
+description: Get a comprehensive understanding of window functions context in
Pulsar.
---
Java SDK provides access to a **window context object** that can be used by a
window function. This context object provides a wide variety of information and
functionality for Pulsar window functions as below.