This is an automated email from the ASF dual-hosted git repository.
mmerli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-pulsar.git
The following commit(s) were added to refs/heads/master by this push:
new bf3ff19 Pulsar proxy configuration docs (#1895)
bf3ff19 is described below
commit bf3ff19701e4aa3e414b0838bda6ce4675f72a4d
Author: Luc Perkins <[email protected]>
AuthorDate: Thu Jun 21 21:29:08 2018 -0700
Pulsar proxy configuration docs (#1895)
* Begin adding pulsar proxy config docs
* fill out missing config parameters
* add missing license header
* add missing config
---
conf/proxy.conf | 51 ++++++++++--------
site/_data/config/proxy.yaml | 81 +++++++++++++++++++++++++++++
site/docs/latest/admin/Proxy.md | 8 ++-
site/docs/latest/reference/Configuration.md | 6 +++
4 files changed, 123 insertions(+), 23 deletions(-)
diff --git a/conf/proxy.conf b/conf/proxy.conf
index a904f47..3bde301 100644
--- a/conf/proxy.conf
+++ b/conf/proxy.conf
@@ -17,19 +17,19 @@
# under the License.
#
-# Zookeeper quorum connection string (comma-separated)
+# The ZooKeeper quorum connection string (as a comma-separated list)
zookeeperServers=
-# Configuration Store connection string (comma-separated)
+# Configuration store connection string (as a comma-separated list)
configurationStoreServers=
-# ZooKeeper session timeout
+# ZooKeeper session timeout (in milliseconds)
zookeeperSessionTimeoutMs=30000
-# Port to use to server binary-proto request
+# The port to use for server binary Protobuf requests
servicePort=6650
-# Port to use to server binary-proto-tls request
+# The port to use to server binary Protobuf TLS requests
servicePortTls=6651
# Port that discovery service listen on
@@ -38,50 +38,57 @@ webServicePort=8080
# Port to use to server HTTPS request
webServicePortTls=8443
-# Path for the file used to determine the rotation status for the
proxy-instance when responding
+# Path for the file used to determine the rotation status for the proxy
instance when responding
# to service discovery health checks
statusFilePath=
### --- Authentication --- ###
-# Enable authentication
+# Whether authentication is enabled for the Pulsar proxy
authenticationEnabled=false
-# Authentication provider name list, which is comma separated list of class
names (comma-separated)
+# Authentication provider name list (a comma-separated list of class names)
authenticationProviders=
-# Enforce authorization
+# Whether authorization is enforced by the Pulsar proxy
authorizationEnabled=false
-# Authorization provider fully qualified class-name
+# Authorization provider as a fully qualified class name
authorizationProvider=org.apache.pulsar.broker.authorization.PulsarAuthorizationProvider
-# Authentication settings of the proxy itself. Used to connect to brokers
+# The three brokerClient* authentication settings below are for the proxy
itself and determine how it
+# authenticates with Pulsar brokers
+
+# The authentication plugin used by the Pulsar proxy to authenticate with
Pulsar brokers
brokerClientAuthenticationPlugin=
+
+# The authentication parameters used by the Pulsar proxy to authenticate with
Pulsar brokers
brokerClientAuthenticationParameters=
+
+# The path to trusted certificates used by the Pulsar proxy to authenticate
with Pulsar brokers
brokerClientTrustCertsFilePath=
-# Role names that are treated as "super-user", meaning they will be able to do
all admin
-# operations and publish/consume from all topics (comma-separated)
+# Role names that are treated as "super-users," meaning that they will be able
to perform all admin
+# operations and publish/consume to/from all topics (as a comma-separated list)
superUserRoles=
-# Forward client authorization Credentials to Broker for re authorization
-# make sure authentication is enabled for this to take effect
+# Whether client authorization credentials are forwared to the broker for
re-authorization.
+# Authentication must be enabled via authenticationEnabled=true for this to
take effect.
forwardAuthorizationCredentials=false
# --- RateLimiting ----
-# Max concurrent inbound Connections, proxy will reject requests beyond that.
Default value is 10,000
+# Max concurrent inbound connections. The proxy will reject requests beyond
that.
maxConcurrentInboundConnections=10000
-# Max concurrent outbound Connections, proxy will error out requests beyond
that. Default value is 10,000
+# Max concurrent outbound connections. The proxy will error out requests
beyond that.
maxConcurrentLookupRequests=10000
##### --- TLS --- #####
-# Enable TLS in the proxy
+# Whether TLS is enabled for the proxy
tlsEnabledInProxy=false
-# Enable TLS when talking with the brokers
+# Whether TLS is enabled when communicating with Pulsar brokers
tlsEnabledWithBroker=false
# Path for the TLS certificate file
@@ -90,11 +97,11 @@ tlsCertificateFilePath=
# Path for the TLS private key file
tlsKeyFilePath=
-# Validates hostname when proxy creates tls connection with broker
+# Whether the hostname is validated when the proxy creates a TLS connection
with brokers
tlsHostnameVerificationEnabled=false
-# Specify whether Client certificates are required for TLS
-# Reject the Connection if the Client Certificate is not trusted.
+# Whether client certificates are required for TLS. Connections are rejected
if the client
+# certificate isn't trusted.
tlsRequireTrustedClientCertOnConnect=false
diff --git a/site/_data/config/proxy.yaml b/site/_data/config/proxy.yaml
new file mode 100644
index 0000000..d93499b
--- /dev/null
+++ b/site/_data/config/proxy.yaml
@@ -0,0 +1,81 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+configs:
+- name: zookeeperServers
+ description: The ZooKeeper quorum connection string (as a comma-separated
list)
+- name: configurationStoreServers
+ description: Configuration store connection string (as a comma-separated
list)
+- name: zookeeperSessionTimeoutMs
+ default: 30000
+ description: ZooKeeper session timeout (in milliseconds)
+- name: servicePort
+ default: 6650
+ description: The port to use for server binary Protobuf requests
+- name: servicePortTls
+ default: 6651
+ description: The port to use to server binary Protobuf TLS requests
+- name: statusFilePath
+ description: Path for the file used to determine the rotation status for the
proxy instance when responding to service discovery health checks
+- name: authenticationEnabled
+ default: "false"
+ description: Whether authentication is enabled for the Pulsar proxy
+- name: authenticationProviders
+ description: Authentication provider name list (a comma-separated list of
class names)
+- name: authorizationEnabled
+ default: "false"
+ description: Whether authorization is enforced by the Pulsar proxy
+- name: authorizationProvider
+ default: org.apache.pulsar.broker.authorization.PulsarAuthorizationProvider
+ description: Authorization provider as a fully qualified class name
+- name: brokerClientAuthenticationPlugin
+ description: The authentication plugin used by the Pulsar proxy to
authenticate with Pulsar brokers
+- name: brokerClientAuthenticationParameters
+ description: The authentication parameters used by the Pulsar proxy to
authenticate with Pulsar brokers
+- name: brokerClientTrustCertsFilePath
+ description: The path to trusted certificates used by the Pulsar proxy to
authenticate with Pulsar brokers
+- name: superUserRoles
+ description: Role names that are treated as "super-users," meaning that they
will be able to perform all admin
+- name: forwardAuthorizationCredentials
+ default: "false"
+ description: Whether client authorization credentials are forwared to the
broker for re-authorization. Authentication must be enabled via
`authenticationEnabled=true` for this to take effect.
+- name: maxConcurrentInboundConnections
+ default: 10000
+ description: Max concurrent inbound connections. The proxy will reject
requests beyond that.
+- name: maxConcurrentLookupRequests
+ default: 10000
+ description: Max concurrent outbound connections. The proxy will error out
requests beyond that.
+- name: tlsEnabledInProxy
+ default: "false"
+ description: Whether TLS is enabled for the proxy
+- name: tlsEnabledWithBroker
+ default: "false"
+ description: Whether TLS is enabled when communicating with Pulsar brokers
+- name: tlsCertificateFilePath
+ description: Path for the TLS certificate file
+- name: tlsKeyFilePath
+ description: Path for the TLS private key file
+- name: tlsTrustCertsFilePath
+ description: Path for the trusted TLS certificate pem file
+- name: tlsHostnameVerificationEnabled
+ default: "false"
+ description: Whether the hostname is validated when the proxy creates a TLS
connection with brokers
+- name: tlsRequireTrustedClientCertOnConnect
+ default: "false"
+ description: Whether client certificates are required for TLS. Connections
are rejected if the client certificate isn't trusted.
diff --git a/site/docs/latest/admin/Proxy.md b/site/docs/latest/admin/Proxy.md
index 628bd79..ee5de20 100644
--- a/site/docs/latest/admin/Proxy.md
+++ b/site/docs/latest/admin/Proxy.md
@@ -50,4 +50,10 @@ We recommend running the Pulsar proxy behind some kind of
load-distributing fron
## Using Pulsar clients with the proxy
-Once your Pulsar proxy is up and running, preferably behind a
load-distributing [frontend](#proxy-frontends), clients can connect to the
proxy via whichever address is used by the frontend. If the address were the
DNS address `pulsar.cluster.default`, for example, then the connection URL for
clients would be `pulsar://pulsar.cluster.default:6650`.
\ No newline at end of file
+Once your Pulsar proxy is up and running, preferably behind a
load-distributing [frontend](#proxy-frontends), clients can connect to the
proxy via whichever address is used by the frontend. If the address were the
DNS address `pulsar.cluster.default`, for example, then the connection URL for
clients would be `pulsar://pulsar.cluster.default:6650`.
+
+## Proxy configuration
+
+The Pulsar proxy can be configured using the
[`proxy.conf`](../../reference/Configuration#proxy) configuration file. The
following parameters are available in that file:
+
+{% include config.html id="proxy" %}
\ No newline at end of file
diff --git a/site/docs/latest/reference/Configuration.md
b/site/docs/latest/reference/Configuration.md
index 7fcc588..319cfab 100644
--- a/site/docs/latest/reference/Configuration.md
+++ b/site/docs/latest/reference/Configuration.md
@@ -78,6 +78,12 @@ The [`pulsar-client`](../CliTools#pulsar-client) CLI tool
can be used to publish
{% include config.html id="websocket" %}
+## Pulsar proxy {#proxy}
+
+The [Pulsar proxy](../../getting-started/ConceptsAndArchitecture#pulsar-proxy)
can be configured in the `conf/proxy.conf` file.
+
+{% include config.html id="proxy" %}
+
## ZooKeeper
{% popover ZooKeeper %} handles a broad range of essential configuration- and
coordination-related tasks for Pulsar. The default configuration file for
ZooKeeper is in the `conf/zookeeper.conf` file in your Pulsar installation. The
following parameters are available: