This is an automated email from the ASF dual-hosted git repository.
urfree pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/pulsar-site.git
The following commit(s) were added to refs/heads/main by this push:
new 5dd06185c6a Docs sync done from apache/pulsar(#00a0bcf)
5dd06185c6a is described below
commit 5dd06185c6ac8b85516b65a782d428cb04fdcb9d
Author: Pulsar Site Updater <[email protected]>
AuthorDate: Tue Jul 26 06:02:53 2022 +0000
Docs sync done from apache/pulsar(#00a0bcf)
---
site2/website-next/docs/admin-api-overview.md | 2 +
.../docs/administration-pulsar-shell.md | 173 +++++++++++++++++++++
site2/website-next/docs/client-libraries-cpp.md | 1 +
site2/website-next/docs/client-libraries-node.md | 4 +-
site2/website-next/docs/client-libraries-python.md | 6 +-
site2/website-next/docs/reference-cli-tools.md | 125 +++++++++++++++
site2/website-next/sidebars.json | 1 +
.../version-2.1.0-incubating/develop-cpp.md | 1 +
.../version-2.1.1-incubating/develop-cpp.md | 1 +
.../version-2.10.0/client-libraries-cpp.md | 1 +
.../version-2.10.1/client-libraries-cpp.md | 1 +
.../versioned_docs/version-2.2.0/develop-cpp.md | 1 +
.../version-2.2.1/client-libraries-cpp.md | 1 +
.../versioned_docs/version-2.2.1/develop-cpp.md | 1 +
.../versioned_docs/version-2.3.0/develop-cpp.md | 1 +
.../versioned_docs/version-2.3.1/develop-cpp.md | 1 +
.../version-2.3.2/client-libraries-cpp.md | 1 +
.../versioned_docs/version-2.3.2/develop-cpp.md | 1 +
.../version-2.4.0/client-libraries-cpp.md | 1 +
.../versioned_docs/version-2.4.0/develop-cpp.md | 1 +
.../version-2.4.1/client-libraries-cpp.md | 1 +
.../versioned_docs/version-2.4.1/develop-cpp.md | 1 +
.../version-2.4.2/client-libraries-cpp.md | 1 +
.../versioned_docs/version-2.4.2/develop-cpp.md | 1 +
.../versioned_docs/version-2.5.0/develop-cpp.md | 1 +
.../versioned_docs/version-2.5.1/develop-cpp.md | 1 +
.../versioned_docs/version-2.5.2/develop-cpp.md | 1 +
.../versioned_docs/version-2.6.0/develop-cpp.md | 1 +
.../versioned_docs/version-2.6.1/develop-cpp.md | 1 +
.../versioned_docs/version-2.6.2/develop-cpp.md | 1 +
.../versioned_docs/version-2.6.3/develop-cpp.md | 1 +
.../versioned_docs/version-2.6.4/develop-cpp.md | 1 +
.../versioned_docs/version-2.7.0/develop-cpp.md | 1 +
.../versioned_docs/version-2.7.1/develop-cpp.md | 1 +
.../versioned_docs/version-2.7.2/develop-cpp.md | 1 +
.../versioned_docs/version-2.7.3/develop-cpp.md | 1 +
.../versioned_docs/version-2.7.4/develop-cpp.md | 1 +
.../version-2.8.0/client-libraries-cpp.md | 1 +
.../version-2.8.1/client-libraries-cpp.md | 1 +
.../version-2.8.2/client-libraries-cpp.md | 1 +
.../version-2.8.3/client-libraries-cpp.md | 1 +
.../version-2.9.0/client-libraries-cpp.md | 1 +
.../version-2.9.1/client-libraries-cpp.md | 1 +
.../version-2.9.2/client-libraries-cpp.md | 1 +
.../version-2.9.3/client-libraries-cpp.md | 1 +
45 files changed, 344 insertions(+), 6 deletions(-)
diff --git a/site2/website-next/docs/admin-api-overview.md
b/site2/website-next/docs/admin-api-overview.md
index 1767f66b643..46a45a12f75 100644
--- a/site2/website-next/docs/admin-api-overview.md
+++ b/site2/website-next/docs/admin-api-overview.md
@@ -26,6 +26,8 @@ You can interact with the admin interface via:
For the latest and complete information about `Pulsar admin`, including
commands, flags, descriptions, and more information, see [Pulsar admin
doc](/tools/pulsar-admin/).
+ [Pulsar Shell](administration-pulsar-shell.md) extends `pulsar-admin` with
an improved user experience for more flexibility and easier navigation between
multiple clusters.
+
:::
- HTTP calls, which are made against the admin {@inject: rest:REST:/} API
provided by Pulsar brokers. For some RESTful APIs, they might be redirected to
the owner brokers for serving with [`307 Temporary
Redirect`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/307), hence
the HTTP callers should handle `307 Temporary Redirect`. If you use `curl`
commands, you should specify `-L` to handle redirections.
diff --git a/site2/website-next/docs/administration-pulsar-shell.md
b/site2/website-next/docs/administration-pulsar-shell.md
new file mode 100644
index 00000000000..9f0bc202dd6
--- /dev/null
+++ b/site2/website-next/docs/administration-pulsar-shell.md
@@ -0,0 +1,173 @@
+---
+id: administration-pulsar-shell
+title: Pulsar Shell
+sidebar_label: "Pulsar Shell"
+---
+
+````mdx-code-block
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+````
+
+
+Pulsar shell is a fast and flexible shell for Pulsar cluster management,
messaging, and more.
+It's great for quickly switching between different clusters, and can modify
cluster or tenant configurations in an instant.
+
+
+## Use case
+- Administration: find all the [Admin API](admin-api-overview.md) features
under the `admin` command.
+- Client: find all the [pulsar-client](reference-cli-tools#pulsar-client.md)
features under the `client` command.
+
+
+## Install Pulsar Shell
+Download the tarball from the [download
page](https://pulsar.apache.org/download) and extract it.
+
+```shell
+wget
https://archive.apache.org/dist/pulsar/pulsar-@pulsar:version@/apache-pulsar-shell-@pulsar:[email protected]
+tar xzvf apache-pulsar-shell-@pulsar:[email protected]
+cd apache-pulsar-shell-@pulsar:[email protected]
+```
+
+Now you can enter Pulsar shell's interactive mode:
+
+```shell
+$ ./bin/pulsar-shell
+Welcome to Pulsar shell!
+ Service URL: pulsar://localhost:6650/
+ Admin URL: http://localhost:8080/
+
+Type help to get started or try the autocompletion (TAB button).
+Type exit or quit to end the shell session.
+
+default(localhost)>
+```
+
+
+## Connect to your cluster
+
+By default, the shell tries to connect to a local Pulsar instance.
+To connect to a different cluster, you have to register the cluster with
Pulsar shell. You can do this in a few different ways depending on where your
config file is located:
+
+> The configuration file must be a valid `client.conf` file, the same one you
use for `pulsar-admin`, `pulsar-client` and other client tools.
+
+````mdx-code-block
+<Tabs groupId="shell-config-modes"
+ defaultValue="url"
+ values={[{"label":"Remote
URL","value":"url"},{"label":"File","value":"file"},{"label":"Inline","value":"inline"}]}>
+<TabItem value="url">
+
+
+The `--url` value must point to a valid remote file.
+
+
+```
+default(localhost)> config create --url https://<url_to_my_client.conf>
mycluster
+```
+
+</TabItem>
+<TabItem value="file">
+
+If the file is on your local machine, use the `--file` option.
+
+
+```
+default(localhost)> config create --file ./my-cluster-my-client.conf mycluster
+```
+
+</TabItem>
+<TabItem value="inline">
+
+You can encode the content of the config to base64 and specify it with the
`--value` option.
+
+```
+default(localhost)> config create --value
"base64:<client.conf_base64_encoded>" mycluster
+```
+
+
+</TabItem>
+
+</Tabs>
+````
+
+
+Once you've configured your cluster, set it as current:
+
+```
+default(localhost)> config use mycluster
+Welcome to Pulsar shell!
+ Service URL: pulsar+ssl://mycluster:6651/
+ Admin URL: https://mycluster:8443/
+
+Type help to get started or try the autocompletion (TAB button).
+Type exit or quit to end the shell session.
+
+my-cluster(mycluster)>
+```
+
+
+## Run commands sequentially
+To run a bunch of admin commands sequentially, you can use Pulsar shell's
non-interactive mode.
+For example, to set up a new tenant with policies, you would normally need to
run multiple `pulsar-admin` commands.
+
+Let's say you want to create a new tenant `new-tenant` with a namespace
`new-namespace` in it.
+There are multiple ways to do this with Pulsar shell non-interactive mode:
+
+````mdx-code-block
+<Tabs groupId="shell-noninteractive-modes"
+ defaultValue="single-command"
+ values={[{"label":"Single
command","value":"single-command"},{"label":"File","value":"file"},{"label":"Unix
pipe","value":"pipe"}]}>
+<TabItem value="single-command">
+
+Specify a multi-line command with the `-e` option.
+
+```shell
+./bin/pulsar-shell -e "
+config use my-cluster
+admin tenants create new-tenant
+admin namespaces create new-tenant/new-namespace
+" --fail-on-error
+```
+
+</TabItem>
+<TabItem value="file">
+
+Specify a file command with the `-f` option.
+
+
+```shell
+echo "
+# First use my-cluster config
+config use my-cluster
+# Now it creates a new tenant
+admin tenants create new-tenant
+# And then it creates a new namespace inside the tenant
+admin namespaces create new-tenant/new-namespace
+" > setup-shell.txt
+
+./bin/pulsar-shell -f ./setup-shell.txt --fail-on-error
+```
+
+</TabItem>
+<TabItem value="pipe">
+
+Make the shell read from the standard input `-` option.
+
+```shell
+
+echo "
+# First use my-cluster config
+config use my-cluster
+# Now it creates a new tenant
+admin tenants create new-tenant
+# And then it creates a new namespace inside the tenant
+admin namespaces create new-tenant/new-namespace
+" > ./bin/pulsar-shell --fail-on-error -
+
+
+
+```
+
+</TabItem>
+
+</Tabs>
+````
\ No newline at end of file
diff --git a/site2/website-next/docs/client-libraries-cpp.md
b/site2/website-next/docs/client-libraries-cpp.md
index 2cbaf368d83..b709463ff03 100644
--- a/site2/website-next/docs/client-libraries-cpp.md
+++ b/site2/website-next/docs/client-libraries-cpp.md
@@ -270,6 +270,7 @@ $ brew install protobuf boost boost-python log4cxx
# Google Test installation
$ git clone https://github.com/google/googletest.git
$ cd googletest
+$ git checkout release-1.12.1
$ cmake .
$ make install
diff --git a/site2/website-next/docs/client-libraries-node.md
b/site2/website-next/docs/client-libraries-node.md
index bc94c988541..f67c46b390a 100644
--- a/site2/website-next/docs/client-libraries-node.md
+++ b/site2/website-next/docs/client-libraries-node.md
@@ -480,7 +480,7 @@ The following static methods are available for the message
id object:
### Configuration
-If you want to use the end-to-end encryption feature in the Node.js client,
you need to configure `publicKeyPath` and `privateKeyPath` for both producer
and consumer.
+If you want to use the end-to-end encryption feature in the Node.js client,
you need to configure `publicKeyPath` for producer and `privateKeyPath` for
consumer.
```
@@ -531,7 +531,6 @@ This section provides step-by-step instructions on how to
use the end-to-end enc
sendTimeoutMs: 30000,
batchingEnabled: true,
publicKeyPath: "./public.pem",
- privateKeyPath: "./private.pem",
encryptionKey: "encryption-key"
});
@@ -573,7 +572,6 @@ This section provides step-by-step instructions on how to
use the end-to-end enc
subscription: 'sub1',
subscriptionType: 'Shared',
ackTimeoutMs: 10000,
- publicKeyPath: "./public.pem",
privateKeyPath: "./private.pem"
});
diff --git a/site2/website-next/docs/client-libraries-python.md
b/site2/website-next/docs/client-libraries-python.md
index 4e9dbdf150d..66c690404db 100644
--- a/site2/website-next/docs/client-libraries-python.md
+++ b/site2/website-next/docs/client-libraries-python.md
@@ -542,7 +542,7 @@ consumer = client.subscribe(
### Configuration
-To use the end-to-end encryption feature in the Python client, you need to
configure `publicKeyPath` and `privateKeyPath` for both producer and consumer.
+To use the end-to-end encryption feature in the Python client, you need to
configure `publicKeyPath` for producer and `privateKeyPath` for consumer.
```
@@ -581,7 +581,7 @@ This section provides step-by-step instructions on how to
use the end-to-end enc
import pulsar
publicKeyPath = "./public.pem"
- privateKeyPath = "./private.pem"
+ privateKeyPath = ""
crypto_key_reader = pulsar.CryptoKeyReader(publicKeyPath, privateKeyPath)
client = pulsar.Client('pulsar://localhost:6650')
producer = client.create_producer(topic='encryption',
encryption_key='encryption', crypto_key_reader=crypto_key_reader)
@@ -600,7 +600,7 @@ This section provides step-by-step instructions on how to
use the end-to-end enc
import pulsar
- publicKeyPath = "./public.pem"
+ publicKeyPath = ""
privateKeyPath = "./private.pem"
crypto_key_reader = pulsar.CryptoKeyReader(publicKeyPath, privateKeyPath)
client = pulsar.Client('pulsar://localhost:6650')
diff --git a/site2/website-next/docs/reference-cli-tools.md
b/site2/website-next/docs/reference-cli-tools.md
index ebddb7dc619..a6397fd6f84 100644
--- a/site2/website-next/docs/reference-cli-tools.md
+++ b/site2/website-next/docs/reference-cli-tools.md
@@ -14,6 +14,7 @@ All Pulsar command-line tools can be run from the `bin`
directory of your [insta
* [`pulsar-perf`](#pulsar-perf)
* [`bookkeeper`](#bookkeeper)
* [`broker-tool`](#broker-tool)
+* [`pulsar-shell`](#pulsar-shell)
:::tip
@@ -1015,3 +1016,127 @@ Options
|`-i`, `--interval`| Interval to collect load report, in milliseconds ||
|`-h`, `--help`| Display help information ||
+
+## `pulsar-shell`
+
+[Pulsar shell](administration-pulsar-shell.md) tool.
+
+### Interactive mode
+
+Usage
+
+```bash
+
+$ pulsar-shell
+
+```
+
+Options
+
+| Flag | Description
| Default |
+|--------------------|---------------------------------------------------------------------------|------------------|
+| `-c`, `--config` | Client configuration file. It is used as a `default`
config. | conf/client.conf |
+| `--fail-on-error` | If true, the shell is interrupted when a command throws
an exception. | false |
+| `-h`, `--help` | Show this help.
| |
+
+
+### Non interactive mode
+
+Usage
+
+```bash
+
+$ pulsar-shell -f [FILE]
+$ pulsar-shell -e [COMMAND]
+$ echo "[COMMAND]" | pulsar-shell -
+
+```
+
+Options
+
+| Flag | Description
| Default |
+|---------------------------|-----------------------------------------------------------------------------------------------------|-----------------|
+| `-c`, `--config` | Client configuration file. It is used as a
`default` config. | conf/client.conf |
+| `--fail-on-error` | If true, the shell is interrupted when a command
throws an exception. | false |
+| `-np`, `--no-progress` | Display raw output of the commands without the
fancy progress visualization. | false |
+| `-f`, `--filename` | Input filename with a list of commands to be
executed. Each command must be separated by a newline. | |
+| `-e`, `--execute-command` | Execute this command and exit.
| |
+| `-` | Read commands from the standard input.
| |
+| `-h`, `--help` | Show this help.
| |
+
+
+Commands
+* `admin` - See [Admin API](admin-api-overview.md)
+* `client` - See [pulsar-client](#pulsar-client)
+* `config`
+
+
+### `config`
+
+Manage shell configurations.
+
+#### `use`
+
+Use a specific configuration for next commands.
+
+```
+default(localhost)> config use mycluster
+```
+
+#### `create`
+
+Create a new configuration.
+
+```
+default(localhost)> config create --file ./conf/client.conf mycluster
+```
+
+Options
+
+| Flag | Description | Default |
+|----------|--------------------------|-----------------|
+| `--file` | File path of the config. | |
+| `--url` | URL of the config. | |
+| `--value` | Inline value of the config. Base64-encoded value is supported
with the prefix `base64:`. | |
+
+#### `update`
+
+Update an existing configuration.
+
+```
+default(localhost)> config update --file ./conf/client.conf mycluster
+```
+
+Options
+
+| Flag | Description | Default |
+|----------|--------------------------|-----------------|
+| `--file` | File path of the config. | |
+| `--url` | URL of the config. | |
+| `--value` | Inline value of the config. Base64-encoded value is supported
with the prefix `base64:`. | |
+
+
+#### `view`
+
+View details of a config.
+
+```
+default(localhost)> config view mycluster
+```
+
+#### `delete`
+
+Delete a config. You can't delete a config if it's currently used.
+
+```
+default(localhost)> config delete mycluster
+```
+
+
+#### `list`
+
+List all the configuration names.
+
+```
+default(localhost)> config list
+```
\ No newline at end of file
diff --git a/site2/website-next/sidebars.json b/site2/website-next/sidebars.json
index 61434d78c26..ac6e11d2a31 100644
--- a/site2/website-next/sidebars.json
+++ b/site2/website-next/sidebars.json
@@ -228,6 +228,7 @@
"administration-metadata-store",
"administration-geo",
"administration-pulsar-manager",
+ "administration-pulsar-shell",
"administration-stats",
"administration-load-balance",
"administration-proxy",
diff --git
a/site2/website-next/versioned_docs/version-2.1.0-incubating/develop-cpp.md
b/site2/website-next/versioned_docs/version-2.1.0-incubating/develop-cpp.md
index b7774e8ec5e..933bc286364 100644
--- a/site2/website-next/versioned_docs/version-2.1.0-incubating/develop-cpp.md
+++ b/site2/website-next/versioned_docs/version-2.1.0-incubating/develop-cpp.md
@@ -97,6 +97,7 @@ $ brew install log4cxx
# Google Test installation
$ git clone https://github.com/google/googletest.git
$ cd googletest
+$ git checkout release-1.12.1
$ cmake .
$ make install
diff --git
a/site2/website-next/versioned_docs/version-2.1.1-incubating/develop-cpp.md
b/site2/website-next/versioned_docs/version-2.1.1-incubating/develop-cpp.md
index 9da7a3a4131..ce711002370 100644
--- a/site2/website-next/versioned_docs/version-2.1.1-incubating/develop-cpp.md
+++ b/site2/website-next/versioned_docs/version-2.1.1-incubating/develop-cpp.md
@@ -97,6 +97,7 @@ $ brew install log4cxx
# Google Test installation
$ git clone https://github.com/google/googletest.git
$ cd googletest
+$ git checkout release-1.12.1
$ cmake .
$ make install
diff --git
a/site2/website-next/versioned_docs/version-2.10.0/client-libraries-cpp.md
b/site2/website-next/versioned_docs/version-2.10.0/client-libraries-cpp.md
index 75b35ec97bb..f5b8ae3678d 100644
--- a/site2/website-next/versioned_docs/version-2.10.0/client-libraries-cpp.md
+++ b/site2/website-next/versioned_docs/version-2.10.0/client-libraries-cpp.md
@@ -271,6 +271,7 @@ $ brew install protobuf boost boost-python log4cxx
# Google Test installation
$ git clone https://github.com/google/googletest.git
$ cd googletest
+$ git checkout release-1.12.1
$ cmake .
$ make install
diff --git
a/site2/website-next/versioned_docs/version-2.10.1/client-libraries-cpp.md
b/site2/website-next/versioned_docs/version-2.10.1/client-libraries-cpp.md
index 75b35ec97bb..f5b8ae3678d 100644
--- a/site2/website-next/versioned_docs/version-2.10.1/client-libraries-cpp.md
+++ b/site2/website-next/versioned_docs/version-2.10.1/client-libraries-cpp.md
@@ -271,6 +271,7 @@ $ brew install protobuf boost boost-python log4cxx
# Google Test installation
$ git clone https://github.com/google/googletest.git
$ cd googletest
+$ git checkout release-1.12.1
$ cmake .
$ make install
diff --git a/site2/website-next/versioned_docs/version-2.2.0/develop-cpp.md
b/site2/website-next/versioned_docs/version-2.2.0/develop-cpp.md
index 36061782895..4039c97d24b 100644
--- a/site2/website-next/versioned_docs/version-2.2.0/develop-cpp.md
+++ b/site2/website-next/versioned_docs/version-2.2.0/develop-cpp.md
@@ -97,6 +97,7 @@ $ brew install log4cxx
# Google Test installation
$ git clone https://github.com/google/googletest.git
$ cd googletest
+$ git checkout release-1.12.1
$ cmake .
$ make install
diff --git
a/site2/website-next/versioned_docs/version-2.2.1/client-libraries-cpp.md
b/site2/website-next/versioned_docs/version-2.2.1/client-libraries-cpp.md
index 99755ab88a5..5ba9e03d895 100644
--- a/site2/website-next/versioned_docs/version-2.2.1/client-libraries-cpp.md
+++ b/site2/website-next/versioned_docs/version-2.2.1/client-libraries-cpp.md
@@ -270,6 +270,7 @@ $ brew install protobuf boost boost-python log4cxx
# Google Test installation
$ git clone https://github.com/google/googletest.git
$ cd googletest
+$ git checkout release-1.12.1
$ cmake .
$ make install
diff --git a/site2/website-next/versioned_docs/version-2.2.1/develop-cpp.md
b/site2/website-next/versioned_docs/version-2.2.1/develop-cpp.md
index 9da7a3a4131..ce711002370 100644
--- a/site2/website-next/versioned_docs/version-2.2.1/develop-cpp.md
+++ b/site2/website-next/versioned_docs/version-2.2.1/develop-cpp.md
@@ -97,6 +97,7 @@ $ brew install log4cxx
# Google Test installation
$ git clone https://github.com/google/googletest.git
$ cd googletest
+$ git checkout release-1.12.1
$ cmake .
$ make install
diff --git a/site2/website-next/versioned_docs/version-2.3.0/develop-cpp.md
b/site2/website-next/versioned_docs/version-2.3.0/develop-cpp.md
index 9da7a3a4131..ce711002370 100644
--- a/site2/website-next/versioned_docs/version-2.3.0/develop-cpp.md
+++ b/site2/website-next/versioned_docs/version-2.3.0/develop-cpp.md
@@ -97,6 +97,7 @@ $ brew install log4cxx
# Google Test installation
$ git clone https://github.com/google/googletest.git
$ cd googletest
+$ git checkout release-1.12.1
$ cmake .
$ make install
diff --git a/site2/website-next/versioned_docs/version-2.3.1/develop-cpp.md
b/site2/website-next/versioned_docs/version-2.3.1/develop-cpp.md
index 9da7a3a4131..ce711002370 100644
--- a/site2/website-next/versioned_docs/version-2.3.1/develop-cpp.md
+++ b/site2/website-next/versioned_docs/version-2.3.1/develop-cpp.md
@@ -97,6 +97,7 @@ $ brew install log4cxx
# Google Test installation
$ git clone https://github.com/google/googletest.git
$ cd googletest
+$ git checkout release-1.12.1
$ cmake .
$ make install
diff --git
a/site2/website-next/versioned_docs/version-2.3.2/client-libraries-cpp.md
b/site2/website-next/versioned_docs/version-2.3.2/client-libraries-cpp.md
index 99755ab88a5..5ba9e03d895 100644
--- a/site2/website-next/versioned_docs/version-2.3.2/client-libraries-cpp.md
+++ b/site2/website-next/versioned_docs/version-2.3.2/client-libraries-cpp.md
@@ -270,6 +270,7 @@ $ brew install protobuf boost boost-python log4cxx
# Google Test installation
$ git clone https://github.com/google/googletest.git
$ cd googletest
+$ git checkout release-1.12.1
$ cmake .
$ make install
diff --git a/site2/website-next/versioned_docs/version-2.3.2/develop-cpp.md
b/site2/website-next/versioned_docs/version-2.3.2/develop-cpp.md
index 9da7a3a4131..ce711002370 100644
--- a/site2/website-next/versioned_docs/version-2.3.2/develop-cpp.md
+++ b/site2/website-next/versioned_docs/version-2.3.2/develop-cpp.md
@@ -97,6 +97,7 @@ $ brew install log4cxx
# Google Test installation
$ git clone https://github.com/google/googletest.git
$ cd googletest
+$ git checkout release-1.12.1
$ cmake .
$ make install
diff --git
a/site2/website-next/versioned_docs/version-2.4.0/client-libraries-cpp.md
b/site2/website-next/versioned_docs/version-2.4.0/client-libraries-cpp.md
index 99755ab88a5..5ba9e03d895 100644
--- a/site2/website-next/versioned_docs/version-2.4.0/client-libraries-cpp.md
+++ b/site2/website-next/versioned_docs/version-2.4.0/client-libraries-cpp.md
@@ -270,6 +270,7 @@ $ brew install protobuf boost boost-python log4cxx
# Google Test installation
$ git clone https://github.com/google/googletest.git
$ cd googletest
+$ git checkout release-1.12.1
$ cmake .
$ make install
diff --git a/site2/website-next/versioned_docs/version-2.4.0/develop-cpp.md
b/site2/website-next/versioned_docs/version-2.4.0/develop-cpp.md
index 9da7a3a4131..ce711002370 100644
--- a/site2/website-next/versioned_docs/version-2.4.0/develop-cpp.md
+++ b/site2/website-next/versioned_docs/version-2.4.0/develop-cpp.md
@@ -97,6 +97,7 @@ $ brew install log4cxx
# Google Test installation
$ git clone https://github.com/google/googletest.git
$ cd googletest
+$ git checkout release-1.12.1
$ cmake .
$ make install
diff --git
a/site2/website-next/versioned_docs/version-2.4.1/client-libraries-cpp.md
b/site2/website-next/versioned_docs/version-2.4.1/client-libraries-cpp.md
index 99755ab88a5..5ba9e03d895 100644
--- a/site2/website-next/versioned_docs/version-2.4.1/client-libraries-cpp.md
+++ b/site2/website-next/versioned_docs/version-2.4.1/client-libraries-cpp.md
@@ -270,6 +270,7 @@ $ brew install protobuf boost boost-python log4cxx
# Google Test installation
$ git clone https://github.com/google/googletest.git
$ cd googletest
+$ git checkout release-1.12.1
$ cmake .
$ make install
diff --git a/site2/website-next/versioned_docs/version-2.4.1/develop-cpp.md
b/site2/website-next/versioned_docs/version-2.4.1/develop-cpp.md
index 9da7a3a4131..ce711002370 100644
--- a/site2/website-next/versioned_docs/version-2.4.1/develop-cpp.md
+++ b/site2/website-next/versioned_docs/version-2.4.1/develop-cpp.md
@@ -97,6 +97,7 @@ $ brew install log4cxx
# Google Test installation
$ git clone https://github.com/google/googletest.git
$ cd googletest
+$ git checkout release-1.12.1
$ cmake .
$ make install
diff --git
a/site2/website-next/versioned_docs/version-2.4.2/client-libraries-cpp.md
b/site2/website-next/versioned_docs/version-2.4.2/client-libraries-cpp.md
index 99755ab88a5..5ba9e03d895 100644
--- a/site2/website-next/versioned_docs/version-2.4.2/client-libraries-cpp.md
+++ b/site2/website-next/versioned_docs/version-2.4.2/client-libraries-cpp.md
@@ -270,6 +270,7 @@ $ brew install protobuf boost boost-python log4cxx
# Google Test installation
$ git clone https://github.com/google/googletest.git
$ cd googletest
+$ git checkout release-1.12.1
$ cmake .
$ make install
diff --git a/site2/website-next/versioned_docs/version-2.4.2/develop-cpp.md
b/site2/website-next/versioned_docs/version-2.4.2/develop-cpp.md
index 9da7a3a4131..ce711002370 100644
--- a/site2/website-next/versioned_docs/version-2.4.2/develop-cpp.md
+++ b/site2/website-next/versioned_docs/version-2.4.2/develop-cpp.md
@@ -97,6 +97,7 @@ $ brew install log4cxx
# Google Test installation
$ git clone https://github.com/google/googletest.git
$ cd googletest
+$ git checkout release-1.12.1
$ cmake .
$ make install
diff --git a/site2/website-next/versioned_docs/version-2.5.0/develop-cpp.md
b/site2/website-next/versioned_docs/version-2.5.0/develop-cpp.md
index 9da7a3a4131..ce711002370 100644
--- a/site2/website-next/versioned_docs/version-2.5.0/develop-cpp.md
+++ b/site2/website-next/versioned_docs/version-2.5.0/develop-cpp.md
@@ -97,6 +97,7 @@ $ brew install log4cxx
# Google Test installation
$ git clone https://github.com/google/googletest.git
$ cd googletest
+$ git checkout release-1.12.1
$ cmake .
$ make install
diff --git a/site2/website-next/versioned_docs/version-2.5.1/develop-cpp.md
b/site2/website-next/versioned_docs/version-2.5.1/develop-cpp.md
index 9da7a3a4131..ce711002370 100644
--- a/site2/website-next/versioned_docs/version-2.5.1/develop-cpp.md
+++ b/site2/website-next/versioned_docs/version-2.5.1/develop-cpp.md
@@ -97,6 +97,7 @@ $ brew install log4cxx
# Google Test installation
$ git clone https://github.com/google/googletest.git
$ cd googletest
+$ git checkout release-1.12.1
$ cmake .
$ make install
diff --git a/site2/website-next/versioned_docs/version-2.5.2/develop-cpp.md
b/site2/website-next/versioned_docs/version-2.5.2/develop-cpp.md
index 9da7a3a4131..ce711002370 100644
--- a/site2/website-next/versioned_docs/version-2.5.2/develop-cpp.md
+++ b/site2/website-next/versioned_docs/version-2.5.2/develop-cpp.md
@@ -97,6 +97,7 @@ $ brew install log4cxx
# Google Test installation
$ git clone https://github.com/google/googletest.git
$ cd googletest
+$ git checkout release-1.12.1
$ cmake .
$ make install
diff --git a/site2/website-next/versioned_docs/version-2.6.0/develop-cpp.md
b/site2/website-next/versioned_docs/version-2.6.0/develop-cpp.md
index 9da7a3a4131..ce711002370 100644
--- a/site2/website-next/versioned_docs/version-2.6.0/develop-cpp.md
+++ b/site2/website-next/versioned_docs/version-2.6.0/develop-cpp.md
@@ -97,6 +97,7 @@ $ brew install log4cxx
# Google Test installation
$ git clone https://github.com/google/googletest.git
$ cd googletest
+$ git checkout release-1.12.1
$ cmake .
$ make install
diff --git a/site2/website-next/versioned_docs/version-2.6.1/develop-cpp.md
b/site2/website-next/versioned_docs/version-2.6.1/develop-cpp.md
index 9da7a3a4131..ce711002370 100644
--- a/site2/website-next/versioned_docs/version-2.6.1/develop-cpp.md
+++ b/site2/website-next/versioned_docs/version-2.6.1/develop-cpp.md
@@ -97,6 +97,7 @@ $ brew install log4cxx
# Google Test installation
$ git clone https://github.com/google/googletest.git
$ cd googletest
+$ git checkout release-1.12.1
$ cmake .
$ make install
diff --git a/site2/website-next/versioned_docs/version-2.6.2/develop-cpp.md
b/site2/website-next/versioned_docs/version-2.6.2/develop-cpp.md
index 9da7a3a4131..ce711002370 100644
--- a/site2/website-next/versioned_docs/version-2.6.2/develop-cpp.md
+++ b/site2/website-next/versioned_docs/version-2.6.2/develop-cpp.md
@@ -97,6 +97,7 @@ $ brew install log4cxx
# Google Test installation
$ git clone https://github.com/google/googletest.git
$ cd googletest
+$ git checkout release-1.12.1
$ cmake .
$ make install
diff --git a/site2/website-next/versioned_docs/version-2.6.3/develop-cpp.md
b/site2/website-next/versioned_docs/version-2.6.3/develop-cpp.md
index 9da7a3a4131..ce711002370 100644
--- a/site2/website-next/versioned_docs/version-2.6.3/develop-cpp.md
+++ b/site2/website-next/versioned_docs/version-2.6.3/develop-cpp.md
@@ -97,6 +97,7 @@ $ brew install log4cxx
# Google Test installation
$ git clone https://github.com/google/googletest.git
$ cd googletest
+$ git checkout release-1.12.1
$ cmake .
$ make install
diff --git a/site2/website-next/versioned_docs/version-2.6.4/develop-cpp.md
b/site2/website-next/versioned_docs/version-2.6.4/develop-cpp.md
index 9da7a3a4131..ce711002370 100644
--- a/site2/website-next/versioned_docs/version-2.6.4/develop-cpp.md
+++ b/site2/website-next/versioned_docs/version-2.6.4/develop-cpp.md
@@ -97,6 +97,7 @@ $ brew install log4cxx
# Google Test installation
$ git clone https://github.com/google/googletest.git
$ cd googletest
+$ git checkout release-1.12.1
$ cmake .
$ make install
diff --git a/site2/website-next/versioned_docs/version-2.7.0/develop-cpp.md
b/site2/website-next/versioned_docs/version-2.7.0/develop-cpp.md
index 9da7a3a4131..ce711002370 100644
--- a/site2/website-next/versioned_docs/version-2.7.0/develop-cpp.md
+++ b/site2/website-next/versioned_docs/version-2.7.0/develop-cpp.md
@@ -97,6 +97,7 @@ $ brew install log4cxx
# Google Test installation
$ git clone https://github.com/google/googletest.git
$ cd googletest
+$ git checkout release-1.12.1
$ cmake .
$ make install
diff --git a/site2/website-next/versioned_docs/version-2.7.1/develop-cpp.md
b/site2/website-next/versioned_docs/version-2.7.1/develop-cpp.md
index 9da7a3a4131..ce711002370 100644
--- a/site2/website-next/versioned_docs/version-2.7.1/develop-cpp.md
+++ b/site2/website-next/versioned_docs/version-2.7.1/develop-cpp.md
@@ -97,6 +97,7 @@ $ brew install log4cxx
# Google Test installation
$ git clone https://github.com/google/googletest.git
$ cd googletest
+$ git checkout release-1.12.1
$ cmake .
$ make install
diff --git a/site2/website-next/versioned_docs/version-2.7.2/develop-cpp.md
b/site2/website-next/versioned_docs/version-2.7.2/develop-cpp.md
index 9da7a3a4131..ce711002370 100644
--- a/site2/website-next/versioned_docs/version-2.7.2/develop-cpp.md
+++ b/site2/website-next/versioned_docs/version-2.7.2/develop-cpp.md
@@ -97,6 +97,7 @@ $ brew install log4cxx
# Google Test installation
$ git clone https://github.com/google/googletest.git
$ cd googletest
+$ git checkout release-1.12.1
$ cmake .
$ make install
diff --git a/site2/website-next/versioned_docs/version-2.7.3/develop-cpp.md
b/site2/website-next/versioned_docs/version-2.7.3/develop-cpp.md
index 9da7a3a4131..ce711002370 100644
--- a/site2/website-next/versioned_docs/version-2.7.3/develop-cpp.md
+++ b/site2/website-next/versioned_docs/version-2.7.3/develop-cpp.md
@@ -97,6 +97,7 @@ $ brew install log4cxx
# Google Test installation
$ git clone https://github.com/google/googletest.git
$ cd googletest
+$ git checkout release-1.12.1
$ cmake .
$ make install
diff --git a/site2/website-next/versioned_docs/version-2.7.4/develop-cpp.md
b/site2/website-next/versioned_docs/version-2.7.4/develop-cpp.md
index 9da7a3a4131..ce711002370 100644
--- a/site2/website-next/versioned_docs/version-2.7.4/develop-cpp.md
+++ b/site2/website-next/versioned_docs/version-2.7.4/develop-cpp.md
@@ -97,6 +97,7 @@ $ brew install log4cxx
# Google Test installation
$ git clone https://github.com/google/googletest.git
$ cd googletest
+$ git checkout release-1.12.1
$ cmake .
$ make install
diff --git
a/site2/website-next/versioned_docs/version-2.8.0/client-libraries-cpp.md
b/site2/website-next/versioned_docs/version-2.8.0/client-libraries-cpp.md
index 333ec672caf..deebe13bada 100644
--- a/site2/website-next/versioned_docs/version-2.8.0/client-libraries-cpp.md
+++ b/site2/website-next/versioned_docs/version-2.8.0/client-libraries-cpp.md
@@ -244,6 +244,7 @@ $ brew install log4cxx
# Google Test installation
$ git clone https://github.com/google/googletest.git
$ cd googletest
+$ git checkout release-1.12.1
$ cmake .
$ make install
diff --git
a/site2/website-next/versioned_docs/version-2.8.1/client-libraries-cpp.md
b/site2/website-next/versioned_docs/version-2.8.1/client-libraries-cpp.md
index 7363fb111ca..3c94293b792 100644
--- a/site2/website-next/versioned_docs/version-2.8.1/client-libraries-cpp.md
+++ b/site2/website-next/versioned_docs/version-2.8.1/client-libraries-cpp.md
@@ -248,6 +248,7 @@ $ brew install protobuf boost boost-python log4cxx
# Google Test installation
$ git clone https://github.com/google/googletest.git
$ cd googletest
+$ git checkout release-1.12.1
$ cmake .
$ make install
diff --git
a/site2/website-next/versioned_docs/version-2.8.2/client-libraries-cpp.md
b/site2/website-next/versioned_docs/version-2.8.2/client-libraries-cpp.md
index 333ec672caf..deebe13bada 100644
--- a/site2/website-next/versioned_docs/version-2.8.2/client-libraries-cpp.md
+++ b/site2/website-next/versioned_docs/version-2.8.2/client-libraries-cpp.md
@@ -244,6 +244,7 @@ $ brew install log4cxx
# Google Test installation
$ git clone https://github.com/google/googletest.git
$ cd googletest
+$ git checkout release-1.12.1
$ cmake .
$ make install
diff --git
a/site2/website-next/versioned_docs/version-2.8.3/client-libraries-cpp.md
b/site2/website-next/versioned_docs/version-2.8.3/client-libraries-cpp.md
index 333ec672caf..deebe13bada 100644
--- a/site2/website-next/versioned_docs/version-2.8.3/client-libraries-cpp.md
+++ b/site2/website-next/versioned_docs/version-2.8.3/client-libraries-cpp.md
@@ -244,6 +244,7 @@ $ brew install log4cxx
# Google Test installation
$ git clone https://github.com/google/googletest.git
$ cd googletest
+$ git checkout release-1.12.1
$ cmake .
$ make install
diff --git
a/site2/website-next/versioned_docs/version-2.9.0/client-libraries-cpp.md
b/site2/website-next/versioned_docs/version-2.9.0/client-libraries-cpp.md
index 7363fb111ca..3c94293b792 100644
--- a/site2/website-next/versioned_docs/version-2.9.0/client-libraries-cpp.md
+++ b/site2/website-next/versioned_docs/version-2.9.0/client-libraries-cpp.md
@@ -248,6 +248,7 @@ $ brew install protobuf boost boost-python log4cxx
# Google Test installation
$ git clone https://github.com/google/googletest.git
$ cd googletest
+$ git checkout release-1.12.1
$ cmake .
$ make install
diff --git
a/site2/website-next/versioned_docs/version-2.9.1/client-libraries-cpp.md
b/site2/website-next/versioned_docs/version-2.9.1/client-libraries-cpp.md
index 7363fb111ca..3c94293b792 100644
--- a/site2/website-next/versioned_docs/version-2.9.1/client-libraries-cpp.md
+++ b/site2/website-next/versioned_docs/version-2.9.1/client-libraries-cpp.md
@@ -248,6 +248,7 @@ $ brew install protobuf boost boost-python log4cxx
# Google Test installation
$ git clone https://github.com/google/googletest.git
$ cd googletest
+$ git checkout release-1.12.1
$ cmake .
$ make install
diff --git
a/site2/website-next/versioned_docs/version-2.9.2/client-libraries-cpp.md
b/site2/website-next/versioned_docs/version-2.9.2/client-libraries-cpp.md
index 7363fb111ca..3c94293b792 100644
--- a/site2/website-next/versioned_docs/version-2.9.2/client-libraries-cpp.md
+++ b/site2/website-next/versioned_docs/version-2.9.2/client-libraries-cpp.md
@@ -248,6 +248,7 @@ $ brew install protobuf boost boost-python log4cxx
# Google Test installation
$ git clone https://github.com/google/googletest.git
$ cd googletest
+$ git checkout release-1.12.1
$ cmake .
$ make install
diff --git
a/site2/website-next/versioned_docs/version-2.9.3/client-libraries-cpp.md
b/site2/website-next/versioned_docs/version-2.9.3/client-libraries-cpp.md
index 7363fb111ca..3c94293b792 100644
--- a/site2/website-next/versioned_docs/version-2.9.3/client-libraries-cpp.md
+++ b/site2/website-next/versioned_docs/version-2.9.3/client-libraries-cpp.md
@@ -248,6 +248,7 @@ $ brew install protobuf boost boost-python log4cxx
# Google Test installation
$ git clone https://github.com/google/googletest.git
$ cd googletest
+$ git checkout release-1.12.1
$ cmake .
$ make install