You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by li...@apache.org on 2021/08/30 10:22:57 UTC
[pulsar] branch master updated: [website][upgrade]feat: docs
migration about getting started (#11835)
This is an automated email from the ASF dual-hosted git repository.
liuyu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pulsar.git
The following commit(s) were added to refs/heads/master by this push:
new 806742b [website][upgrade]feat: docs migration about getting started (#11835)
806742b is described below
commit 806742b5eded16727e10d8ba2c1567d87393a158
Author: Li Li <ur...@gmail.com>
AuthorDate: Mon Aug 30 18:22:02 2021 +0800
[website][upgrade]feat: docs migration about getting started (#11835)
* chore: ignore website-tmp* dirs
Signed-off-by: LiLi <ur...@gmail.com>
* feat: init base framework
Signed-off-by: LiLi <ur...@gmail.com>
* fix: change config links
Signed-off-by: LiLi <ur...@gmail.com>
* chore: change theme and remove default elements
Signed-off-by: LiLi <ur...@gmail.com>
* feature: add multiple version support
Signed-off-by: LiLi <ur...@gmail.com>
* patch
Signed-off-by: LiLi <ur...@gmail.com>
* feat: upgrade deps
Signed-off-by: LiLi <ur...@gmail.com>
* feat: docs migration about getting started
Signed-off-by: LiLi <ur...@gmail.com>
---
site2/website-next/docs/getting-started-clients.md | 35 ++
.../getting-started-concepts-and-architecture.md | 15 +
site2/website-next/docs/getting-started-docker.md | 193 +++++++++++
site2/website-next/docs/getting-started-helm.md | 362 ++++++++++++++++++++
site2/website-next/docs/getting-started-pulsar.md | 66 ++++
.../docs/getting-started-standalone.md | 220 +++++++++++++
site2/website-next/docs/intro.md | 5 -
site2/website-next/docusaurus.config.js | 23 +-
site2/website-next/package.json | 12 +-
site2/website-next/sidebars.js | 25 +-
site2/website-next/src/pages/index.js | 2 +-
.../version-2.7.3/getting-started-clients.md | 35 ++
.../getting-started-concepts-and-architecture.md | 16 +
.../version-2.7.3/getting-started-docker.md | 161 +++++++++
.../version-2.7.3/getting-started-helm.md | 363 +++++++++++++++++++++
.../version-2.7.3/getting-started-pulsar.md | 67 ++++
.../version-2.7.3/getting-started-standalone.md | 227 +++++++++++++
.../version-2.8.0/getting-started-clients.md | 35 ++
.../getting-started-concepts-and-architecture.md | 16 +
.../version-2.8.0/getting-started-docker.md | 161 +++++++++
.../version-2.8.0/getting-started-helm.md | 363 +++++++++++++++++++++
.../version-2.8.0/getting-started-pulsar.md | 67 ++++
.../version-2.8.0/getting-started-standalone.md | 231 +++++++++++++
.../versioned_sidebars/version-2.7.3-sidebars.json | 24 ++
.../versioned_sidebars/version-2.8.0-sidebars.json | 24 ++
site2/website-next/versions.json | 4 +
26 files changed, 2715 insertions(+), 37 deletions(-)
diff --git a/site2/website-next/docs/getting-started-clients.md b/site2/website-next/docs/getting-started-clients.md
new file mode 100644
index 0000000..1060aad
--- /dev/null
+++ b/site2/website-next/docs/getting-started-clients.md
@@ -0,0 +1,35 @@
+---
+id: client-libraries
+title: Pulsar client libraries
+sidebar_label: Overview
+---
+
+Pulsar supports the following client libraries:
+
+- [Java client](client-libraries-java.md)
+- [Go client](client-libraries-go.md)
+- [Python client](client-libraries-python.md)
+- [C++ client](client-libraries-cpp.md)
+- [Node.js client](client-libraries-node.md)
+- [WebSocket client](client-libraries-websocket.md)
+- [C# client](client-libraries-dotnet.md)
+
+## Feature matrix
+Pulsar client feature matrix for different languages is listed on [Client Features Matrix](https://github.com/apache/pulsar/wiki/Client-Features-Matrix) page.
+
+## Third-party clients
+
+Besides the official released clients, multiple projects on developing Pulsar clients are available in different languages.
+
+> If you have developed a new Pulsar client, feel free to submit a pull request and add your client to the list below.
+
+| Language | Project | Maintainer | License | Description |
+|----------|---------|------------|---------|-------------|
+| Go | [pulsar-client-go](https://github.com/Comcast/pulsar-client-go) | [Comcast](https://github.com/Comcast) | [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) | A native golang client |
+| Go | [go-pulsar](https://github.com/t2y/go-pulsar) | [t2y](https://github.com/t2y) | [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) |
+| Haskell | [supernova](https://github.com/cr-org/supernova) | [Chatroulette](https://github.com/cr-org) | [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) | Native Pulsar client for Haskell |
+| Scala | [neutron](https://github.com/cr-org/neutron) | [Chatroulette](https://github.com/cr-org) | [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) | Purely functional Apache Pulsar client for Scala built on top of Fs2 |
+| Scala | [pulsar4s](https://github.com/sksamuel/pulsar4s) | [sksamuel](https://github.com/sksamuel) | [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) | Idomatic, typesafe, and reactive Scala client for Apache Pulsar |
+| Rust | [pulsar-rs](https://github.com/wyyerd/pulsar-rs) | [Wyyerd Group](https://github.com/wyyerd) | [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) | Future-based Rust bindings for Apache Pulsar |
+| .NET | [pulsar-client-dotnet](https://github.com/fsharplang-ru/pulsar-client-dotnet) | [Lanayx](https://github.com/Lanayx) | [![GitHub](https://img.shields.io/badge/license-MIT-green.svg)](https://opensource.org/licenses/MIT) | Native .NET client for C#/F#/VB |
+| Node.js | [pulsar-flex](https://github.com/ayeo-flex-org/pulsar-flex) | [Daniel Sinai](https://github.com/danielsinai), [Ron Farkash](https://github.com/ronfarkash), [Gal Rosenberg](https://github.com/galrose)| [![GitHub](https://img.shields.io/badge/license-MIT-green.svg)](https://opensource.org/licenses/MIT) | Native Nodejs client |
diff --git a/site2/website-next/docs/getting-started-concepts-and-architecture.md b/site2/website-next/docs/getting-started-concepts-and-architecture.md
new file mode 100644
index 0000000..dc49619
--- /dev/null
+++ b/site2/website-next/docs/getting-started-concepts-and-architecture.md
@@ -0,0 +1,15 @@
+---
+id: concepts-architecture
+title: Pulsar concepts and architecture
+sidebar_label: Concepts and architecture
+---
+
+
+
+
+
+
+
+
+
+
diff --git a/site2/website-next/docs/getting-started-docker.md b/site2/website-next/docs/getting-started-docker.md
new file mode 100644
index 0000000..16dfa8b
--- /dev/null
+++ b/site2/website-next/docs/getting-started-docker.md
@@ -0,0 +1,193 @@
+---
+id: standalone-docker
+title: Set up a standalone Pulsar in Docker
+sidebar_label: Run Pulsar in Docker
+---
+
+For local development and testing, you can run Pulsar in standalone mode on your own machine within a Docker container.
+
+If you have not installed Docker, download the [Community edition](https://www.docker.com/community-edition) and follow the instructions for your OS.
+
+## Start Pulsar in Docker
+
+* For MacOS, Linux, and Windows:
+
+ ```shell
+ $ docker run -it -p 6650:6650 -p 8080:8080 --mount source=pulsardata,target=/pulsar/data --mount source=pulsarconf,target=/pulsar/conf apachepulsar/pulsar:{{pulsar:version}} bin/pulsar standalone
+ ```
+
+A few things to note about this command:
+ * The data, metadata, and configuration are persisted on Docker volumes in order to not start "fresh" every
+time the container is restarted. For details on the volumes you can use `docker volume inspect <sourcename>`
+ * For Docker on Windows make sure to configure it to use Linux containers
+
+If you start Pulsar successfully, you will see `INFO`-level log messages like this:
+
+```
+08:18:30.970 [main] INFO org.apache.pulsar.broker.web.WebService - HTTP Service started at http://0.0.0.0:8080
+...
+07:53:37.322 [main] INFO org.apache.pulsar.broker.PulsarService - messaging service is ready, bootstrap service port = 8080, broker url= pulsar://localhost:6650, cluster=standalone, configs=org.apache.pulsar.broker.ServiceConfiguration@98b63c1
+...
+```
+
+> **Tip**
+> When you start a local standalone cluster, a `public/default`
+namespace is created automatically. The namespace is used for development purposes. All Pulsar topics are managed within namespaces.
+For more information, see [Topics](concepts-messaging.md#topics).
+
+## Use Pulsar in Docker
+
+Pulsar offers client libraries for [Java](client-libraries-java.md), [Go](client-libraries-go.md), [Python](client-libraries-python.md)
+and [C++](client-libraries-cpp.md). If you're running a local standalone cluster, you can
+use one of these root URLs to interact with your cluster:
+
+* `pulsar://localhost:6650`
+* `http://localhost:8080`
+
+The following example will guide you get started with Pulsar quickly by using the [Python client API](client-libraries-python.md)
+client API.
+
+Install the Pulsar Python client library directly from [PyPI](https://pypi.org/project/pulsar-client/):
+
+```shell
+$ pip install pulsar-client
+```
+
+### Consume a message
+
+Create a consumer and subscribe to the topic:
+
+```python
+import pulsar
+
+client = pulsar.Client('pulsar://localhost:6650')
+consumer = client.subscribe('my-topic',
+ subscription_name='my-sub')
+
+while True:
+ msg = consumer.receive()
+ print("Received message: '%s'" % msg.data())
+ consumer.acknowledge(msg)
+
+client.close()
+```
+
+### Produce a message
+
+Now start a producer to send some test messages:
+
+```python
+import pulsar
+
+client = pulsar.Client('pulsar://localhost:6650')
+producer = client.create_producer('my-topic')
+
+for i in range(10):
+ producer.send(('hello-pulsar-%d' % i).encode('utf-8'))
+
+client.close()
+```
+
+## Get the topic statistics
+
+In Pulsar, you can use REST, Java, or command-line tools to control every aspect of the system.
+For details on APIs, refer to [Admin API Overview](admin-api-overview.md).
+
+In the simplest example, you can use curl to probe the stats for a particular topic:
+
+```shell
+$ curl http://localhost:8080/admin/v2/persistent/public/default/my-topic/stats | python -m json.tool
+```
+
+The output is something like this:
+
+```json
+{
+ "msgRateIn": 0.0,
+ "msgThroughputIn": 0.0,
+ "msgRateOut": 1.8332950480217471,
+ "msgThroughputOut": 91.33142602871978,
+ "bytesInCounter": 7097,
+ "msgInCounter": 143,
+ "bytesOutCounter": 6607,
+ "msgOutCounter": 133,
+ "averageMsgSize": 0.0,
+ "msgChunkPublished": false,
+ "storageSize": 7097,
+ "backlogSize": 0,
+ "offloadedStorageSize": 0,
+ "publishers": [
+ {
+ "accessMode": "Shared",
+ "msgRateIn": 0.0,
+ "msgThroughputIn": 0.0,
+ "averageMsgSize": 0.0,
+ "chunkedMessageRate": 0.0,
+ "producerId": 0,
+ "metadata": {},
+ "address": "/127.0.0.1:35604",
+ "connectedSince": "2021-07-04T09:05:43.04788Z",
+ "clientVersion": "2.8.0",
+ "producerName": "standalone-2-5"
+ }
+ ],
+ "waitingPublishers": 0,
+ "subscriptions": {
+ "my-sub": {
+ "msgRateOut": 1.8332950480217471,
+ "msgThroughputOut": 91.33142602871978,
+ "bytesOutCounter": 6607,
+ "msgOutCounter": 133,
+ "msgRateRedeliver": 0.0,
+ "chunkedMessageRate": 0,
+ "msgBacklog": 0,
+ "backlogSize": 0,
+ "msgBacklogNoDelayed": 0,
+ "blockedSubscriptionOnUnackedMsgs": false,
+ "msgDelayed": 0,
+ "unackedMessages": 0,
+ "type": "Exclusive",
+ "activeConsumerName": "3c544f1daa",
+ "msgRateExpired": 0.0,
+ "totalMsgExpired": 0,
+ "lastExpireTimestamp": 0,
+ "lastConsumedFlowTimestamp": 1625389101290,
+ "lastConsumedTimestamp": 1625389546070,
+ "lastAckedTimestamp": 1625389546162,
+ "lastMarkDeleteAdvancedTimestamp": 1625389546163,
+ "consumers": [
+ {
+ "msgRateOut": 1.8332950480217471,
+ "msgThroughputOut": 91.33142602871978,
+ "bytesOutCounter": 6607,
+ "msgOutCounter": 133,
+ "msgRateRedeliver": 0.0,
+ "chunkedMessageRate": 0.0,
+ "consumerName": "3c544f1daa",
+ "availablePermits": 867,
+ "unackedMessages": 0,
+ "avgMessagesPerEntry": 6,
+ "blockedConsumerOnUnackedMsgs": false,
+ "lastAckedTimestamp": 1625389546162,
+ "lastConsumedTimestamp": 1625389546070,
+ "metadata": {},
+ "address": "/127.0.0.1:35472",
+ "connectedSince": "2021-07-04T08:58:21.287682Z",
+ "clientVersion": "2.8.0"
+ }
+ ],
+ "isDurable": true,
+ "isReplicated": false,
+ "consumersAfterMarkDeletePosition": {},
+ "nonContiguousDeletedMessagesRanges": 0,
+ "nonContiguousDeletedMessagesRangesSerializedSize": 0,
+ "durable": true,
+ "replicated": false
+ }
+ },
+ "replication": {},
+ "deduplicationStatus": "Disabled",
+ "nonContiguousDeletedMessagesRanges": 0,
+ "nonContiguousDeletedMessagesRangesSerializedSize": 0
+}
+```
diff --git a/site2/website-next/docs/getting-started-helm.md b/site2/website-next/docs/getting-started-helm.md
new file mode 100644
index 0000000..b147f55
--- /dev/null
+++ b/site2/website-next/docs/getting-started-helm.md
@@ -0,0 +1,362 @@
+---
+id: kubernetes-helm
+title: Get started in Kubernetes
+sidebar_label: Run Pulsar in Kubernetes
+---
+
+This section guides you through every step of installing and running Apache Pulsar with Helm on Kubernetes quickly, including the following sections:
+
+- Install the Apache Pulsar on Kubernetes using Helm
+- Start and stop Apache Pulsar
+- Create topics using `pulsar-admin`
+- Produce and consume messages using Pulsar clients
+- Monitor Apache Pulsar status with Prometheus and Grafana
+
+For deploying a Pulsar cluster for production usage, read the documentation on [how to configure and install a Pulsar Helm chart](helm-deploy.md).
+
+## Prerequisite
+
+- Kubernetes server 1.14.0+
+- kubectl 1.14.0+
+- Helm 3.0+
+
+> **Tip**
+> For the following steps, step 2 and step 3 are for **developers** and step 4 and step 5 are for **administrators**.
+
+## Step 0: Prepare a Kubernetes cluster
+
+Before installing a Pulsar Helm chart, you have to create a Kubernetes cluster. You can follow [the instructions](helm-prepare.md) to prepare a Kubernetes cluster.
+
+We use [Minikube](https://minikube.sigs.k8s.io/docs/start/) in this quick start guide. To prepare a Kubernetes cluster, follow these steps:
+
+1. Create a Kubernetes cluster on Minikube.
+
+ ```bash
+ minikube start --memory=8192 --cpus=4 --kubernetes-version=<k8s-version>
+ ```
+
+ The `<k8s-version>` can be any [Kubernetes version supported by your Minikube installation](https://minikube.sigs.k8s.io/docs/reference/configuration/kubernetes/), such as `v1.16.1`.
+
+2. Set `kubectl` to use Minikube.
+
+ ```bash
+ kubectl config use-context minikube
+ ```
+
+3. To use the [Kubernetes Dashboard](https://kubernetes.io/docs/tasks/access-application-cluster/web-ui-dashboard/) with the local Kubernetes cluster on Minikube, enter the command below:
+
+ ```bash
+ minikube dashboard
+ ```
+ The command automatically triggers opening a webpage in your browser.
+
+## Step 1: Install Pulsar Helm chart
+
+1. Add Pulsar charts repo.
+
+ ```bash
+ helm repo add apache https://pulsar.apache.org/charts
+ ```
+
+ ```bash
+ helm repo update
+ ```
+
+2. Clone the Pulsar Helm chart repository.
+
+ ```bash
+ git clone https://github.com/apache/pulsar-helm-chart
+ cd pulsar-helm-chart
+ ```
+
+3. Run the script `prepare_helm_release.sh` to create secrets required for installing the Apache Pulsar Helm chart. The username `pulsar` and password `pulsar` are used for logging into the Grafana dashboard and Pulsar Manager.
+
+ ```bash
+ ./scripts/pulsar/prepare_helm_release.sh \
+ -n pulsar \
+ -k pulsar-mini \
+ -c
+ ```
+
+4. Use the Pulsar Helm chart to install a Pulsar cluster to Kubernetes.
+
+ > **Note**
+ > You need to specify `--set initialize=true` when installing Pulsar the first time. This command installs and starts Apache Pulsar.
+
+ ```bash
+ helm install \
+ --values examples/values-minikube.yaml \
+ --set initialize=true \
+ --namespace pulsar \
+ pulsar-mini apache/pulsar
+ ```
+
+5. Check the status of all pods.
+
+ ```bash
+ kubectl get pods -n pulsar
+ ```
+
+ If all pods start up successfully, you can see that the `STATUS` is changed to `Running` or `Completed`.
+
+ **Output**
+
+ ```bash
+ NAME READY STATUS RESTARTS AGE
+ pulsar-mini-bookie-0 1/1 Running 0 9m27s
+ pulsar-mini-bookie-init-5gphs 0/1 Completed 0 9m27s
+ pulsar-mini-broker-0 1/1 Running 0 9m27s
+ pulsar-mini-grafana-6b7bcc64c7-4tkxd 1/1 Running 0 9m27s
+ pulsar-mini-prometheus-5fcf5dd84c-w8mgz 1/1 Running 0 9m27s
+ pulsar-mini-proxy-0 1/1 Running 0 9m27s
+ pulsar-mini-pulsar-init-t7cqt 0/1 Completed 0 9m27s
+ pulsar-mini-pulsar-manager-9bcbb4d9f-htpcs 1/1 Running 0 9m27s
+ pulsar-mini-toolset-0 1/1 Running 0 9m27s
+ pulsar-mini-zookeeper-0 1/1 Running 0 9m27s
+ ```
+
+6. Check the status of all services in the namespace `pulsar`.
+
+ ```bash
+ kubectl get services -n pulsar
+ ```
+
+ **Output**
+
+ ```bash
+ NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
+ pulsar-mini-bookie ClusterIP None <none> 3181/TCP,8000/TCP 11m
+ pulsar-mini-broker ClusterIP None <none> 8080/TCP,6650/TCP 11m
+ pulsar-mini-grafana LoadBalancer 10.106.141.246 <pending> 3000:31905/TCP 11m
+ pulsar-mini-prometheus ClusterIP None <none> 9090/TCP 11m
+ pulsar-mini-proxy LoadBalancer 10.97.240.109 <pending> 80:32305/TCP,6650:31816/TCP 11m
+ pulsar-mini-pulsar-manager LoadBalancer 10.103.192.175 <pending> 9527:30190/TCP 11m
+ pulsar-mini-toolset ClusterIP None <none> <none> 11m
+ pulsar-mini-zookeeper ClusterIP None <none> 2888/TCP,3888/TCP,2181/TCP 11m
+ ```
+
+## Step 2: Use pulsar-admin to create Pulsar tenants/namespaces/topics
+
+`pulsar-admin` is the CLI (command-Line Interface) tool for Pulsar. In this step, you can use `pulsar-admin` to create resources, including tenants, namespaces, and topics.
+
+1. Enter the `toolset` container.
+
+ ```bash
+ kubectl exec -it -n pulsar pulsar-mini-toolset-0 -- /bin/bash
+ ```
+
+2. In the `toolset` container, create a tenant named `apache`.
+
+ ```bash
+ bin/pulsar-admin tenants create apache
+ ```
+
+ Then you can list the tenants to see if the tenant is created successfully.
+
+ ```bash
+ bin/pulsar-admin tenants list
+ ```
+
+ You should see a similar output as below. The tenant `apache` has been successfully created.
+
+ ```bash
+ "apache"
+ "public"
+ "pulsar"
+ ```
+
+3. In the `toolset` container, create a namespace named `pulsar` in the tenant `apache`.
+
+ ```bash
+ bin/pulsar-admin namespaces create apache/pulsar
+ ```
+
+ Then you can list the namespaces of tenant `apache` to see if the namespace is created successfully.
+
+ ```bash
+ bin/pulsar-admin namespaces list apache
+ ```
+
+ You should see a similar output as below. The namespace `apache/pulsar` has been successfully created.
+
+ ```bash
+ "apache/pulsar"
+ ```
+
+4. In the `toolset` container, create a topic `test-topic` with `4` partitions in the namespace `apache/pulsar`.
+
+ ```bash
+ bin/pulsar-admin topics create-partitioned-topic apache/pulsar/test-topic -p 4
+ ```
+
+5. In the `toolset` container, list all the partitioned topics in the namespace `apache/pulsar`.
+
+ ```bash
+ bin/pulsar-admin topics list-partitioned-topics apache/pulsar
+ ```
+
+ Then you can see all the partitioned topics in the namespace `apache/pulsar`.
+
+ ```bash
+ "persistent://apache/pulsar/test-topic"
+ ```
+
+## Step 3: Use Pulsar client to produce and consume messages
+
+You can use the Pulsar client to create producers and consumers to produce and consume messages.
+
+By default, the Pulsar Helm chart exposes the Pulsar cluster through a Kubernetes `LoadBalancer`. In Minikube, you can use the following command to check the proxy service.
+
+```bash
+kubectl get services -n pulsar | grep pulsar-mini-proxy
+```
+
+You will see a similar output as below.
+
+```bash
+pulsar-mini-proxy LoadBalancer 10.97.240.109 <pending> 80:32305/TCP,6650:31816/TCP 28m
+```
+
+This output tells what are the node ports that Pulsar cluster's binary port and HTTP port are mapped to. The port after `80:` is the HTTP port while the port after `6650:` is the binary port.
+
+Then you can find the IP address and exposed ports of your Minikube server by running the following command.
+
+```bash
+minikube service pulsar-mini-proxy -n pulsar
+```
+
+**Output**
+
+```bash
+|-----------|-------------------|-------------|-------------------------|
+| NAMESPACE | NAME | TARGET PORT | URL |
+|-----------|-------------------|-------------|-------------------------|
+| pulsar | pulsar-mini-proxy | http/80 | http://172.17.0.4:32305 |
+| | | pulsar/6650 | http://172.17.0.4:31816 |
+|-----------|-------------------|-------------|-------------------------|
+🏃 Starting tunnel for service pulsar-mini-proxy.
+|-----------|-------------------|-------------|------------------------|
+| NAMESPACE | NAME | TARGET PORT | URL |
+|-----------|-------------------|-------------|------------------------|
+| pulsar | pulsar-mini-proxy | | http://127.0.0.1:61853 |
+| | | | http://127.0.0.1:61854 |
+|-----------|-------------------|-------------|------------------------|
+```
+
+At this point, you can get the service URLs to connect to your Pulsar client. Here are URL examples:
+```
+webServiceUrl=http://127.0.0.1:61853/
+brokerServiceUrl=pulsar://127.0.0.1:61854/
+```
+
+Then you can proceed with the following steps:
+
+1. Download the Apache Pulsar tarball from the [downloads page](https://pulsar.apache.org/en/download/).
+
+2. Decompress the tarball based on your download file.
+
+ ```bash
+ tar -xf <file-name>.tar.gz
+ ```
+
+3. Expose `PULSAR_HOME`.
+
+ (1) Enter the directory of the decompressed download file.
+
+ (2) Expose `PULSAR_HOME` as the environment variable.
+
+ ```bash
+ export PULSAR_HOME=$(pwd)
+ ```
+
+4. Configure the Pulsar client.
+
+ In the `${PULSAR_HOME}/conf/client.conf` file, replace `webServiceUrl` and `brokerServiceUrl` with the service URLs you get from the above steps.
+
+5. Create a subscription to consume messages from `apache/pulsar/test-topic`.
+
+ ```bash
+ bin/pulsar-client consume -s sub apache/pulsar/test-topic -n 0
+ ```
+
+6. Open a new terminal. In the new terminal, create a producer and send 10 messages to the `test-topic` topic.
+
+ ```bash
+ bin/pulsar-client produce apache/pulsar/test-topic -m "---------hello apache pulsar-------" -n 10
+ ```
+
+7. Verify the results.
+
+ - From the producer side
+
+ **Output**
+
+ The messages have been produced successfully.
+
+ ```bash
+ 18:15:15.489 [main] INFO org.apache.pulsar.client.cli.PulsarClientTool - 10 messages successfully produced
+ ```
+
+ - From the consumer side
+
+ **Output**
+
+ At the same time, you can receive the messages as below.
+
+ ```bash
+ ----- got message -----
+ ---------hello apache pulsar-------
+ ----- got message -----
+ ---------hello apache pulsar-------
+ ----- got message -----
+ ---------hello apache pulsar-------
+ ----- got message -----
+ ---------hello apache pulsar-------
+ ----- got message -----
+ ---------hello apache pulsar-------
+ ----- got message -----
+ ---------hello apache pulsar-------
+ ----- got message -----
+ ---------hello apache pulsar-------
+ ----- got message -----
+ ---------hello apache pulsar-------
+ ----- got message -----
+ ---------hello apache pulsar-------
+ ----- got message -----
+ ---------hello apache pulsar-------
+ ```
+
+## Step 4: Use Pulsar Manager to manage the cluster
+
+[Pulsar Manager](administration-pulsar-manager.md) is a web-based GUI management tool for managing and monitoring Pulsar.
+
+1. By default, the `Pulsar Manager` is exposed as a separate `LoadBalancer`. You can open the Pulsar Manager UI using the following command:
+
+ ```bash
+ minikube service -n pulsar pulsar-mini-pulsar-manager
+ ```
+
+2. The Pulsar Manager UI will be open in your browser. You can use the username `pulsar` and password `pulsar` to log into Pulsar Manager.
+
+3. In Pulsar Manager UI, you can create an environment.
+
+ - Click `New Environment` button in the top-left corner.
+ - Type `pulsar-mini` for the field `Environment Name` in the popup window.
+ - Type `http://pulsar-mini-broker:8080` for the field `Service URL` in the popup window.
+ - Click `Confirm` button in the popup window.
+
+4. After successfully created an environment, you are redirected to the `tenants` page of that environment. Then you can create `tenants`, `namespaces` and `topics` using the Pulsar Manager.
+
+## Step 5: Use Prometheus and Grafana to monitor cluster
+
+Grafana is an open-source visualization tool, which can be used for visualizing time series data into dashboards.
+
+1. By default, the Grafana is exposed as a separate `LoadBalancer`. You can open the Grafana UI using the following command:
+
+ ```bash
+ minikube service pulsar-mini-grafana -n pulsar
+ ```
+
+2. The Grafana UI is open in your browser. You can use the username `pulsar` and password `pulsar` to log into the Grafana Dashboard.
+
+3. You can view dashboards for different components of a Pulsar cluster.
diff --git a/site2/website-next/docs/getting-started-pulsar.md b/site2/website-next/docs/getting-started-pulsar.md
new file mode 100644
index 0000000..6ba815e
--- /dev/null
+++ b/site2/website-next/docs/getting-started-pulsar.md
@@ -0,0 +1,66 @@
+---
+id: pulsar-2.0
+title: Pulsar 2.0
+sidebar_label: Pulsar 2.0
+---
+
+Pulsar 2.0 is a major new release for Pulsar that brings some bold changes to the platform, including [simplified topic names](#topic-names), the addition of the [Pulsar Functions](functions-overview.md) feature, some terminology changes, and more.
+
+## New features in Pulsar 2.0
+
+Feature | Description
+:-------|:-----------
+[Pulsar Functions](functions-overview.md) | A lightweight compute option for Pulsar
+
+## Major changes
+
+There are a few major changes that you should be aware of, as they may significantly impact your day-to-day usage.
+
+### Properties versus tenants
+
+Previously, Pulsar had a concept of properties. A property is essentially the exact same thing as a tenant, so the "property" terminology has been removed in version 2.0. The [`pulsar-admin properties`](reference-pulsar-admin.md#pulsar-admin) command-line interface, for example, has been replaced with the [`pulsar-admin tenants`](reference-pulsar-admin.md#pulsar-admin-tenants) interface. In some cases the properties terminology is still used but is now considered deprecated and will be r [...]
+
+### Topic names
+
+Prior to version 2.0, *all* Pulsar topics had the following form:
+
+```http
+{persistent|non-persistent}://property/cluster/namespace/topic
+```
+Two important changes have been made in Pulsar 2.0:
+
+* There is no longer a [cluster component](#no-cluster)
+* Properties have been [renamed to tenants](#tenants)
+* You can use a [flexible](#flexible-topic-naming) naming system to shorten many topic names
+* `/` is not allowed in topic name
+
+#### No cluster component
+
+The cluster component has been removed from topic names. Thus, all topic names now have the following form:
+
+```http
+{persistent|non-persistent}://tenant/namespace/topic
+```
+
+> Existing topics that use the legacy name format will continue to work without any change, and there are no plans to change that.
+
+
+#### Flexible topic naming
+
+All topic names in Pulsar 2.0 internally have the form shown [above](#no-cluster-component) but you can now use shorthand names in many cases (for the sake of simplicity). The flexible naming system stems from the fact that there is now a default topic type, tenant, and namespace:
+
+Topic aspect | Default
+:------------|:-------
+topic type | `persistent`
+tenant | `public`
+namespace | `default`
+
+The table below shows some example topic name translations that use implicit defaults:
+
+Input topic name | Translated topic name
+:----------------|:---------------------
+`my-topic` | `persistent://public/default/my-topic`
+`my-tenant/my-namespace/my-topic` | `persistent://my-tenant/my-namespace/my-topic`
+
+> For [non-persistent topics](concepts-messaging.md#non-persistent-topics) you'll need to continue to specify the entire topic name, as the default-based rules for persistent topic names don't apply. Thus you cannot use a shorthand name like `non-persistent://my-topic` and would need to use `non-persistent://public/default/my-topic` instead
+
diff --git a/site2/website-next/docs/getting-started-standalone.md b/site2/website-next/docs/getting-started-standalone.md
new file mode 100644
index 0000000..dcab4f4
--- /dev/null
+++ b/site2/website-next/docs/getting-started-standalone.md
@@ -0,0 +1,220 @@
+---
+id: standalone
+title: Set up a standalone Pulsar locally
+sidebar_label: Run Pulsar locally
+slug: /
+---
+
+For local development and testing, you can run Pulsar in standalone mode on your machine. The standalone mode includes a Pulsar broker, the necessary ZooKeeper and BookKeeper components running inside of a single Java Virtual Machine (JVM) process.
+
+> **Pulsar in production?**
+> If you're looking to run a full production Pulsar installation, see the [Deploying a Pulsar instance](deploy-bare-metal.md) guide.
+
+## Install Pulsar standalone
+
+This tutorial guides you through every step of installing Pulsar locally.
+
+### System requirements
+
+Currently, Pulsar is available for 64-bit **macOS**, **Linux**, and **Windows**. To use Pulsar, you need to install 64-bit JRE/JDK 8 or later versions.
+
+> **Tip**
+> By default, Pulsar allocates 2G JVM heap memory to start. It can be changed in `conf/pulsar_env.sh` file under `PULSAR_MEM`. This is extra options passed into JVM.
+
+> **Note**
+> Broker is only supported on 64-bit JVM.
+
+### Install Pulsar using binary release
+
+To get started with Pulsar, download a binary tarball release in one of the following ways:
+
+* download from the Apache mirror (<a href="pulsar:binary_release_url" download>Pulsar {{pulsar:version}} binary release</a>)
+
+* download from the Pulsar [downloads page](pulsar:download_page_url)
+
+* download from the Pulsar [releases page](https://github.com/apache/pulsar/releases/latest)
+
+* use [wget](https://www.gnu.org/software/wget):
+
+ ```shell
+ $ wget pulsar:binary_release_url
+ ```
+
+After you download the tarball, untar it and use the `cd` command to navigate to the resulting directory:
+
+```bash
+$ tar xvfz apache-pulsar-{{pulsar:version}}-bin.tar.gz
+$ cd apache-pulsar-{{pulsar:version}}
+```
+
+#### What your package contains
+
+The Pulsar binary package initially contains the following directories:
+
+Directory | Contains
+:---------|:--------
+`bin` | Pulsar's command-line tools, such as [`pulsar`](reference-cli-tools.md#pulsar) and [`pulsar-admin`](https://pulsar.apache.org/tools/pulsar-admin/).
+`conf` | Configuration files for Pulsar, including [broker configuration](reference-configuration.md#broker), [ZooKeeper configuration](reference-configuration.md#zookeeper), and more.
+`examples` | A Java JAR file containing [Pulsar Functions](functions-overview.md) example.
+`lib` | The [JAR](https://en.wikipedia.org/wiki/JAR_(file_format)) files used by Pulsar.
+`licenses` | License files, in the`.txt` form, for various components of the Pulsar [codebase](https://github.com/apache/pulsar).
+
+These directories are created once you begin running Pulsar.
+
+Directory | Contains
+:---------|:--------
+`data` | The data storage directory used by ZooKeeper and BookKeeper.
+`instances` | Artifacts created for [Pulsar Functions](functions-overview.md).
+`logs` | Logs created by the installation.
+
+> **Tip**
+> If you want to use builtin connectors and tiered storage offloaders, you can install them according to the following instructions:
+>
+> * [Install builtin connectors (optional)](#install-builtin-connectors-optional)
+> * [Install tiered storage offloaders (optional)](#install-tiered-storage-offloaders-optional)
+>
+> Otherwise, skip this step and perform the next step [Start Pulsar standalone](#start-pulsar-standalone). Pulsar can be successfully installed without installing bulitin connectors and tiered storage offloaders.
+
+### Install builtin connectors (optional)
+
+Since `2.1.0-incubating` release, Pulsar releases a separate binary distribution, containing all the `builtin` connectors.
+To enable those `builtin` connectors, you can download the connectors tarball release in one of the following ways:
+
+* download from the Apache mirror <a href="pulsar:connector_release_url" download>Pulsar IO Connectors {{pulsar:version}} release</a>
+
+* download from the Pulsar [downloads page](pulsar:download_page_url)
+
+* download from the Pulsar [releases page](https://github.com/apache/pulsar/releases/latest)
+
+* use [wget](https://www.gnu.org/software/wget):
+
+ ```shell
+ $ wget pulsar:connector_release_url/{connector}-{{pulsar:version}}.nar
+ ```
+
+After you download the nar file, copy the file to the `connectors` directory in the pulsar directory.
+For example, if you download the `pulsar-io-aerospike-{{pulsar:version}}.nar` connector file, enter the following commands:
+
+```bash
+$ mkdir connectors
+$ mv pulsar-io-aerospike-{{pulsar:version}}.nar connectors
+
+$ ls connectors
+pulsar-io-aerospike-{{pulsar:version}}.nar
+...
+```
+
+> **Note**
+> * If you are running Pulsar in a bare metal cluster, make sure `connectors` tarball is unzipped in every pulsar directory of the broker (or in every pulsar directory of function-worker if you are running a separate worker cluster for Pulsar Functions).
+>
+> * If you are [running Pulsar in Docker](getting-started-docker.md) or deploying Pulsar using a docker image (e.g. [K8S](deploy-kubernetes.md) or [DCOS](deploy-dcos.md)), you can use the `apachepulsar/pulsar-all` image instead of the `apachepulsar/pulsar` image. `apachepulsar/pulsar-all` image has already bundled [all builtin connectors](io-overview.md#working-with-connectors).
+
+### Install tiered storage offloaders (optional)
+
+> **Tip**
+> - Since `2.2.0` release, Pulsar releases a separate binary distribution, containing the tiered storage offloaders.
+> - To enable tiered storage feature, follow the instructions below; otherwise skip this section.
+
+To get started with [tiered storage offloaders](concepts-tiered-storage.md), you need to download the offloaders tarball release on every broker node in one of the following ways:
+
+* download from the Apache mirror <a href="pulsar:offloader_release_url" download>Pulsar Tiered Storage Offloaders {{pulsar:version}} release</a>
+
+* download from the Pulsar [downloads page](pulsar:download_page_url)
+
+* download from the Pulsar [releases page](https://github.com/apache/pulsar/releases/latest)
+
+* use [wget](https://www.gnu.org/software/wget):
+
+ ```shell
+ $ wget pulsar:offloader_release_url
+ ```
+
+After you download the tarball, untar the offloaders package and copy the offloaders as `offloaders`
+in the pulsar directory:
+
+```bash
+$ tar xvfz apache-pulsar-offloaders-{{pulsar:version}}-bin.tar.gz
+
+// you will find a directory named `apache-pulsar-offloaders-{{pulsar:version}}` in the pulsar directory
+// then copy the offloaders
+
+$ mv apache-pulsar-offloaders-{{pulsar:version}}/offloaders offloaders
+
+$ ls offloaders
+tiered-storage-jcloud-{{pulsar:version}}.nar
+```
+
+For more information on how to configure tiered storage, see [Tiered storage cookbook](cookbooks-tiered-storage.md).
+
+> **Note**
+> * If you are running Pulsar in a bare metal cluster, make sure that `offloaders` tarball is unzipped in every broker's pulsar directory.
+>
+> * If you are [running Pulsar in Docker](getting-started-docker.md) or deploying Pulsar using a docker image (e.g. [K8S](deploy-kubernetes.md) or [DCOS](deploy-dcos.md)), you can use the `apachepulsar/pulsar-all` image instead of the `apachepulsar/pulsar` image. `apachepulsar/pulsar-all` image has already bundled tiered storage offloaders.
+
+## Start Pulsar standalone
+
+Once you have an up-to-date local copy of the release, you can start a local cluster using the [`pulsar`](reference-cli-tools.md#pulsar) command, which is stored in the `bin` directory, and specifying that you want to start Pulsar in standalone mode.
+
+```bash
+$ bin/pulsar standalone
+```
+
+If you have started Pulsar successfully, you will see `INFO`-level log messages like this:
+
+```bash
+21:59:29.327 [DLM-/stream/storage-OrderedScheduler-3-0] INFO org.apache.bookkeeper.stream.storage.impl.sc.StorageContainerImpl - Successfully started storage container (0).
+21:59:34.576 [main] INFO org.apache.pulsar.broker.authentication.AuthenticationService - Authentication is disabled
+21:59:34.576 [main] INFO org.apache.pulsar.websocket.WebSocketService - Pulsar WebSocket Service started
+```
+
+> **Tip**
+> * The service is running on your terminal, which is under your direct control. If you need to run other commands, open a new terminal window.
+You can also run the service as a background process using the `pulsar-daemon start standalone` command. For more information, see [pulsar-daemon](https://pulsar.apache.org/docs/en/reference-cli-tools/#pulsar-daemon).
+>
+> * By default, there is no encryption, authentication, or authorization configured. Apache Pulsar can be accessed from remote server without any authorization. Please do check [Security Overview](security-overview.md) document to secure your deployment.
+>
+> * When you start a local standalone cluster, a `public/default` [namespace](concepts-messaging.md#namespaces) is created automatically. The namespace is used for development purposes. All Pulsar topics are managed within namespaces. For more information, see [Topics](concepts-messaging.md#topics).
+
+## Use Pulsar standalone
+
+Pulsar provides a CLI tool called [`pulsar-client`](reference-cli-tools.md#pulsar-client). The pulsar-client tool enables you to consume and produce messages to a Pulsar topic in a running cluster.
+
+### Consume a message
+
+The following command consumes a message with the subscription name `first-subscription` to the `my-topic` topic:
+
+```bash
+$ bin/pulsar-client consume my-topic -s "first-subscription"
+```
+
+If the message has been successfully consumed, you will see a confirmation like the following in the `pulsar-client` logs:
+
+```
+22:17:16.781 [main] INFO org.apache.pulsar.client.cli.PulsarClientTool - 1 messages successfully consumed
+```
+
+> **Tip**
+> As you have noticed that we do not explicitly create the `my-topic` topic, to which we consume the message. When you consume a message to a topic that does not yet exist, Pulsar creates that topic for you automatically. Producing a message to a topic that does not exist will automatically create that topic for you as well.
+
+### Produce a message
+
+The following command produces a message saying `hello-pulsar` to the `my-topic` topic:
+
+```bash
+$ bin/pulsar-client produce my-topic --messages "hello-pulsar"
+```
+
+If the message has been successfully published to the topic, you will see a confirmation like the following in the `pulsar-client` logs:
+
+```
+22:21:08.693 [main] INFO org.apache.pulsar.client.cli.PulsarClientTool - 1 messages successfully produced
+```
+
+## Stop Pulsar standalone
+
+Press `Ctrl+C` to stop a local standalone Pulsar.
+
+> **Tip**
+> If the service runs as a background process using the `pulsar-daemon start standalone` command, then use the `pulsar-daemon stop standalone` command to stop the service.
+>
+> For more information, see [pulsar-daemon](https://pulsar.apache.org/docs/en/reference-cli-tools/#pulsar-daemon).
diff --git a/site2/website-next/docs/intro.md b/site2/website-next/docs/intro.md
deleted file mode 100644
index 95ef9d6..0000000
--- a/site2/website-next/docs/intro.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-sidebar_position: 1
----
-
-Welcome to Apache Pulsar.
\ No newline at end of file
diff --git a/site2/website-next/docusaurus.config.js b/site2/website-next/docusaurus.config.js
index fe43a25..c95d779 100644
--- a/site2/website-next/docusaurus.config.js
+++ b/site2/website-next/docusaurus.config.js
@@ -8,8 +8,8 @@ module.exports = {
"Apache Pulsar is a cloud-native, distributed messaging and streaming platform originally created at Yahoo! and now a top-level Apache Software Foundation project",
url: "https://your-docusaurus-test-site.com",
baseUrl: "/",
- onBrokenLinks: "throw",
- onBrokenMarkdownLinks: "warn",
+ onBrokenLinks: "ignore",
+ onBrokenMarkdownLinks: "ignore",
favicon: "img/favicon.ico",
organizationName: "facebook", // Usually your GitHub org/user name.
projectName: "docusaurus", // Usually your repo name.
@@ -23,7 +23,7 @@ module.exports = {
items: [
{
type: "doc",
- docId: "intro",
+ docId: "standalone",
position: "left",
label: "Docs",
},
@@ -33,6 +33,21 @@ module.exports = {
label: "GitHub",
position: "right",
},
+ {
+ label: "Version",
+ to: "docs",
+ position: "right",
+ items: [
+ {
+ label: "2.8.0",
+ to: "docs/",
+ },
+ {
+ label: "2.7.3",
+ to: "docs/2.7.3/",
+ },
+ ],
+ },
],
},
footer: {
@@ -43,7 +58,7 @@ module.exports = {
items: [
{
label: "Docs",
- to: "/docs/intro",
+ to: "/docs",
},
{
label: "Blog",
diff --git a/site2/website-next/package.json b/site2/website-next/package.json
index 268f4dc..8ae36b9 100644
--- a/site2/website-next/package.json
+++ b/site2/website-next/package.json
@@ -14,15 +14,15 @@
"write-heading-ids": "docusaurus write-heading-ids"
},
"dependencies": {
- "@docusaurus/core": "2.0.0-beta.4",
- "@docusaurus/preset-classic": "2.0.0-beta.4",
- "@mdx-js/react": "^1.6.21",
+ "@docusaurus/core": "2.0.0-beta.5",
+ "@docusaurus/preset-classic": "2.0.0-beta.5",
+ "@mdx-js/react": "^1.6.22",
"@svgr/webpack": "^5.5.0",
"clsx": "^1.1.1",
"file-loader": "^6.2.0",
"prism-react-renderer": "^1.2.1",
- "react": "^17.0.1",
- "react-dom": "^17.0.1",
+ "react": "^17.0.2",
+ "react-dom": "^17.0.2",
"url-loader": "^4.1.1"
},
"browserslist": {
@@ -37,4 +37,4 @@
"last 1 safari version"
]
}
-}
\ No newline at end of file
+}
diff --git a/site2/website-next/sidebars.js b/site2/website-next/sidebars.js
index 981a73c..30eb093 100644
--- a/site2/website-next/sidebars.js
+++ b/site2/website-next/sidebars.js
@@ -1,26 +1,9 @@
-/**
- * Creating a sidebar enables you to:
- - create an ordered group of docs
- - render a sidebar for each doc of that group
- - provide next/previous navigation
-
- The sidebars can be generated from the filesystem, or explicitly defined here.
-
- Create as many sidebars as you want.
- */
-
module.exports = {
- // By default, Docusaurus generates a sidebar from the docs folder structure
- tutorialSidebar: [{type: 'autogenerated', dirName: '.'}],
-
- // But you can create a sidebar manually
- /*
- tutorialSidebar: [
+ docsSidebar: [
{
- type: 'category',
- label: 'Tutorial',
- items: ['hello'],
+ type: "category",
+ label: "Get Started",
+ items: ["standalone", "standalone-docker", "kubernetes-helm"],
},
],
- */
};
diff --git a/site2/website-next/src/pages/index.js b/site2/website-next/src/pages/index.js
index acfcdb2..61d476d 100644
--- a/site2/website-next/src/pages/index.js
+++ b/site2/website-next/src/pages/index.js
@@ -16,7 +16,7 @@ function HomepageHeader() {
<div className={styles.buttons}>
<Link
className="button button--secondary button--lg"
- to="/docs/intro">
+ to="/docs">
Read️ the Docs
</Link>
</div>
diff --git a/site2/website-next/versioned_docs/version-2.7.3/getting-started-clients.md b/site2/website-next/versioned_docs/version-2.7.3/getting-started-clients.md
new file mode 100644
index 0000000..82ac47e
--- /dev/null
+++ b/site2/website-next/versioned_docs/version-2.7.3/getting-started-clients.md
@@ -0,0 +1,35 @@
+---
+id: client-libraries
+title: Pulsar client libraries
+sidebar_label: Overview
+original_id: client-libraries
+---
+
+Pulsar supports the following client libraries:
+
+- [Java client](client-libraries-java.md)
+- [Go client](client-libraries-go.md)
+- [Python client](client-libraries-python.md)
+- [C++ client](client-libraries-cpp.md)
+- [Node.js client](client-libraries-node.md)
+- [WebSocket client](client-libraries-websocket.md)
+- [C# client](client-libraries-dotnet.md)
+
+## Feature matrix
+Pulsar client feature matrix for different languages is listed on [Client Features Matrix](https://github.com/apache/pulsar/wiki/Client-Features-Matrix) page.
+
+## Third-party clients
+
+Besides the official released clients, multiple projects on developing Pulsar clients are available in different languages.
+
+> If you have developed a new Pulsar client, feel free to submit a pull request and add your client to the list below.
+
+| Language | Project | Maintainer | License | Description |
+|----------|---------|------------|---------|-------------|
+| Go | [pulsar-client-go](https://github.com/Comcast/pulsar-client-go) | [Comcast](https://github.com/Comcast) | [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) | A native golang client |
+| Go | [go-pulsar](https://github.com/t2y/go-pulsar) | [t2y](https://github.com/t2y) | [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) |
+| Haskell | [supernova](https://github.com/cr-org/supernova) | [Chatroulette](https://github.com/cr-org) | [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) | Native Pulsar client for Haskell |
+| Scala | [neutron](https://github.com/cr-org/neutron) | [Chatroulette](https://github.com/cr-org) | [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) | Purely functional Apache Pulsar client for Scala built on top of Fs2 |
+| Scala | [pulsar4s](https://github.com/sksamuel/pulsar4s) | [sksamuel](https://github.com/sksamuel) | [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) | Idomatic, typesafe, and reactive Scala client for Apache Pulsar |
+| Rust | [pulsar-rs](https://github.com/wyyerd/pulsar-rs) | [Wyyerd Group](https://github.com/wyyerd) | [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) | Future-based Rust bindings for Apache Pulsar |
+| .NET | [pulsar-client-dotnet](https://github.com/fsharplang-ru/pulsar-client-dotnet) | [Lanayx](https://github.com/Lanayx) | [![GitHub](https://img.shields.io/badge/license-MIT-green.svg)](https://opensource.org/licenses/MIT) | Native .NET client for C#/F#/VB |
diff --git a/site2/website-next/versioned_docs/version-2.7.3/getting-started-concepts-and-architecture.md b/site2/website-next/versioned_docs/version-2.7.3/getting-started-concepts-and-architecture.md
new file mode 100644
index 0000000..e5131f1
--- /dev/null
+++ b/site2/website-next/versioned_docs/version-2.7.3/getting-started-concepts-and-architecture.md
@@ -0,0 +1,16 @@
+---
+id: concepts-architecture
+title: Pulsar concepts and architecture
+sidebar_label: Concepts and architecture
+original_id: concepts-architecture
+---
+
+
+
+
+
+
+
+
+
+
diff --git a/site2/website-next/versioned_docs/version-2.7.3/getting-started-docker.md b/site2/website-next/versioned_docs/version-2.7.3/getting-started-docker.md
new file mode 100644
index 0000000..13b75d2
--- /dev/null
+++ b/site2/website-next/versioned_docs/version-2.7.3/getting-started-docker.md
@@ -0,0 +1,161 @@
+---
+id: standalone-docker
+title: Set up a standalone Pulsar in Docker
+sidebar_label: Run Pulsar in Docker
+original_id: standalone-docker
+---
+
+For local development and testing, you can run Pulsar in standalone
+mode on your own machine within a Docker container.
+
+If you have not installed Docker, download the [Community edition](https://www.docker.com/community-edition)
+and follow the instructions for your OS.
+
+## Start Pulsar in Docker
+
+* For MacOS, Linux, and Windows:
+
+ ```shell
+ $ docker run -it \
+ -p 6650:6650 \
+ -p 8080:8080 \
+ --mount source=pulsardata,target=/pulsar/data \
+ --mount source=pulsarconf,target=/pulsar/conf \
+ apachepulsar/pulsar:{{pulsar:version}} \
+ bin/pulsar standalone
+ ```
+
+A few things to note about this command:
+ * The data, metadata, and configuration are persisted on Docker volumes in order to not start "fresh" every
+time the container is restarted. For details on the volumes you can use `docker volume inspect <sourcename>`
+ * For Docker on Windows make sure to configure it to use Linux containers
+
+If you start Pulsar successfully, you will see `INFO`-level log messages like this:
+
+```
+2017-08-09 22:34:04,030 - INFO - [main:WebService@213] - Web Service started at http://127.0.0.1:8080
+2017-08-09 22:34:04,038 - INFO - [main:PulsarService@335] - messaging service is ready, bootstrap service on port=8080, broker url=pulsar://127.0.0.1:6650, cluster=standalone, configs=org.apache.pulsar.broker.ServiceConfiguration@4db60246
+...
+```
+
+> #### Tip
+>
+> When you start a local standalone cluster, a `public/default`
+namespace is created automatically. The namespace is used for development purposes. All Pulsar topics are managed within namespaces.
+For more information, see [Topics](concepts-messaging.md#topics).
+
+## Use Pulsar in Docker
+
+Pulsar offers client libraries for [Java](client-libraries-java.md), [Go](client-libraries-go.md), [Python](client-libraries-python.md)
+and [C++](client-libraries-cpp.md). If you're running a local standalone cluster, you can
+use one of these root URLs to interact with your cluster:
+
+* `pulsar://localhost:6650`
+* `http://localhost:8080`
+
+The following example will guide you get started with Pulsar quickly by using the [Python](client-libraries-python.md)
+client API.
+
+Install the Pulsar Python client library directly from [PyPI](https://pypi.org/project/pulsar-client/):
+
+```shell
+$ pip install pulsar-client
+```
+
+### Consume a message
+
+Create a consumer and subscribe to the topic:
+
+```python
+import pulsar
+
+client = pulsar.Client('pulsar://localhost:6650')
+consumer = client.subscribe('my-topic',
+ subscription_name='my-sub')
+
+while True:
+ msg = consumer.receive()
+ print("Received message: '%s'" % msg.data())
+ consumer.acknowledge(msg)
+
+client.close()
+```
+
+### Produce a message
+
+Now start a producer to send some test messages:
+
+```python
+import pulsar
+
+client = pulsar.Client('pulsar://localhost:6650')
+producer = client.create_producer('my-topic')
+
+for i in range(10):
+ producer.send(('hello-pulsar-%d' % i).encode('utf-8'))
+
+client.close()
+```
+
+## Get the topic statistics
+
+In Pulsar, you can use REST, Java, or command-line tools to control every aspect of the system.
+For details on APIs, refer to [Admin API Overview](admin-api-overview.md).
+
+In the simplest example, you can use curl to probe the stats for a particular topic:
+
+```shell
+$ curl http://localhost:8080/admin/v2/persistent/public/default/my-topic/stats | python -m json.tool
+```
+
+The output is something like this:
+
+```json
+{
+ "averageMsgSize": 0.0,
+ "msgRateIn": 0.0,
+ "msgRateOut": 0.0,
+ "msgThroughputIn": 0.0,
+ "msgThroughputOut": 0.0,
+ "publishers": [
+ {
+ "address": "/172.17.0.1:35048",
+ "averageMsgSize": 0.0,
+ "clientVersion": "1.19.0-incubating",
+ "connectedSince": "2017-08-09 20:59:34.621+0000",
+ "msgRateIn": 0.0,
+ "msgThroughputIn": 0.0,
+ "producerId": 0,
+ "producerName": "standalone-0-1"
+ }
+ ],
+ "replication": {},
+ "storageSize": 16,
+ "subscriptions": {
+ "my-sub": {
+ "blockedSubscriptionOnUnackedMsgs": false,
+ "consumers": [
+ {
+ "address": "/172.17.0.1:35064",
+ "availablePermits": 996,
+ "blockedConsumerOnUnackedMsgs": false,
+ "clientVersion": "1.19.0-incubating",
+ "connectedSince": "2017-08-09 21:05:39.222+0000",
+ "consumerName": "166111",
+ "msgRateOut": 0.0,
+ "msgRateRedeliver": 0.0,
+ "msgThroughputOut": 0.0,
+ "unackedMessages": 0
+ }
+ ],
+ "msgBacklog": 0,
+ "msgRateExpired": 0.0,
+ "msgRateOut": 0.0,
+ "msgRateRedeliver": 0.0,
+ "msgThroughputOut": 0.0,
+ "type": "Exclusive",
+ "unackedMessages": 0
+ }
+ }
+}
+```
diff --git a/site2/website-next/versioned_docs/version-2.7.3/getting-started-helm.md b/site2/website-next/versioned_docs/version-2.7.3/getting-started-helm.md
new file mode 100644
index 0000000..8e1cc5a
--- /dev/null
+++ b/site2/website-next/versioned_docs/version-2.7.3/getting-started-helm.md
@@ -0,0 +1,363 @@
+---
+id: kubernetes-helm
+title: Get started in Kubernetes
+sidebar_label: Run Pulsar in Kubernetes
+original_id: kubernetes-helm
+---
+
+This section guides you through every step of installing and running Apache Pulsar with Helm on Kubernetes quickly, including the following sections:
+
+- Install the Apache Pulsar on Kubernetes using Helm
+- Start and stop Apache Pulsar
+- Create topics using `pulsar-admin`
+- Produce and consume messages using Pulsar clients
+- Monitor Apache Pulsar status with Prometheus and Grafana
+
+For deploying a Pulsar cluster for production usage, read the documentation on [how to configure and install a Pulsar Helm chart](helm-deploy.md).
+
+## Prerequisite
+
+- Kubernetes server 1.14.0+
+- kubectl 1.14.0+
+- Helm 3.0+
+
+> #### Tip
+> For the following steps, step 2 and step 3 are for **developers** and step 4 and step 5 are for **administrators**.
+
+## Step 0: Prepare a Kubernetes cluster
+
+Before installing a Pulsar Helm chart, you have to create a Kubernetes cluster. You can follow [the instructions](helm-prepare.md) to prepare a Kubernetes cluster.
+
+We use [Minikube](https://minikube.sigs.k8s.io/docs/start/) in this quick start guide. To prepare a Kubernetes cluster, follow these steps:
+
+1. Create a Kubernetes cluster on Minikube.
+
+ ```bash
+ minikube start --memory=8192 --cpus=4 --kubernetes-version=<k8s-version>
+ ```
+
+ The `<k8s-version>` can be any [Kubernetes version supported by your Minikube installation](https://minikube.sigs.k8s.io/docs/reference/configuration/kubernetes/), such as `v1.16.1`.
+
+2. Set `kubectl` to use Minikube.
+
+ ```bash
+ kubectl config use-context minikube
+ ```
+
+3. To use the [Kubernetes Dashboard](https://kubernetes.io/docs/tasks/access-application-cluster/web-ui-dashboard/) with the local Kubernetes cluster on Minikube, enter the command below:
+
+ ```bash
+ minikube dashboard
+ ```
+ The command automatically triggers opening a webpage in your browser.
+
+## Step 1: Install Pulsar Helm chart
+
+0. Add Pulsar charts repo.
+
+ ```bash
+ helm repo add apache https://pulsar.apache.org/charts
+ ```
+
+ ```bash
+ helm repo update
+ ```
+
+1. Clone the Pulsar Helm chart repository.
+
+ ```bash
+ git clone https://github.com/apache/pulsar-helm-chart
+ cd pulsar-helm-chart
+ ```
+
+2. Run the script `prepare_helm_release.sh` to create secrets required for installing the Apache Pulsar Helm chart. The username `pulsar` and password `pulsar` are used for logging into the Grafana dashboard and Pulsar Manager.
+
+ ```bash
+ ./scripts/pulsar/prepare_helm_release.sh \
+ -n pulsar \
+ -k pulsar-mini \
+ -c
+ ```
+
+3. Use the Pulsar Helm chart to install a Pulsar cluster to Kubernetes.
+
+ > **NOTE**
+ > You need to specify `--set initialize=true` when installing Pulsar the first time. This command installs and starts Apache Pulsar.
+
+ ```bash
+ helm install \
+ --values examples/values-minikube.yaml \
+ --set initialize=true \
+ --namespace pulsar \
+ pulsar-mini apache/pulsar
+ ```
+
+4. Check the status of all pods.
+
+ ```bash
+ kubectl get pods -n pulsar
+ ```
+
+ If all pods start up successfully, you can see that the `STATUS` is changed to `Running` or `Completed`.
+
+ **Output**
+
+ ```bash
+ NAME READY STATUS RESTARTS AGE
+ pulsar-mini-bookie-0 1/1 Running 0 9m27s
+ pulsar-mini-bookie-init-5gphs 0/1 Completed 0 9m27s
+ pulsar-mini-broker-0 1/1 Running 0 9m27s
+ pulsar-mini-grafana-6b7bcc64c7-4tkxd 1/1 Running 0 9m27s
+ pulsar-mini-prometheus-5fcf5dd84c-w8mgz 1/1 Running 0 9m27s
+ pulsar-mini-proxy-0 1/1 Running 0 9m27s
+ pulsar-mini-pulsar-init-t7cqt 0/1 Completed 0 9m27s
+ pulsar-mini-pulsar-manager-9bcbb4d9f-htpcs 1/1 Running 0 9m27s
+ pulsar-mini-toolset-0 1/1 Running 0 9m27s
+ pulsar-mini-zookeeper-0 1/1 Running 0 9m27s
+ ```
+
+5. Check the status of all services in the namespace `pulsar`.
+
+ ```bash
+ kubectl get services -n pulsar
+ ```
+
+ **Output**
+
+ ```bash
+ NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
+ pulsar-mini-bookie ClusterIP None <none> 3181/TCP,8000/TCP 11m
+ pulsar-mini-broker ClusterIP None <none> 8080/TCP,6650/TCP 11m
+ pulsar-mini-grafana LoadBalancer 10.106.141.246 <pending> 3000:31905/TCP 11m
+ pulsar-mini-prometheus ClusterIP None <none> 9090/TCP 11m
+ pulsar-mini-proxy LoadBalancer 10.97.240.109 <pending> 80:32305/TCP,6650:31816/TCP 11m
+ pulsar-mini-pulsar-manager LoadBalancer 10.103.192.175 <pending> 9527:30190/TCP 11m
+ pulsar-mini-toolset ClusterIP None <none> <none> 11m
+ pulsar-mini-zookeeper ClusterIP None <none> 2888/TCP,3888/TCP,2181/TCP 11m
+ ```
+
+## Step 2: Use pulsar-admin to create Pulsar tenants/namespaces/topics
+
+`pulsar-admin` is the CLI (command-Line Interface) tool for Pulsar. In this step, you can use `pulsar-admin` to create resources, including tenants, namespaces, and topics.
+
+1. Enter the `toolset` container.
+
+ ```bash
+ kubectl exec -it -n pulsar pulsar-mini-toolset-0 -- /bin/bash
+ ```
+
+2. In the `toolset` container, create a tenant named `apache`.
+
+ ```bash
+ bin/pulsar-admin tenants create apache
+ ```
+
+ Then you can list the tenants to see if the tenant is created successfully.
+
+ ```bash
+ bin/pulsar-admin tenants list
+ ```
+
+ You should see a similar output as below. The tenant `apache` has been successfully created.
+
+ ```bash
+ "apache"
+ "public"
+ "pulsar"
+ ```
+
+3. In the `toolset` container, create a namespace named `pulsar` in the tenant `apache`.
+
+ ```bash
+ bin/pulsar-admin namespaces create apache/pulsar
+ ```
+
+ Then you can list the namespaces of tenant `apache` to see if the namespace is created successfully.
+
+ ```bash
+ bin/pulsar-admin namespaces list apache
+ ```
+
+ You should see a similar output as below. The namespace `apache/pulsar` has been successfully created.
+
+ ```bash
+ "apache/pulsar"
+ ```
+
+4. In the `toolset` container, create a topic `test-topic` with `4` partitions in the namespace `apache/pulsar`.
+
+ ```bash
+ bin/pulsar-admin topics create-partitioned-topic apache/pulsar/test-topic -p 4
+ ```
+
+5. In the `toolset` container, list all the partitioned topics in the namespace `apache/pulsar`.
+
+ ```bash
+ bin/pulsar-admin topics list-partitioned-topics apache/pulsar
+ ```
+
+ Then you can see all the partitioned topics in the namespace `apache/pulsar`.
+
+ ```bash
+ "persistent://apache/pulsar/test-topic"
+ ```
+
+## Step 3: Use Pulsar client to produce and consume messages
+
+You can use the Pulsar client to create producers and consumers to produce and consume messages.
+
+By default, the Pulsar Helm chart exposes the Pulsar cluster through a Kubernetes `LoadBalancer`. In Minikube, you can use the following command to check the proxy service.
+
+```bash
+kubectl get services -n pulsar | grep pulsar-mini-proxy
+```
+
+You will see a similar output as below.
+
+```bash
+pulsar-mini-proxy LoadBalancer 10.97.240.109 <pending> 80:32305/TCP,6650:31816/TCP 28m
+```
+
+This output tells what are the node ports that Pulsar cluster's binary port and HTTP port are mapped to. The port after `80:` is the HTTP port while the port after `6650:` is the binary port.
+
+Then you can find the IP address and exposed ports of your Minikube server by running the following command.
+
+```bash
+minikube service pulsar-mini-proxy -n pulsar
+```
+
+**Output**
+
+```bash
+|-----------|-------------------|-------------|-------------------------|
+| NAMESPACE | NAME | TARGET PORT | URL |
+|-----------|-------------------|-------------|-------------------------|
+| pulsar | pulsar-mini-proxy | http/80 | http://172.17.0.4:32305 |
+| | | pulsar/6650 | http://172.17.0.4:31816 |
+|-----------|-------------------|-------------|-------------------------|
+🏃 Starting tunnel for service pulsar-mini-proxy.
+|-----------|-------------------|-------------|------------------------|
+| NAMESPACE | NAME | TARGET PORT | URL |
+|-----------|-------------------|-------------|------------------------|
+| pulsar | pulsar-mini-proxy | | http://127.0.0.1:61853 |
+| | | | http://127.0.0.1:61854 |
+|-----------|-------------------|-------------|------------------------|
+```
+
+At this point, you can get the service URLs to connect to your Pulsar client. Here are URL examples:
+```
+webServiceUrl=http://127.0.0.1:61853/
+brokerServiceUrl=pulsar://127.0.0.1:61854/
+```
+
+Then you can proceed with the following steps:
+
+1. Download the Apache Pulsar tarball from the [downloads page](https://pulsar.apache.org/en/download/).
+
+2. Decompress the tarball based on your download file.
+
+ ```bash
+ tar -xf <file-name>.tar.gz
+ ```
+
+3. Expose `PULSAR_HOME`.
+
+ (1) Enter the directory of the decompressed download file.
+
+ (2) Expose `PULSAR_HOME` as the environment variable.
+
+ ```bash
+ export PULSAR_HOME=$(pwd)
+ ```
+
+4. Configure the Pulsar client.
+
+ In the `${PULSAR_HOME}/conf/client.conf` file, replace `webServiceUrl` and `brokerServiceUrl` with the service URLs you get from the above steps.
+
+5. Create a subscription to consume messages from `apache/pulsar/test-topic`.
+
+ ```bash
+ bin/pulsar-client consume -s sub apache/pulsar/test-topic -n 0
+ ```
+
+6. Open a new terminal. In the new terminal, create a producer and send 10 messages to the `test-topic` topic.
+
+ ```bash
+ bin/pulsar-client produce apache/pulsar/test-topic -m "---------hello apache pulsar-------" -n 10
+ ```
+
+7. Verify the results.
+
+ - From the producer side
+
+ **Output**
+
+ The messages have been produced successfully.
+
+ ```bash
+ 18:15:15.489 [main] INFO org.apache.pulsar.client.cli.PulsarClientTool - 10 messages successfully produced
+ ```
+
+ - From the consumer side
+
+ **Output**
+
+ At the same time, you can receive the messages as below.
+
+ ```bash
+ ----- got message -----
+ ---------hello apache pulsar-------
+ ----- got message -----
+ ---------hello apache pulsar-------
+ ----- got message -----
+ ---------hello apache pulsar-------
+ ----- got message -----
+ ---------hello apache pulsar-------
+ ----- got message -----
+ ---------hello apache pulsar-------
+ ----- got message -----
+ ---------hello apache pulsar-------
+ ----- got message -----
+ ---------hello apache pulsar-------
+ ----- got message -----
+ ---------hello apache pulsar-------
+ ----- got message -----
+ ---------hello apache pulsar-------
+ ----- got message -----
+ ---------hello apache pulsar-------
+ ```
+
+## Step 4: Use Pulsar Manager to manage the cluster
+
+[Pulsar Manager](administration-pulsar-manager.md) is a web-based GUI management tool for managing and monitoring Pulsar.
+
+1. By default, the `Pulsar Manager` is exposed as a separate `LoadBalancer`. You can open the Pulsar Manager UI using the following command:
+
+ ```bash
+ minikube service -n pulsar pulsar-mini-pulsar-manager
+ ```
+
+2. The Pulsar Manager UI will be open in your browser. You can use the username `pulsar` and password `pulsar` to log into Pulsar Manager.
+
+3. In Pulsar Manager UI, you can create an environment.
+
+ - Click `New Environment` button in the top-left corner.
+ - Type `pulsar-mini` for the field `Environment Name` in the popup window.
+ - Type `http://pulsar-mini-broker:8080` for the field `Service URL` in the popup window.
+ - Click `Confirm` button in the popup window.
+
+4. After successfully created an environment, you are redirected to the `tenants` page of that environment. Then you can create `tenants`, `namespaces` and `topics` using the Pulsar Manager.
+
+## Step 5: Use Prometheus and Grafana to monitor cluster
+
+Grafana is an open-source visualization tool, which can be used for visualizing time series data into dashboards.
+
+1. By default, the Grafana is exposed as a separate `LoadBalancer`. You can open the Grafana UI using the following command:
+
+ ```bash
+ minikube service pulsar-mini-grafana -n pulsar
+ ```
+
+2. The Grafana UI is open in your browser. You can use the username `pulsar` and password `pulsar` to log into the Grafana Dashboard.
+
+3. You can view dashboards for different components of a Pulsar cluster.
diff --git a/site2/website-next/versioned_docs/version-2.7.3/getting-started-pulsar.md b/site2/website-next/versioned_docs/version-2.7.3/getting-started-pulsar.md
new file mode 100644
index 0000000..6f9ce8a
--- /dev/null
+++ b/site2/website-next/versioned_docs/version-2.7.3/getting-started-pulsar.md
@@ -0,0 +1,67 @@
+---
+id: pulsar-2.0
+title: Pulsar 2.0
+sidebar_label: Pulsar 2.0
+original_id: pulsar-2.0
+---
+
+Pulsar 2.0 is a major new release for Pulsar that brings some bold changes to the platform, including [simplified topic names](#topic-names), the addition of the [Pulsar Functions](functions-overview.md) feature, some terminology changes, and more.
+
+## New features in Pulsar 2.0
+
+Feature | Description
+:-------|:-----------
+[Pulsar Functions](functions-overview.md) | A lightweight compute option for Pulsar
+
+## Major changes
+
+There are a few major changes that you should be aware of, as they may significantly impact your day-to-day usage.
+
+### Properties versus tenants
+
+Previously, Pulsar had a concept of properties. A property is essentially the exact same thing as a tenant, so the "property" terminology has been removed in version 2.0. The [`pulsar-admin properties`](reference-pulsar-admin.md#pulsar-admin) command-line interface, for example, has been replaced with the [`pulsar-admin tenants`](reference-pulsar-admin.md#pulsar-admin-tenants) interface. In some cases the properties terminology is still used but is now considered deprecated and will be r [...]
+
+### Topic names
+
+Prior to version 2.0, *all* Pulsar topics had the following form:
+
+```http
+{persistent|non-persistent}://property/cluster/namespace/topic
+```
+Two important changes have been made in Pulsar 2.0:
+
+* There is no longer a [cluster component](#no-cluster)
+* Properties have been [renamed to tenants](#tenants)
+* You can use a [flexible](#flexible-topic-naming) naming system to shorten many topic names
+* `/` is not allowed in topic name
+
+#### No cluster component
+
+The cluster component has been removed from topic names. Thus, all topic names now have the following form:
+
+```http
+{persistent|non-persistent}://tenant/namespace/topic
+```
+
+> Existing topics that use the legacy name format will continue to work without any change, and there are no plans to change that.
+
+
+#### Flexible topic naming
+
+All topic names in Pulsar 2.0 internally have the form shown [above](#no-cluster-component) but you can now use shorthand names in many cases (for the sake of simplicity). The flexible naming system stems from the fact that there is now a default topic type, tenant, and namespace:
+
+Topic aspect | Default
+:------------|:-------
+topic type | `persistent`
+tenant | `public`
+namespace | `default`
+
+The table below shows some example topic name translations that use implicit defaults:
+
+Input topic name | Translated topic name
+:----------------|:---------------------
+`my-topic` | `persistent://public/default/my-topic`
+`my-tenant/my-namespace/my-topic` | `persistent://my-tenant/my-namespace/my-topic`
+
+> For [non-persistent topics](concepts-messaging.md#non-persistent-topics) you'll need to continue to specify the entire topic name, as the default-based rules for persistent topic names don't apply. Thus you cannot use a shorthand name like `non-persistent://my-topic` and would need to use `non-persistent://public/default/my-topic` instead
+
diff --git a/site2/website-next/versioned_docs/version-2.7.3/getting-started-standalone.md b/site2/website-next/versioned_docs/version-2.7.3/getting-started-standalone.md
new file mode 100644
index 0000000..0e2fc3c
--- /dev/null
+++ b/site2/website-next/versioned_docs/version-2.7.3/getting-started-standalone.md
@@ -0,0 +1,227 @@
+---
+id: standalone
+title: Set up a standalone Pulsar locally
+sidebar_label: Run Pulsar locally
+original_id: standalone
+slug: /
+---
+
+For local development and testing, you can run Pulsar in standalone mode on your machine. The standalone mode includes a Pulsar broker, the necessary ZooKeeper and BookKeeper components running inside of a single Java Virtual Machine (JVM) process.
+
+> #### Pulsar in production?
+> If you're looking to run a full production Pulsar installation, see the [Deploying a Pulsar instance](deploy-bare-metal.md) guide.
+
+## Install Pulsar standalone
+
+This tutorial guides you through every step of the installation process.
+
+### System requirements
+
+Pulsar is currently available for **MacOS** and **Linux**. To use Pulsar, you need to install Java 8 from [Oracle download center](http://www.oracle.com/).
+
+> #### Tip
+> By default, Pulsar allocates 2G JVM heap memory to start. It can be changed in `conf/pulsar_env.sh` file under `PULSAR_MEM`. This is extra options passed into JVM.
+
+### Install Pulsar using binary release
+
+To get started with Pulsar, download a binary tarball release in one of the following ways:
+
+* download from the Apache mirror (<a href="pulsar:binary_release_url" download>Pulsar {{pulsar:version}} binary release</a>)
+
+* download from the Pulsar [downloads page](pulsar:download_page_url)
+
+* download from the Pulsar [releases page](https://github.com/apache/pulsar/releases/latest)
+
+* use [wget](https://www.gnu.org/software/wget):
+
+ ```shell
+ $ wget pulsar:binary_release_url
+ ```
+
+After you download the tarball, untar it and use the `cd` command to navigate to the resulting directory:
+
+```bash
+$ tar xvfz apache-pulsar-{{pulsar:version}}-bin.tar.gz
+$ cd apache-pulsar-{{pulsar:version}}
+```
+
+#### What your package contains
+
+The Pulsar binary package initially contains the following directories:
+
+Directory | Contains
+:---------|:--------
+`bin` | Pulsar's command-line tools, such as [`pulsar`](reference-cli-tools.md#pulsar) and [`pulsar-admin`](https://pulsar.apache.org/tools/pulsar-admin/).
+`conf` | Configuration files for Pulsar, including [broker configuration](reference-configuration.md#broker), [ZooKeeper configuration](reference-configuration.md#zookeeper), and more.
+`examples` | A Java JAR file containing [Pulsar Functions](functions-overview.md) example.
+`lib` | The [JAR](https://en.wikipedia.org/wiki/JAR_(file_format)) files used by Pulsar.
+`licenses` | License files, in the`.txt` form, for various components of the Pulsar [codebase](https://github.com/apache/pulsar).
+
+These directories are created once you begin running Pulsar.
+
+Directory | Contains
+:---------|:--------
+`data` | The data storage directory used by ZooKeeper and BookKeeper.
+`instances` | Artifacts created for [Pulsar Functions](functions-overview.md).
+`logs` | Logs created by the installation.
+
+> #### Tip
+> If you want to use builtin connectors and tiered storage offloaders, you can install them according to the following instructions:
+>
+> * [Install builtin connectors (optional)](#install-builtin-connectors-optional)
+> * [Install tiered storage offloaders (optional)](#install-tiered-storage-offloaders-optional)
+>
+> Otherwise, skip this step and perform the next step [Start Pulsar standalone](#start-pulsar-standalone). Pulsar can be successfully installed without installing bulitin connectors and tiered storage offloaders.
+
+### Install builtin connectors (optional)
+
+Since `2.1.0-incubating` release, Pulsar releases a separate binary distribution, containing all the `builtin` connectors.
+To enable those `builtin` connectors, you can download the connectors tarball release in one of the following ways:
+
+* download from the Apache mirror <a href="pulsar:connector_release_url" download>Pulsar IO Connectors {{pulsar:version}} release</a>
+
+* download from the Pulsar [downloads page](pulsar:download_page_url)
+
+* download from the Pulsar [releases page](https://github.com/apache/pulsar/releases/latest)
+
+* use [wget](https://www.gnu.org/software/wget):
+
+ ```shell
+ $ wget pulsar:connector_release_url/{connector}-{{pulsar:version}}.nar
+ ```
+
+After you download the nar file, copy the file to the `connectors` directory in the pulsar directory.
+For example, if you download the `pulsar-io-aerospike-{{pulsar:version}}.nar` connector file, enter the following commands:
+
+```bash
+$ mkdir connectors
+$ mv pulsar-io-aerospike-{{pulsar:version}}.nar connectors
+
+$ ls connectors
+pulsar-io-aerospike-{{pulsar:version}}.nar
+...
+```
+
+> #### Note
+>
+> * If you are running Pulsar in a bare metal cluster, make sure `connectors` tarball is unzipped in every pulsar directory of the broker
+> (or in every pulsar directory of function-worker if you are running a separate worker cluster for Pulsar Functions).
+>
+> * If you are [running Pulsar in Docker](getting-started-docker.md) or deploying Pulsar using a docker image (e.g. [K8S](deploy-kubernetes.md) or [DCOS](deploy-dcos.md)),
+> you can use the `apachepulsar/pulsar-all` image instead of the `apachepulsar/pulsar` image. `apachepulsar/pulsar-all` image has already bundled [all builtin connectors](io-overview.md#working-with-connectors).
+
+### Install tiered storage offloaders (optional)
+
+> #### Tip
+>
+> Since `2.2.0` release, Pulsar releases a separate binary distribution, containing the tiered storage offloaders.
+> To enable tiered storage feature, follow the instructions below; otherwise skip this section.
+
+To get started with [tiered storage offloaders](concepts-tiered-storage.md), you need to download the offloaders tarball release on every broker node in one of the following ways:
+
+* download from the Apache mirror <a href="pulsar:offloader_release_url" download>Pulsar Tiered Storage Offloaders {{pulsar:version}} release</a>
+
+* download from the Pulsar [downloads page](pulsar:download_page_url)
+
+* download from the Pulsar [releases page](https://github.com/apache/pulsar/releases/latest)
+
+* use [wget](https://www.gnu.org/software/wget):
+
+ ```shell
+ $ wget pulsar:offloader_release_url
+ ```
+
+After you download the tarball, untar the offloaders package and copy the offloaders as `offloaders`
+in the pulsar directory:
+
+```bash
+$ tar xvfz apache-pulsar-offloaders-{{pulsar:version}}-bin.tar.gz
+
+// you will find a directory named `apache-pulsar-offloaders-{{pulsar:version}}` in the pulsar directory
+// then copy the offloaders
+
+$ mv apache-pulsar-offloaders-{{pulsar:version}}/offloaders offloaders
+
+$ ls offloaders
+tiered-storage-jcloud-{{pulsar:version}}.nar
+```
+
+For more information on how to configure tiered storage, see [Tiered storage cookbook](cookbooks-tiered-storage.md).
+
+> #### Note
+>
+> * If you are running Pulsar in a bare metal cluster, make sure that `offloaders` tarball is unzipped in every broker's pulsar directory.
+>
+> * If you are [running Pulsar in Docker](getting-started-docker.md) or deploying Pulsar using a docker image (e.g. [K8S](deploy-kubernetes.md) or [DCOS](deploy-dcos.md)),
+> you can use the `apachepulsar/pulsar-all` image instead of the `apachepulsar/pulsar` image. `apachepulsar/pulsar-all` image has already bundled tiered storage offloaders.
+
+## Start Pulsar standalone
+
+Once you have an up-to-date local copy of the release, you can start a local cluster using the [`pulsar`](reference-cli-tools.md#pulsar) command, which is stored in the `bin` directory, and specifying that you want to start Pulsar in standalone mode.
+
+```bash
+$ bin/pulsar standalone
+```
+
+If you have started Pulsar successfully, you will see `INFO`-level log messages like this:
+
+```bash
+2017-06-01 14:46:29,192 - INFO - [main:WebSocketService@95] - Configuration Store cache started
+2017-06-01 14:46:29,192 - INFO - [main:AuthenticationService@61] - Authentication is disabled
+2017-06-01 14:46:29,192 - INFO - [main:WebSocketService@108] - Pulsar WebSocket Service started
+```
+
+> #### Tip
+>
+> * The service is running on your terminal, which is under your direct control. If you need to run other commands, open a new terminal window.
+You can also run the service as a background process using the `pulsar-daemon start standalone` command. For more information, see [pulsar-daemon](https://pulsar.apache.org/docs/en/reference-cli-tools/#pulsar-daemon).
+>
+> * By default, there is no encryption, authentication, or authorization configured. Apache Pulsar can be accessed from remote server without any authorization. Please do check [Security Overview](security-overview.md) document to secure your deployment.
+>
+> * When you start a local standalone cluster, a `public/default` [namespace](concepts-messaging.md#namespaces) is created automatically. The namespace is used for development purposes. All Pulsar topics are managed within namespaces. For more information, see [Topics](concepts-messaging.md#topics).
+
+## Use Pulsar standalone
+
+Pulsar provides a CLI tool called [`pulsar-client`](reference-cli-tools.md#pulsar-client). The pulsar-client tool enables you to consume and produce messages to a Pulsar topic in a running cluster.
+
+### Consume a message
+
+The following command consumes a message with the subscription name `first-subscription` to the `my-topic` topic:
+
+```bash
+$ bin/pulsar-client consume my-topic -s "first-subscription"
+```
+
+If the message has been successfully consumed, you will see a confirmation like the following in the `pulsar-client` logs:
+
+```
+09:56:55.566 [pulsar-client-io-1-1] INFO org.apache.pulsar.client.impl.MultiTopicsConsumerImpl - [TopicsConsumerFakeTopicNamee2df9] [first-subscription] Success subscribe new topic my-topic in topics consumer, partitions: 4, allTopicPartitionsNumber: 4
+```
+
+> #### Tip
+>
+> As you have noticed that we do not explicitly create the `my-topic` topic, to which we consume the message. When you consume a message to a topic that does not yet exist, Pulsar creates that topic for you automatically. Producing a message to a topic that does not exist will automatically create that topic for you as well.
+
+### Produce a message
+
+The following command produces a message saying `hello-pulsar` to the `my-topic` topic:
+
+```bash
+$ bin/pulsar-client produce my-topic --messages "hello-pulsar"
+```
+
+If the message has been successfully published to the topic, you will see a confirmation like the following in the `pulsar-client` logs:
+
+```
+13:09:39.356 [main] INFO org.apache.pulsar.client.cli.PulsarClientTool - 1 messages successfully produced
+```
+
+## Stop Pulsar standalone
+
+Press `Ctrl+C` to stop a local standalone Pulsar.
+
+> #### Tip
+>
+> If the service runs as a background process using the `pulsar-daemon start standalone` command, then use the `pulsar-daemon stop standalone` command to stop the service.
+>
+> For more information, see [pulsar-daemon](https://pulsar.apache.org/docs/en/reference-cli-tools/#pulsar-daemon).
diff --git a/site2/website-next/versioned_docs/version-2.8.0/getting-started-clients.md b/site2/website-next/versioned_docs/version-2.8.0/getting-started-clients.md
new file mode 100644
index 0000000..82ac47e
--- /dev/null
+++ b/site2/website-next/versioned_docs/version-2.8.0/getting-started-clients.md
@@ -0,0 +1,35 @@
+---
+id: client-libraries
+title: Pulsar client libraries
+sidebar_label: Overview
+original_id: client-libraries
+---
+
+Pulsar supports the following client libraries:
+
+- [Java client](client-libraries-java.md)
+- [Go client](client-libraries-go.md)
+- [Python client](client-libraries-python.md)
+- [C++ client](client-libraries-cpp.md)
+- [Node.js client](client-libraries-node.md)
+- [WebSocket client](client-libraries-websocket.md)
+- [C# client](client-libraries-dotnet.md)
+
+## Feature matrix
+Pulsar client feature matrix for different languages is listed on [Client Features Matrix](https://github.com/apache/pulsar/wiki/Client-Features-Matrix) page.
+
+## Third-party clients
+
+Besides the official released clients, multiple projects on developing Pulsar clients are available in different languages.
+
+> If you have developed a new Pulsar client, feel free to submit a pull request and add your client to the list below.
+
+| Language | Project | Maintainer | License | Description |
+|----------|---------|------------|---------|-------------|
+| Go | [pulsar-client-go](https://github.com/Comcast/pulsar-client-go) | [Comcast](https://github.com/Comcast) | [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) | A native golang client |
+| Go | [go-pulsar](https://github.com/t2y/go-pulsar) | [t2y](https://github.com/t2y) | [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) |
+| Haskell | [supernova](https://github.com/cr-org/supernova) | [Chatroulette](https://github.com/cr-org) | [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) | Native Pulsar client for Haskell |
+| Scala | [neutron](https://github.com/cr-org/neutron) | [Chatroulette](https://github.com/cr-org) | [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) | Purely functional Apache Pulsar client for Scala built on top of Fs2 |
+| Scala | [pulsar4s](https://github.com/sksamuel/pulsar4s) | [sksamuel](https://github.com/sksamuel) | [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) | Idomatic, typesafe, and reactive Scala client for Apache Pulsar |
+| Rust | [pulsar-rs](https://github.com/wyyerd/pulsar-rs) | [Wyyerd Group](https://github.com/wyyerd) | [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) | Future-based Rust bindings for Apache Pulsar |
+| .NET | [pulsar-client-dotnet](https://github.com/fsharplang-ru/pulsar-client-dotnet) | [Lanayx](https://github.com/Lanayx) | [![GitHub](https://img.shields.io/badge/license-MIT-green.svg)](https://opensource.org/licenses/MIT) | Native .NET client for C#/F#/VB |
diff --git a/site2/website-next/versioned_docs/version-2.8.0/getting-started-concepts-and-architecture.md b/site2/website-next/versioned_docs/version-2.8.0/getting-started-concepts-and-architecture.md
new file mode 100644
index 0000000..e5131f1
--- /dev/null
+++ b/site2/website-next/versioned_docs/version-2.8.0/getting-started-concepts-and-architecture.md
@@ -0,0 +1,16 @@
+---
+id: concepts-architecture
+title: Pulsar concepts and architecture
+sidebar_label: Concepts and architecture
+original_id: concepts-architecture
+---
+
+
+
+
+
+
+
+
+
+
diff --git a/site2/website-next/versioned_docs/version-2.8.0/getting-started-docker.md b/site2/website-next/versioned_docs/version-2.8.0/getting-started-docker.md
new file mode 100644
index 0000000..13b75d2
--- /dev/null
+++ b/site2/website-next/versioned_docs/version-2.8.0/getting-started-docker.md
@@ -0,0 +1,161 @@
+---
+id: standalone-docker
+title: Set up a standalone Pulsar in Docker
+sidebar_label: Run Pulsar in Docker
+original_id: standalone-docker
+---
+
+For local development and testing, you can run Pulsar in standalone
+mode on your own machine within a Docker container.
+
+If you have not installed Docker, download the [Community edition](https://www.docker.com/community-edition)
+and follow the instructions for your OS.
+
+## Start Pulsar in Docker
+
+* For MacOS, Linux, and Windows:
+
+ ```shell
+ $ docker run -it \
+ -p 6650:6650 \
+ -p 8080:8080 \
+ --mount source=pulsardata,target=/pulsar/data \
+ --mount source=pulsarconf,target=/pulsar/conf \
+ apachepulsar/pulsar:{{pulsar:version}} \
+ bin/pulsar standalone
+ ```
+
+A few things to note about this command:
+ * The data, metadata, and configuration are persisted on Docker volumes in order to not start "fresh" every
+time the container is restarted. For details on the volumes you can use `docker volume inspect <sourcename>`
+ * For Docker on Windows make sure to configure it to use Linux containers
+
+If you start Pulsar successfully, you will see `INFO`-level log messages like this:
+
+```
+2017-08-09 22:34:04,030 - INFO - [main:WebService@213] - Web Service started at http://127.0.0.1:8080
+2017-08-09 22:34:04,038 - INFO - [main:PulsarService@335] - messaging service is ready, bootstrap service on port=8080, broker url=pulsar://127.0.0.1:6650, cluster=standalone, configs=org.apache.pulsar.broker.ServiceConfiguration@4db60246
+...
+```
+
+> #### Tip
+>
+> When you start a local standalone cluster, a `public/default`
+namespace is created automatically. The namespace is used for development purposes. All Pulsar topics are managed within namespaces.
+For more information, see [Topics](concepts-messaging.md#topics).
+
+## Use Pulsar in Docker
+
+Pulsar offers client libraries for [Java](client-libraries-java.md), [Go](client-libraries-go.md), [Python](client-libraries-python.md)
+and [C++](client-libraries-cpp.md). If you're running a local standalone cluster, you can
+use one of these root URLs to interact with your cluster:
+
+* `pulsar://localhost:6650`
+* `http://localhost:8080`
+
+The following example will guide you get started with Pulsar quickly by using the [Python](client-libraries-python.md)
+client API.
+
+Install the Pulsar Python client library directly from [PyPI](https://pypi.org/project/pulsar-client/):
+
+```shell
+$ pip install pulsar-client
+```
+
+### Consume a message
+
+Create a consumer and subscribe to the topic:
+
+```python
+import pulsar
+
+client = pulsar.Client('pulsar://localhost:6650')
+consumer = client.subscribe('my-topic',
+ subscription_name='my-sub')
+
+while True:
+ msg = consumer.receive()
+ print("Received message: '%s'" % msg.data())
+ consumer.acknowledge(msg)
+
+client.close()
+```
+
+### Produce a message
+
+Now start a producer to send some test messages:
+
+```python
+import pulsar
+
+client = pulsar.Client('pulsar://localhost:6650')
+producer = client.create_producer('my-topic')
+
+for i in range(10):
+ producer.send(('hello-pulsar-%d' % i).encode('utf-8'))
+
+client.close()
+```
+
+## Get the topic statistics
+
+In Pulsar, you can use REST, Java, or command-line tools to control every aspect of the system.
+For details on APIs, refer to [Admin API Overview](admin-api-overview.md).
+
+In the simplest example, you can use curl to probe the stats for a particular topic:
+
+```shell
+$ curl http://localhost:8080/admin/v2/persistent/public/default/my-topic/stats | python -m json.tool
+```
+
+The output is something like this:
+
+```json
+{
+ "averageMsgSize": 0.0,
+ "msgRateIn": 0.0,
+ "msgRateOut": 0.0,
+ "msgThroughputIn": 0.0,
+ "msgThroughputOut": 0.0,
+ "publishers": [
+ {
+ "address": "/172.17.0.1:35048",
+ "averageMsgSize": 0.0,
+ "clientVersion": "1.19.0-incubating",
+ "connectedSince": "2017-08-09 20:59:34.621+0000",
+ "msgRateIn": 0.0,
+ "msgThroughputIn": 0.0,
+ "producerId": 0,
+ "producerName": "standalone-0-1"
+ }
+ ],
+ "replication": {},
+ "storageSize": 16,
+ "subscriptions": {
+ "my-sub": {
+ "blockedSubscriptionOnUnackedMsgs": false,
+ "consumers": [
+ {
+ "address": "/172.17.0.1:35064",
+ "availablePermits": 996,
+ "blockedConsumerOnUnackedMsgs": false,
+ "clientVersion": "1.19.0-incubating",
+ "connectedSince": "2017-08-09 21:05:39.222+0000",
+ "consumerName": "166111",
+ "msgRateOut": 0.0,
+ "msgRateRedeliver": 0.0,
+ "msgThroughputOut": 0.0,
+ "unackedMessages": 0
+ }
+ ],
+ "msgBacklog": 0,
+ "msgRateExpired": 0.0,
+ "msgRateOut": 0.0,
+ "msgRateRedeliver": 0.0,
+ "msgThroughputOut": 0.0,
+ "type": "Exclusive",
+ "unackedMessages": 0
+ }
+ }
+}
+```
diff --git a/site2/website-next/versioned_docs/version-2.8.0/getting-started-helm.md b/site2/website-next/versioned_docs/version-2.8.0/getting-started-helm.md
new file mode 100644
index 0000000..8e1cc5a
--- /dev/null
+++ b/site2/website-next/versioned_docs/version-2.8.0/getting-started-helm.md
@@ -0,0 +1,363 @@
+---
+id: kubernetes-helm
+title: Get started in Kubernetes
+sidebar_label: Run Pulsar in Kubernetes
+original_id: kubernetes-helm
+---
+
+This section guides you through every step of installing and running Apache Pulsar with Helm on Kubernetes quickly, including the following sections:
+
+- Install the Apache Pulsar on Kubernetes using Helm
+- Start and stop Apache Pulsar
+- Create topics using `pulsar-admin`
+- Produce and consume messages using Pulsar clients
+- Monitor Apache Pulsar status with Prometheus and Grafana
+
+For deploying a Pulsar cluster for production usage, read the documentation on [how to configure and install a Pulsar Helm chart](helm-deploy.md).
+
+## Prerequisite
+
+- Kubernetes server 1.14.0+
+- kubectl 1.14.0+
+- Helm 3.0+
+
+> #### Tip
+> For the following steps, step 2 and step 3 are for **developers** and step 4 and step 5 are for **administrators**.
+
+## Step 0: Prepare a Kubernetes cluster
+
+Before installing a Pulsar Helm chart, you have to create a Kubernetes cluster. You can follow [the instructions](helm-prepare.md) to prepare a Kubernetes cluster.
+
+We use [Minikube](https://minikube.sigs.k8s.io/docs/start/) in this quick start guide. To prepare a Kubernetes cluster, follow these steps:
+
+1. Create a Kubernetes cluster on Minikube.
+
+ ```bash
+ minikube start --memory=8192 --cpus=4 --kubernetes-version=<k8s-version>
+ ```
+
+ The `<k8s-version>` can be any [Kubernetes version supported by your Minikube installation](https://minikube.sigs.k8s.io/docs/reference/configuration/kubernetes/), such as `v1.16.1`.
+
+2. Set `kubectl` to use Minikube.
+
+ ```bash
+ kubectl config use-context minikube
+ ```
+
+3. To use the [Kubernetes Dashboard](https://kubernetes.io/docs/tasks/access-application-cluster/web-ui-dashboard/) with the local Kubernetes cluster on Minikube, enter the command below:
+
+ ```bash
+ minikube dashboard
+ ```
+ The command automatically triggers opening a webpage in your browser.
+
+## Step 1: Install Pulsar Helm chart
+
+0. Add Pulsar charts repo.
+
+ ```bash
+ helm repo add apache https://pulsar.apache.org/charts
+ ```
+
+ ```bash
+ helm repo update
+ ```
+
+1. Clone the Pulsar Helm chart repository.
+
+ ```bash
+ git clone https://github.com/apache/pulsar-helm-chart
+ cd pulsar-helm-chart
+ ```
+
+2. Run the script `prepare_helm_release.sh` to create secrets required for installing the Apache Pulsar Helm chart. The username `pulsar` and password `pulsar` are used for logging into the Grafana dashboard and Pulsar Manager.
+
+ ```bash
+ ./scripts/pulsar/prepare_helm_release.sh \
+ -n pulsar \
+ -k pulsar-mini \
+ -c
+ ```
+
+3. Use the Pulsar Helm chart to install a Pulsar cluster to Kubernetes.
+
+ > **NOTE**
+ > You need to specify `--set initialize=true` when installing Pulsar the first time. This command installs and starts Apache Pulsar.
+
+ ```bash
+ helm install \
+ --values examples/values-minikube.yaml \
+ --set initialize=true \
+ --namespace pulsar \
+ pulsar-mini apache/pulsar
+ ```
+
+4. Check the status of all pods.
+
+ ```bash
+ kubectl get pods -n pulsar
+ ```
+
+ If all pods start up successfully, you can see that the `STATUS` is changed to `Running` or `Completed`.
+
+ **Output**
+
+ ```bash
+ NAME READY STATUS RESTARTS AGE
+ pulsar-mini-bookie-0 1/1 Running 0 9m27s
+ pulsar-mini-bookie-init-5gphs 0/1 Completed 0 9m27s
+ pulsar-mini-broker-0 1/1 Running 0 9m27s
+ pulsar-mini-grafana-6b7bcc64c7-4tkxd 1/1 Running 0 9m27s
+ pulsar-mini-prometheus-5fcf5dd84c-w8mgz 1/1 Running 0 9m27s
+ pulsar-mini-proxy-0 1/1 Running 0 9m27s
+ pulsar-mini-pulsar-init-t7cqt 0/1 Completed 0 9m27s
+ pulsar-mini-pulsar-manager-9bcbb4d9f-htpcs 1/1 Running 0 9m27s
+ pulsar-mini-toolset-0 1/1 Running 0 9m27s
+ pulsar-mini-zookeeper-0 1/1 Running 0 9m27s
+ ```
+
+5. Check the status of all services in the namespace `pulsar`.
+
+ ```bash
+ kubectl get services -n pulsar
+ ```
+
+ **Output**
+
+ ```bash
+ NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
+ pulsar-mini-bookie ClusterIP None <none> 3181/TCP,8000/TCP 11m
+ pulsar-mini-broker ClusterIP None <none> 8080/TCP,6650/TCP 11m
+ pulsar-mini-grafana LoadBalancer 10.106.141.246 <pending> 3000:31905/TCP 11m
+ pulsar-mini-prometheus ClusterIP None <none> 9090/TCP 11m
+ pulsar-mini-proxy LoadBalancer 10.97.240.109 <pending> 80:32305/TCP,6650:31816/TCP 11m
+ pulsar-mini-pulsar-manager LoadBalancer 10.103.192.175 <pending> 9527:30190/TCP 11m
+ pulsar-mini-toolset ClusterIP None <none> <none> 11m
+ pulsar-mini-zookeeper ClusterIP None <none> 2888/TCP,3888/TCP,2181/TCP 11m
+ ```
+
+## Step 2: Use pulsar-admin to create Pulsar tenants/namespaces/topics
+
+`pulsar-admin` is the CLI (command-Line Interface) tool for Pulsar. In this step, you can use `pulsar-admin` to create resources, including tenants, namespaces, and topics.
+
+1. Enter the `toolset` container.
+
+ ```bash
+ kubectl exec -it -n pulsar pulsar-mini-toolset-0 -- /bin/bash
+ ```
+
+2. In the `toolset` container, create a tenant named `apache`.
+
+ ```bash
+ bin/pulsar-admin tenants create apache
+ ```
+
+ Then you can list the tenants to see if the tenant is created successfully.
+
+ ```bash
+ bin/pulsar-admin tenants list
+ ```
+
+ You should see a similar output as below. The tenant `apache` has been successfully created.
+
+ ```bash
+ "apache"
+ "public"
+ "pulsar"
+ ```
+
+3. In the `toolset` container, create a namespace named `pulsar` in the tenant `apache`.
+
+ ```bash
+ bin/pulsar-admin namespaces create apache/pulsar
+ ```
+
+ Then you can list the namespaces of tenant `apache` to see if the namespace is created successfully.
+
+ ```bash
+ bin/pulsar-admin namespaces list apache
+ ```
+
+ You should see a similar output as below. The namespace `apache/pulsar` has been successfully created.
+
+ ```bash
+ "apache/pulsar"
+ ```
+
+4. In the `toolset` container, create a topic `test-topic` with `4` partitions in the namespace `apache/pulsar`.
+
+ ```bash
+ bin/pulsar-admin topics create-partitioned-topic apache/pulsar/test-topic -p 4
+ ```
+
+5. In the `toolset` container, list all the partitioned topics in the namespace `apache/pulsar`.
+
+ ```bash
+ bin/pulsar-admin topics list-partitioned-topics apache/pulsar
+ ```
+
+ Then you can see all the partitioned topics in the namespace `apache/pulsar`.
+
+ ```bash
+ "persistent://apache/pulsar/test-topic"
+ ```
+
+## Step 3: Use Pulsar client to produce and consume messages
+
+You can use the Pulsar client to create producers and consumers to produce and consume messages.
+
+By default, the Pulsar Helm chart exposes the Pulsar cluster through a Kubernetes `LoadBalancer`. In Minikube, you can use the following command to check the proxy service.
+
+```bash
+kubectl get services -n pulsar | grep pulsar-mini-proxy
+```
+
+You will see a similar output as below.
+
+```bash
+pulsar-mini-proxy LoadBalancer 10.97.240.109 <pending> 80:32305/TCP,6650:31816/TCP 28m
+```
+
+This output tells what are the node ports that Pulsar cluster's binary port and HTTP port are mapped to. The port after `80:` is the HTTP port while the port after `6650:` is the binary port.
+
+Then you can find the IP address and exposed ports of your Minikube server by running the following command.
+
+```bash
+minikube service pulsar-mini-proxy -n pulsar
+```
+
+**Output**
+
+```bash
+|-----------|-------------------|-------------|-------------------------|
+| NAMESPACE | NAME | TARGET PORT | URL |
+|-----------|-------------------|-------------|-------------------------|
+| pulsar | pulsar-mini-proxy | http/80 | http://172.17.0.4:32305 |
+| | | pulsar/6650 | http://172.17.0.4:31816 |
+|-----------|-------------------|-------------|-------------------------|
+🏃 Starting tunnel for service pulsar-mini-proxy.
+|-----------|-------------------|-------------|------------------------|
+| NAMESPACE | NAME | TARGET PORT | URL |
+|-----------|-------------------|-------------|------------------------|
+| pulsar | pulsar-mini-proxy | | http://127.0.0.1:61853 |
+| | | | http://127.0.0.1:61854 |
+|-----------|-------------------|-------------|------------------------|
+```
+
+At this point, you can get the service URLs to connect to your Pulsar client. Here are URL examples:
+```
+webServiceUrl=http://127.0.0.1:61853/
+brokerServiceUrl=pulsar://127.0.0.1:61854/
+```
+
+Then you can proceed with the following steps:
+
+1. Download the Apache Pulsar tarball from the [downloads page](https://pulsar.apache.org/en/download/).
+
+2. Decompress the tarball based on your download file.
+
+ ```bash
+ tar -xf <file-name>.tar.gz
+ ```
+
+3. Expose `PULSAR_HOME`.
+
+ (1) Enter the directory of the decompressed download file.
+
+ (2) Expose `PULSAR_HOME` as the environment variable.
+
+ ```bash
+ export PULSAR_HOME=$(pwd)
+ ```
+
+4. Configure the Pulsar client.
+
+ In the `${PULSAR_HOME}/conf/client.conf` file, replace `webServiceUrl` and `brokerServiceUrl` with the service URLs you get from the above steps.
+
+5. Create a subscription to consume messages from `apache/pulsar/test-topic`.
+
+ ```bash
+ bin/pulsar-client consume -s sub apache/pulsar/test-topic -n 0
+ ```
+
+6. Open a new terminal. In the new terminal, create a producer and send 10 messages to the `test-topic` topic.
+
+ ```bash
+ bin/pulsar-client produce apache/pulsar/test-topic -m "---------hello apache pulsar-------" -n 10
+ ```
+
+7. Verify the results.
+
+ - From the producer side
+
+ **Output**
+
+ The messages have been produced successfully.
+
+ ```bash
+ 18:15:15.489 [main] INFO org.apache.pulsar.client.cli.PulsarClientTool - 10 messages successfully produced
+ ```
+
+ - From the consumer side
+
+ **Output**
+
+ At the same time, you can receive the messages as below.
+
+ ```bash
+ ----- got message -----
+ ---------hello apache pulsar-------
+ ----- got message -----
+ ---------hello apache pulsar-------
+ ----- got message -----
+ ---------hello apache pulsar-------
+ ----- got message -----
+ ---------hello apache pulsar-------
+ ----- got message -----
+ ---------hello apache pulsar-------
+ ----- got message -----
+ ---------hello apache pulsar-------
+ ----- got message -----
+ ---------hello apache pulsar-------
+ ----- got message -----
+ ---------hello apache pulsar-------
+ ----- got message -----
+ ---------hello apache pulsar-------
+ ----- got message -----
+ ---------hello apache pulsar-------
+ ```
+
+## Step 4: Use Pulsar Manager to manage the cluster
+
+[Pulsar Manager](administration-pulsar-manager.md) is a web-based GUI management tool for managing and monitoring Pulsar.
+
+1. By default, the `Pulsar Manager` is exposed as a separate `LoadBalancer`. You can open the Pulsar Manager UI using the following command:
+
+ ```bash
+ minikube service -n pulsar pulsar-mini-pulsar-manager
+ ```
+
+2. The Pulsar Manager UI will be open in your browser. You can use the username `pulsar` and password `pulsar` to log into Pulsar Manager.
+
+3. In Pulsar Manager UI, you can create an environment.
+
+ - Click `New Environment` button in the top-left corner.
+ - Type `pulsar-mini` for the field `Environment Name` in the popup window.
+ - Type `http://pulsar-mini-broker:8080` for the field `Service URL` in the popup window.
+ - Click `Confirm` button in the popup window.
+
+4. After successfully created an environment, you are redirected to the `tenants` page of that environment. Then you can create `tenants`, `namespaces` and `topics` using the Pulsar Manager.
+
+## Step 5: Use Prometheus and Grafana to monitor cluster
+
+Grafana is an open-source visualization tool, which can be used for visualizing time series data into dashboards.
+
+1. By default, the Grafana is exposed as a separate `LoadBalancer`. You can open the Grafana UI using the following command:
+
+ ```bash
+ minikube service pulsar-mini-grafana -n pulsar
+ ```
+
+2. The Grafana UI is open in your browser. You can use the username `pulsar` and password `pulsar` to log into the Grafana Dashboard.
+
+3. You can view dashboards for different components of a Pulsar cluster.
diff --git a/site2/website-next/versioned_docs/version-2.8.0/getting-started-pulsar.md b/site2/website-next/versioned_docs/version-2.8.0/getting-started-pulsar.md
new file mode 100644
index 0000000..6f9ce8a
--- /dev/null
+++ b/site2/website-next/versioned_docs/version-2.8.0/getting-started-pulsar.md
@@ -0,0 +1,67 @@
+---
+id: pulsar-2.0
+title: Pulsar 2.0
+sidebar_label: Pulsar 2.0
+original_id: pulsar-2.0
+---
+
+Pulsar 2.0 is a major new release for Pulsar that brings some bold changes to the platform, including [simplified topic names](#topic-names), the addition of the [Pulsar Functions](functions-overview.md) feature, some terminology changes, and more.
+
+## New features in Pulsar 2.0
+
+Feature | Description
+:-------|:-----------
+[Pulsar Functions](functions-overview.md) | A lightweight compute option for Pulsar
+
+## Major changes
+
+There are a few major changes that you should be aware of, as they may significantly impact your day-to-day usage.
+
+### Properties versus tenants
+
+Previously, Pulsar had a concept of properties. A property is essentially the exact same thing as a tenant, so the "property" terminology has been removed in version 2.0. The [`pulsar-admin properties`](reference-pulsar-admin.md#pulsar-admin) command-line interface, for example, has been replaced with the [`pulsar-admin tenants`](reference-pulsar-admin.md#pulsar-admin-tenants) interface. In some cases the properties terminology is still used but is now considered deprecated and will be r [...]
+
+### Topic names
+
+Prior to version 2.0, *all* Pulsar topics had the following form:
+
+```http
+{persistent|non-persistent}://property/cluster/namespace/topic
+```
+Two important changes have been made in Pulsar 2.0:
+
+* There is no longer a [cluster component](#no-cluster)
+* Properties have been [renamed to tenants](#tenants)
+* You can use a [flexible](#flexible-topic-naming) naming system to shorten many topic names
+* `/` is not allowed in topic name
+
+#### No cluster component
+
+The cluster component has been removed from topic names. Thus, all topic names now have the following form:
+
+```http
+{persistent|non-persistent}://tenant/namespace/topic
+```
+
+> Existing topics that use the legacy name format will continue to work without any change, and there are no plans to change that.
+
+
+#### Flexible topic naming
+
+All topic names in Pulsar 2.0 internally have the form shown [above](#no-cluster-component) but you can now use shorthand names in many cases (for the sake of simplicity). The flexible naming system stems from the fact that there is now a default topic type, tenant, and namespace:
+
+Topic aspect | Default
+:------------|:-------
+topic type | `persistent`
+tenant | `public`
+namespace | `default`
+
+The table below shows some example topic name translations that use implicit defaults:
+
+Input topic name | Translated topic name
+:----------------|:---------------------
+`my-topic` | `persistent://public/default/my-topic`
+`my-tenant/my-namespace/my-topic` | `persistent://my-tenant/my-namespace/my-topic`
+
+> For [non-persistent topics](concepts-messaging.md#non-persistent-topics) you'll need to continue to specify the entire topic name, as the default-based rules for persistent topic names don't apply. Thus you cannot use a shorthand name like `non-persistent://my-topic` and would need to use `non-persistent://public/default/my-topic` instead
+
diff --git a/site2/website-next/versioned_docs/version-2.8.0/getting-started-standalone.md b/site2/website-next/versioned_docs/version-2.8.0/getting-started-standalone.md
new file mode 100644
index 0000000..5402f4c
--- /dev/null
+++ b/site2/website-next/versioned_docs/version-2.8.0/getting-started-standalone.md
@@ -0,0 +1,231 @@
+---
+id: standalone
+title: Set up a standalone Pulsar locally
+sidebar_label: Run Pulsar locally
+original_id: standalone
+slug: /
+---
+
+For local development and testing, you can run Pulsar in standalone mode on your machine. The standalone mode includes a Pulsar broker, the necessary ZooKeeper and BookKeeper components running inside of a single Java Virtual Machine (JVM) process.
+
+> #### Pulsar in production?
+> If you're looking to run a full production Pulsar installation, see the [Deploying a Pulsar instance](deploy-bare-metal.md) guide.
+
+## Install Pulsar standalone
+
+This tutorial guides you through every step of the installation process.
+
+### System requirements
+
+Currently, Pulsar is available for 64-bit **macOS**, **Linux**, and **Windows**. To use Pulsar, you need to install 64-bit JRE/JDK 8 or later versions.
+
+> #### Tip
+> By default, Pulsar allocates 2G JVM heap memory to start. It can be changed in `conf/pulsar_env.sh` file under `PULSAR_MEM`. This is extra options passed into JVM.
+
+> **Note**
+>
+> Broker is only supported on 64-bit JVM.
+
+### Install Pulsar using binary release
+
+To get started with Pulsar, download a binary tarball release in one of the following ways:
+
+* download from the Apache mirror (<a href="pulsar:binary_release_url" download>Pulsar {{pulsar:version}} binary release</a>)
+
+* download from the Pulsar [downloads page](pulsar:download_page_url)
+
+* download from the Pulsar [releases page](https://github.com/apache/pulsar/releases/latest)
+
+* use [wget](https://www.gnu.org/software/wget):
+
+ ```shell
+ $ wget pulsar:binary_release_url
+ ```
+
+After you download the tarball, untar it and use the `cd` command to navigate to the resulting directory:
+
+```bash
+$ tar xvfz apache-pulsar-{{pulsar:version}}-bin.tar.gz
+$ cd apache-pulsar-{{pulsar:version}}
+```
+
+#### What your package contains
+
+The Pulsar binary package initially contains the following directories:
+
+Directory | Contains
+:---------|:--------
+`bin` | Pulsar's command-line tools, such as [`pulsar`](reference-cli-tools.md#pulsar) and [`pulsar-admin`](https://pulsar.apache.org/tools/pulsar-admin/).
+`conf` | Configuration files for Pulsar, including [broker configuration](reference-configuration.md#broker), [ZooKeeper configuration](reference-configuration.md#zookeeper), and more.
+`examples` | A Java JAR file containing [Pulsar Functions](functions-overview.md) example.
+`lib` | The [JAR](https://en.wikipedia.org/wiki/JAR_(file_format)) files used by Pulsar.
+`licenses` | License files, in the`.txt` form, for various components of the Pulsar [codebase](https://github.com/apache/pulsar).
+
+These directories are created once you begin running Pulsar.
+
+Directory | Contains
+:---------|:--------
+`data` | The data storage directory used by ZooKeeper and BookKeeper.
+`instances` | Artifacts created for [Pulsar Functions](functions-overview.md).
+`logs` | Logs created by the installation.
+
+> #### Tip
+> If you want to use builtin connectors and tiered storage offloaders, you can install them according to the following instructions:
+>
+> * [Install builtin connectors (optional)](#install-builtin-connectors-optional)
+> * [Install tiered storage offloaders (optional)](#install-tiered-storage-offloaders-optional)
+>
+> Otherwise, skip this step and perform the next step [Start Pulsar standalone](#start-pulsar-standalone). Pulsar can be successfully installed without installing bulitin connectors and tiered storage offloaders.
+
+### Install builtin connectors (optional)
+
+Since `2.1.0-incubating` release, Pulsar releases a separate binary distribution, containing all the `builtin` connectors.
+To enable those `builtin` connectors, you can download the connectors tarball release in one of the following ways:
+
+* download from the Apache mirror <a href="pulsar:connector_release_url" download>Pulsar IO Connectors {{pulsar:version}} release</a>
+
+* download from the Pulsar [downloads page](pulsar:download_page_url)
+
+* download from the Pulsar [releases page](https://github.com/apache/pulsar/releases/latest)
+
+* use [wget](https://www.gnu.org/software/wget):
+
+ ```shell
+ $ wget pulsar:connector_release_url/{connector}-{{pulsar:version}}.nar
+ ```
+
+After you download the nar file, copy the file to the `connectors` directory in the pulsar directory.
+For example, if you download the `pulsar-io-aerospike-{{pulsar:version}}.nar` connector file, enter the following commands:
+
+```bash
+$ mkdir connectors
+$ mv pulsar-io-aerospike-{{pulsar:version}}.nar connectors
+
+$ ls connectors
+pulsar-io-aerospike-{{pulsar:version}}.nar
+...
+```
+
+> #### Note
+>
+> * If you are running Pulsar in a bare metal cluster, make sure `connectors` tarball is unzipped in every pulsar directory of the broker
+> (or in every pulsar directory of function-worker if you are running a separate worker cluster for Pulsar Functions).
+>
+> * If you are [running Pulsar in Docker](getting-started-docker.md) or deploying Pulsar using a docker image (e.g. [K8S](deploy-kubernetes.md) or [DCOS](deploy-dcos.md)),
+> you can use the `apachepulsar/pulsar-all` image instead of the `apachepulsar/pulsar` image. `apachepulsar/pulsar-all` image has already bundled [all builtin connectors](io-overview.md#working-with-connectors).
+
+### Install tiered storage offloaders (optional)
+
+> #### Tip
+>
+> Since `2.2.0` release, Pulsar releases a separate binary distribution, containing the tiered storage offloaders.
+> To enable tiered storage feature, follow the instructions below; otherwise skip this section.
+
+To get started with [tiered storage offloaders](concepts-tiered-storage.md), you need to download the offloaders tarball release on every broker node in one of the following ways:
+
+* download from the Apache mirror <a href="pulsar:offloader_release_url" download>Pulsar Tiered Storage Offloaders {{pulsar:version}} release</a>
+
+* download from the Pulsar [downloads page](pulsar:download_page_url)
+
+* download from the Pulsar [releases page](https://github.com/apache/pulsar/releases/latest)
+
+* use [wget](https://www.gnu.org/software/wget):
+
+ ```shell
+ $ wget pulsar:offloader_release_url
+ ```
+
+After you download the tarball, untar the offloaders package and copy the offloaders as `offloaders`
+in the pulsar directory:
+
+```bash
+$ tar xvfz apache-pulsar-offloaders-{{pulsar:version}}-bin.tar.gz
+
+// you will find a directory named `apache-pulsar-offloaders-{{pulsar:version}}` in the pulsar directory
+// then copy the offloaders
+
+$ mv apache-pulsar-offloaders-{{pulsar:version}}/offloaders offloaders
+
+$ ls offloaders
+tiered-storage-jcloud-{{pulsar:version}}.nar
+```
+
+For more information on how to configure tiered storage, see [Tiered storage cookbook](cookbooks-tiered-storage.md).
+
+> #### Note
+>
+> * If you are running Pulsar in a bare metal cluster, make sure that `offloaders` tarball is unzipped in every broker's pulsar directory.
+>
+> * If you are [running Pulsar in Docker](getting-started-docker.md) or deploying Pulsar using a docker image (e.g. [K8S](deploy-kubernetes.md) or [DCOS](deploy-dcos.md)),
+> you can use the `apachepulsar/pulsar-all` image instead of the `apachepulsar/pulsar` image. `apachepulsar/pulsar-all` image has already bundled tiered storage offloaders.
+
+## Start Pulsar standalone
+
+Once you have an up-to-date local copy of the release, you can start a local cluster using the [`pulsar`](reference-cli-tools.md#pulsar) command, which is stored in the `bin` directory, and specifying that you want to start Pulsar in standalone mode.
+
+```bash
+$ bin/pulsar standalone
+```
+
+If you have started Pulsar successfully, you will see `INFO`-level log messages like this:
+
+```bash
+2017-06-01 14:46:29,192 - INFO - [main:WebSocketService@95] - Configuration Store cache started
+2017-06-01 14:46:29,192 - INFO - [main:AuthenticationService@61] - Authentication is disabled
+2017-06-01 14:46:29,192 - INFO - [main:WebSocketService@108] - Pulsar WebSocket Service started
+```
+
+> #### Tip
+>
+> * The service is running on your terminal, which is under your direct control. If you need to run other commands, open a new terminal window.
+You can also run the service as a background process using the `pulsar-daemon start standalone` command. For more information, see [pulsar-daemon](https://pulsar.apache.org/docs/en/reference-cli-tools/#pulsar-daemon).
+>
+> * By default, there is no encryption, authentication, or authorization configured. Apache Pulsar can be accessed from remote server without any authorization. Please do check [Security Overview](security-overview.md) document to secure your deployment.
+>
+> * When you start a local standalone cluster, a `public/default` [namespace](concepts-messaging.md#namespaces) is created automatically. The namespace is used for development purposes. All Pulsar topics are managed within namespaces. For more information, see [Topics](concepts-messaging.md#topics).
+
+## Use Pulsar standalone
+
+Pulsar provides a CLI tool called [`pulsar-client`](reference-cli-tools.md#pulsar-client). The pulsar-client tool enables you to consume and produce messages to a Pulsar topic in a running cluster.
+
+### Consume a message
+
+The following command consumes a message with the subscription name `first-subscription` to the `my-topic` topic:
+
+```bash
+$ bin/pulsar-client consume my-topic -s "first-subscription"
+```
+
+If the message has been successfully consumed, you will see a confirmation like the following in the `pulsar-client` logs:
+
+```
+09:56:55.566 [pulsar-client-io-1-1] INFO org.apache.pulsar.client.impl.MultiTopicsConsumerImpl - [TopicsConsumerFakeTopicNamee2df9] [first-subscription] Success subscribe new topic my-topic in topics consumer, partitions: 4, allTopicPartitionsNumber: 4
+```
+
+> #### Tip
+>
+> As you have noticed that we do not explicitly create the `my-topic` topic, to which we consume the message. When you consume a message to a topic that does not yet exist, Pulsar creates that topic for you automatically. Producing a message to a topic that does not exist will automatically create that topic for you as well.
+
+### Produce a message
+
+The following command produces a message saying `hello-pulsar` to the `my-topic` topic:
+
+```bash
+$ bin/pulsar-client produce my-topic --messages "hello-pulsar"
+```
+
+If the message has been successfully published to the topic, you will see a confirmation like the following in the `pulsar-client` logs:
+
+```
+13:09:39.356 [main] INFO org.apache.pulsar.client.cli.PulsarClientTool - 1 messages successfully produced
+```
+
+## Stop Pulsar standalone
+
+Press `Ctrl+C` to stop a local standalone Pulsar.
+
+> #### Tip
+>
+> If the service runs as a background process using the `pulsar-daemon start standalone` command, then use the `pulsar-daemon stop standalone` command to stop the service.
+>
+> For more information, see [pulsar-daemon](https://pulsar.apache.org/docs/en/reference-cli-tools/#pulsar-daemon).
diff --git a/site2/website-next/versioned_sidebars/version-2.7.3-sidebars.json b/site2/website-next/versioned_sidebars/version-2.7.3-sidebars.json
new file mode 100644
index 0000000..14e0f56
--- /dev/null
+++ b/site2/website-next/versioned_sidebars/version-2.7.3-sidebars.json
@@ -0,0 +1,24 @@
+{
+ "version-2.7.3/docsSidebar": [
+ {
+ "type": "category",
+ "label": "Get Started",
+ "items": [
+ {
+ "type": "doc",
+ "id": "version-2.7.3/standalone"
+ },
+ {
+ "type": "doc",
+ "id": "version-2.7.3/standalone-docker"
+ },
+ {
+ "type": "doc",
+ "id": "version-2.7.3/kubernetes-helm"
+ }
+ ],
+ "collapsible": true,
+ "collapsed": true
+ }
+ ]
+}
diff --git a/site2/website-next/versioned_sidebars/version-2.8.0-sidebars.json b/site2/website-next/versioned_sidebars/version-2.8.0-sidebars.json
new file mode 100644
index 0000000..b9d58b6
--- /dev/null
+++ b/site2/website-next/versioned_sidebars/version-2.8.0-sidebars.json
@@ -0,0 +1,24 @@
+{
+ "version-2.8.0/docsSidebar": [
+ {
+ "type": "category",
+ "label": "Get Started",
+ "items": [
+ {
+ "type": "doc",
+ "id": "version-2.8.0/standalone"
+ },
+ {
+ "type": "doc",
+ "id": "version-2.8.0/standalone-docker"
+ },
+ {
+ "type": "doc",
+ "id": "version-2.8.0/kubernetes-helm"
+ }
+ ],
+ "collapsible": true,
+ "collapsed": true
+ }
+ ]
+}
diff --git a/site2/website-next/versions.json b/site2/website-next/versions.json
new file mode 100644
index 0000000..5b37cbe
--- /dev/null
+++ b/site2/website-next/versions.json
@@ -0,0 +1,4 @@
+[
+ "2.8.0",
+ "2.7.3"
+]