This is an automated email from the ASF dual-hosted git repository.

mmerli pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/incubator-pulsar.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new 057a199  Updated site at revision e35087c
057a199 is described below

commit 057a199e7a03db177660bb3834258eede858d7ef
Author: jenkins <[email protected]>
AuthorDate: Thu Mar 8 22:01:39 2018 +0000

    Updated site at revision e35087c
---
 content/css/style.css                              |   3 +-
 .../docs/latest/adaptors/KafkaWrapper/index.html   |  24 ++
 .../docs/latest/adaptors/PulsarSpark/index.html    |  24 ++
 .../docs/latest/adaptors/PulsarStorm/index.html    |  24 ++
 content/docs/latest/admin-api/brokers/index.html   |  24 ++
 content/docs/latest/admin-api/clusters/index.html  |  24 ++
 .../docs/latest/admin-api/namespaces/index.html    |  24 ++
 .../admin-api/non-persistent-topics/index.html     |  24 ++
 content/docs/latest/admin-api/overview/index.html  |  24 ++
 .../latest/admin-api/partitioned-topics/index.html |  24 ++
 .../docs/latest/admin-api/permissions/index.html   |  24 ++
 .../latest/admin-api/persistent-topics/index.html  |  24 ++
 .../docs/latest/admin-api/properties/index.html    |  24 ++
 content/docs/latest/admin/Authz/index.html         |  24 ++
 content/docs/latest/admin/Dashboard/index.html     |  24 ++
 .../docs/latest/admin/GeoReplication/index.html    |  24 ++
 .../latest/admin/ModularLoadManager/index.html     |  24 ++
 content/docs/latest/admin/Proxy/index.html         |  24 ++
 content/docs/latest/admin/Stats/index.html         |  24 ++
 .../latest/admin/ZooKeeperBookKeeper/index.html    |  24 ++
 content/docs/latest/advanced/Encryption/index.html |  24 ++
 .../latest/advanced/PartitionedTopics/index.html   |  24 ++
 .../latest/advanced/RetentionExpiry/index.html     |  24 ++
 content/docs/latest/clients/Cpp/index.html         |  24 ++
 content/docs/latest/clients/Java/index.html        |  24 ++
 content/docs/latest/clients/Python/index.html      |  24 ++
 content/docs/latest/clients/WebSocket/index.html   |  24 ++
 .../docs/latest/deployment/Kubernetes/index.html   |  24 ++
 .../docs/latest/deployment/Monitoring/index.html   |  24 ++
 .../docs/latest/deployment/aws-cluster/index.html  |  24 ++
 content/docs/latest/deployment/cluster/index.html  |  24 ++
 content/docs/latest/deployment/dcos/index.html     |  24 ++
 content/docs/latest/deployment/instance/index.html |  24 ++
 content/docs/latest/functions/api/index.html       |  98 ++++++-
 .../docs/latest/functions/deployment/index.html    |  24 ++
 .../docs/latest/functions/guarantees/index.html    |  24 ++
 .../latest/functions/metrics-and-stats/index.html  |  24 ++
 content/docs/latest/functions/overview/index.html  |  24 ++
 .../docs/latest/functions/quickstart/index.html    | 289 ++++++++++++++++++++-
 .../docs/latest/getting-started/Clients/index.html |  24 ++
 .../ConceptsAndArchitecture/index.html             |  24 ++
 .../latest/getting-started/LocalCluster/index.html |  24 ++
 .../docs/latest/getting-started/docker/index.html  |  24 ++
 .../docs/latest/project/BinaryProtocol/index.html  |  24 ++
 content/docs/latest/project/Codebase/index.html    |  24 ++
 .../docs/latest/project/SimulationTools/index.html |  24 ++
 content/docs/latest/reference/CliTools/index.html  |  24 ++
 .../docs/latest/reference/Configuration/index.html |  24 ++
 content/docs/latest/reference/RestApi/index.html   |  24 ++
 49 files changed, 1477 insertions(+), 17 deletions(-)

diff --git a/content/css/style.css b/content/css/style.css
index ac4c5b1..267929b 100644
--- a/content/css/style.css
+++ b/content/css/style.css
@@ -9473,7 +9473,8 @@ span.popover-term {
     .rest-api-container article section.content .topic + p, .docs-container 
article section.content .topic + p {
       margin-top: 20px; }
   .rest-api-container article section.content .highlighter-rouge, 
.docs-container article section.content .highlighter-rouge {
-    font-family: "Inconsolata", monospace; }
+    font-family: "Inconsolata", monospace;
+    margin-bottom: 1rem; }
     .rest-api-container article section.content .highlighter-rouge .highlight, 
.docs-container article section.content .highlighter-rouge .highlight {
       margin: 0;
       padding: 1rem; }
diff --git a/content/docs/latest/adaptors/KafkaWrapper/index.html 
b/content/docs/latest/adaptors/KafkaWrapper/index.html
index e019bbe..6a8b0bd 100644
--- a/content/docs/latest/adaptors/KafkaWrapper/index.html
+++ b/content/docs/latest/adaptors/KafkaWrapper/index.html
@@ -321,6 +321,30 @@
     
     
     <div class="card">
+      <div class="card-header" role="tab" id="heading-pulsar-functions">
+        <h5>
+          <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-pulsar-functions" aria-controls="collapse-pulsar-functions">
+            Pulsar Functions
+          </a>
+        </h5>
+      </div>
+
+      <div class="sidebar-group collapse" id="collapse-pulsar-functions" 
role="tabpanel" aria-labelledby="heading-pulsar-functions">
+        <ul>
+          
+          
+          <li>
+            <a href="../../functions/quickstart">
+              Getting started with Pulsar Functions
+            </a>
+          </li>
+          
+        </ul>
+      </div>
+    </div>
+    
+    
+    <div class="card">
       <div class="card-header" role="tab" id="heading-deployment">
         <h5>
           <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-deployment" aria-controls="collapse-deployment">
diff --git a/content/docs/latest/adaptors/PulsarSpark/index.html 
b/content/docs/latest/adaptors/PulsarSpark/index.html
index 3d7bb5d..79e4a86 100644
--- a/content/docs/latest/adaptors/PulsarSpark/index.html
+++ b/content/docs/latest/adaptors/PulsarSpark/index.html
@@ -321,6 +321,30 @@
     
     
     <div class="card">
+      <div class="card-header" role="tab" id="heading-pulsar-functions">
+        <h5>
+          <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-pulsar-functions" aria-controls="collapse-pulsar-functions">
+            Pulsar Functions
+          </a>
+        </h5>
+      </div>
+
+      <div class="sidebar-group collapse" id="collapse-pulsar-functions" 
role="tabpanel" aria-labelledby="heading-pulsar-functions">
+        <ul>
+          
+          
+          <li>
+            <a href="../../functions/quickstart">
+              Getting started with Pulsar Functions
+            </a>
+          </li>
+          
+        </ul>
+      </div>
+    </div>
+    
+    
+    <div class="card">
       <div class="card-header" role="tab" id="heading-deployment">
         <h5>
           <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-deployment" aria-controls="collapse-deployment">
diff --git a/content/docs/latest/adaptors/PulsarStorm/index.html 
b/content/docs/latest/adaptors/PulsarStorm/index.html
index 07aa37d..4eaaab9 100644
--- a/content/docs/latest/adaptors/PulsarStorm/index.html
+++ b/content/docs/latest/adaptors/PulsarStorm/index.html
@@ -321,6 +321,30 @@
     
     
     <div class="card">
+      <div class="card-header" role="tab" id="heading-pulsar-functions">
+        <h5>
+          <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-pulsar-functions" aria-controls="collapse-pulsar-functions">
+            Pulsar Functions
+          </a>
+        </h5>
+      </div>
+
+      <div class="sidebar-group collapse" id="collapse-pulsar-functions" 
role="tabpanel" aria-labelledby="heading-pulsar-functions">
+        <ul>
+          
+          
+          <li>
+            <a href="../../functions/quickstart">
+              Getting started with Pulsar Functions
+            </a>
+          </li>
+          
+        </ul>
+      </div>
+    </div>
+    
+    
+    <div class="card">
       <div class="card-header" role="tab" id="heading-deployment">
         <h5>
           <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-deployment" aria-controls="collapse-deployment">
diff --git a/content/docs/latest/admin-api/brokers/index.html 
b/content/docs/latest/admin-api/brokers/index.html
index 8f1059f..1e9c8ce 100644
--- a/content/docs/latest/admin-api/brokers/index.html
+++ b/content/docs/latest/admin-api/brokers/index.html
@@ -321,6 +321,30 @@
     
     
     <div class="card">
+      <div class="card-header" role="tab" id="heading-pulsar-functions">
+        <h5>
+          <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-pulsar-functions" aria-controls="collapse-pulsar-functions">
+            Pulsar Functions
+          </a>
+        </h5>
+      </div>
+
+      <div class="sidebar-group collapse" id="collapse-pulsar-functions" 
role="tabpanel" aria-labelledby="heading-pulsar-functions">
+        <ul>
+          
+          
+          <li>
+            <a href="../../functions/quickstart">
+              Getting started with Pulsar Functions
+            </a>
+          </li>
+          
+        </ul>
+      </div>
+    </div>
+    
+    
+    <div class="card">
       <div class="card-header" role="tab" id="heading-deployment">
         <h5>
           <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-deployment" aria-controls="collapse-deployment">
diff --git a/content/docs/latest/admin-api/clusters/index.html 
b/content/docs/latest/admin-api/clusters/index.html
index 98cc718..ab0f95b 100644
--- a/content/docs/latest/admin-api/clusters/index.html
+++ b/content/docs/latest/admin-api/clusters/index.html
@@ -321,6 +321,30 @@
     
     
     <div class="card">
+      <div class="card-header" role="tab" id="heading-pulsar-functions">
+        <h5>
+          <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-pulsar-functions" aria-controls="collapse-pulsar-functions">
+            Pulsar Functions
+          </a>
+        </h5>
+      </div>
+
+      <div class="sidebar-group collapse" id="collapse-pulsar-functions" 
role="tabpanel" aria-labelledby="heading-pulsar-functions">
+        <ul>
+          
+          
+          <li>
+            <a href="../../functions/quickstart">
+              Getting started with Pulsar Functions
+            </a>
+          </li>
+          
+        </ul>
+      </div>
+    </div>
+    
+    
+    <div class="card">
       <div class="card-header" role="tab" id="heading-deployment">
         <h5>
           <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-deployment" aria-controls="collapse-deployment">
diff --git a/content/docs/latest/admin-api/namespaces/index.html 
b/content/docs/latest/admin-api/namespaces/index.html
index 6ccedc7..6b12d5f 100644
--- a/content/docs/latest/admin-api/namespaces/index.html
+++ b/content/docs/latest/admin-api/namespaces/index.html
@@ -321,6 +321,30 @@
     
     
     <div class="card">
+      <div class="card-header" role="tab" id="heading-pulsar-functions">
+        <h5>
+          <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-pulsar-functions" aria-controls="collapse-pulsar-functions">
+            Pulsar Functions
+          </a>
+        </h5>
+      </div>
+
+      <div class="sidebar-group collapse" id="collapse-pulsar-functions" 
role="tabpanel" aria-labelledby="heading-pulsar-functions">
+        <ul>
+          
+          
+          <li>
+            <a href="../../functions/quickstart">
+              Getting started with Pulsar Functions
+            </a>
+          </li>
+          
+        </ul>
+      </div>
+    </div>
+    
+    
+    <div class="card">
       <div class="card-header" role="tab" id="heading-deployment">
         <h5>
           <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-deployment" aria-controls="collapse-deployment">
diff --git a/content/docs/latest/admin-api/non-persistent-topics/index.html 
b/content/docs/latest/admin-api/non-persistent-topics/index.html
index 2358023..e24bebb 100644
--- a/content/docs/latest/admin-api/non-persistent-topics/index.html
+++ b/content/docs/latest/admin-api/non-persistent-topics/index.html
@@ -321,6 +321,30 @@
     
     
     <div class="card">
+      <div class="card-header" role="tab" id="heading-pulsar-functions">
+        <h5>
+          <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-pulsar-functions" aria-controls="collapse-pulsar-functions">
+            Pulsar Functions
+          </a>
+        </h5>
+      </div>
+
+      <div class="sidebar-group collapse" id="collapse-pulsar-functions" 
role="tabpanel" aria-labelledby="heading-pulsar-functions">
+        <ul>
+          
+          
+          <li>
+            <a href="../../functions/quickstart">
+              Getting started with Pulsar Functions
+            </a>
+          </li>
+          
+        </ul>
+      </div>
+    </div>
+    
+    
+    <div class="card">
       <div class="card-header" role="tab" id="heading-deployment">
         <h5>
           <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-deployment" aria-controls="collapse-deployment">
diff --git a/content/docs/latest/admin-api/overview/index.html 
b/content/docs/latest/admin-api/overview/index.html
index 17384d0..ad3a19c 100644
--- a/content/docs/latest/admin-api/overview/index.html
+++ b/content/docs/latest/admin-api/overview/index.html
@@ -321,6 +321,30 @@
     
     
     <div class="card">
+      <div class="card-header" role="tab" id="heading-pulsar-functions">
+        <h5>
+          <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-pulsar-functions" aria-controls="collapse-pulsar-functions">
+            Pulsar Functions
+          </a>
+        </h5>
+      </div>
+
+      <div class="sidebar-group collapse" id="collapse-pulsar-functions" 
role="tabpanel" aria-labelledby="heading-pulsar-functions">
+        <ul>
+          
+          
+          <li>
+            <a href="../../functions/quickstart">
+              Getting started with Pulsar Functions
+            </a>
+          </li>
+          
+        </ul>
+      </div>
+    </div>
+    
+    
+    <div class="card">
       <div class="card-header" role="tab" id="heading-deployment">
         <h5>
           <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-deployment" aria-controls="collapse-deployment">
diff --git a/content/docs/latest/admin-api/partitioned-topics/index.html 
b/content/docs/latest/admin-api/partitioned-topics/index.html
index 5a55749..792bb8a 100644
--- a/content/docs/latest/admin-api/partitioned-topics/index.html
+++ b/content/docs/latest/admin-api/partitioned-topics/index.html
@@ -321,6 +321,30 @@
     
     
     <div class="card">
+      <div class="card-header" role="tab" id="heading-pulsar-functions">
+        <h5>
+          <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-pulsar-functions" aria-controls="collapse-pulsar-functions">
+            Pulsar Functions
+          </a>
+        </h5>
+      </div>
+
+      <div class="sidebar-group collapse" id="collapse-pulsar-functions" 
role="tabpanel" aria-labelledby="heading-pulsar-functions">
+        <ul>
+          
+          
+          <li>
+            <a href="../../functions/quickstart">
+              Getting started with Pulsar Functions
+            </a>
+          </li>
+          
+        </ul>
+      </div>
+    </div>
+    
+    
+    <div class="card">
       <div class="card-header" role="tab" id="heading-deployment">
         <h5>
           <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-deployment" aria-controls="collapse-deployment">
diff --git a/content/docs/latest/admin-api/permissions/index.html 
b/content/docs/latest/admin-api/permissions/index.html
index 81c88fb..bfc09f9 100644
--- a/content/docs/latest/admin-api/permissions/index.html
+++ b/content/docs/latest/admin-api/permissions/index.html
@@ -321,6 +321,30 @@
     
     
     <div class="card">
+      <div class="card-header" role="tab" id="heading-pulsar-functions">
+        <h5>
+          <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-pulsar-functions" aria-controls="collapse-pulsar-functions">
+            Pulsar Functions
+          </a>
+        </h5>
+      </div>
+
+      <div class="sidebar-group collapse" id="collapse-pulsar-functions" 
role="tabpanel" aria-labelledby="heading-pulsar-functions">
+        <ul>
+          
+          
+          <li>
+            <a href="../../functions/quickstart">
+              Getting started with Pulsar Functions
+            </a>
+          </li>
+          
+        </ul>
+      </div>
+    </div>
+    
+    
+    <div class="card">
       <div class="card-header" role="tab" id="heading-deployment">
         <h5>
           <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-deployment" aria-controls="collapse-deployment">
diff --git a/content/docs/latest/admin-api/persistent-topics/index.html 
b/content/docs/latest/admin-api/persistent-topics/index.html
index ed18b9e..8683f80 100644
--- a/content/docs/latest/admin-api/persistent-topics/index.html
+++ b/content/docs/latest/admin-api/persistent-topics/index.html
@@ -321,6 +321,30 @@
     
     
     <div class="card">
+      <div class="card-header" role="tab" id="heading-pulsar-functions">
+        <h5>
+          <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-pulsar-functions" aria-controls="collapse-pulsar-functions">
+            Pulsar Functions
+          </a>
+        </h5>
+      </div>
+
+      <div class="sidebar-group collapse" id="collapse-pulsar-functions" 
role="tabpanel" aria-labelledby="heading-pulsar-functions">
+        <ul>
+          
+          
+          <li>
+            <a href="../../functions/quickstart">
+              Getting started with Pulsar Functions
+            </a>
+          </li>
+          
+        </ul>
+      </div>
+    </div>
+    
+    
+    <div class="card">
       <div class="card-header" role="tab" id="heading-deployment">
         <h5>
           <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-deployment" aria-controls="collapse-deployment">
diff --git a/content/docs/latest/admin-api/properties/index.html 
b/content/docs/latest/admin-api/properties/index.html
index 06335b9..a0fafe7 100644
--- a/content/docs/latest/admin-api/properties/index.html
+++ b/content/docs/latest/admin-api/properties/index.html
@@ -321,6 +321,30 @@
     
     
     <div class="card">
+      <div class="card-header" role="tab" id="heading-pulsar-functions">
+        <h5>
+          <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-pulsar-functions" aria-controls="collapse-pulsar-functions">
+            Pulsar Functions
+          </a>
+        </h5>
+      </div>
+
+      <div class="sidebar-group collapse" id="collapse-pulsar-functions" 
role="tabpanel" aria-labelledby="heading-pulsar-functions">
+        <ul>
+          
+          
+          <li>
+            <a href="../../functions/quickstart">
+              Getting started with Pulsar Functions
+            </a>
+          </li>
+          
+        </ul>
+      </div>
+    </div>
+    
+    
+    <div class="card">
       <div class="card-header" role="tab" id="heading-deployment">
         <h5>
           <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-deployment" aria-controls="collapse-deployment">
diff --git a/content/docs/latest/admin/Authz/index.html 
b/content/docs/latest/admin/Authz/index.html
index be56dd8..2c6146f 100644
--- a/content/docs/latest/admin/Authz/index.html
+++ b/content/docs/latest/admin/Authz/index.html
@@ -321,6 +321,30 @@
     
     
     <div class="card">
+      <div class="card-header" role="tab" id="heading-pulsar-functions">
+        <h5>
+          <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-pulsar-functions" aria-controls="collapse-pulsar-functions">
+            Pulsar Functions
+          </a>
+        </h5>
+      </div>
+
+      <div class="sidebar-group collapse" id="collapse-pulsar-functions" 
role="tabpanel" aria-labelledby="heading-pulsar-functions">
+        <ul>
+          
+          
+          <li>
+            <a href="../../functions/quickstart">
+              Getting started with Pulsar Functions
+            </a>
+          </li>
+          
+        </ul>
+      </div>
+    </div>
+    
+    
+    <div class="card">
       <div class="card-header" role="tab" id="heading-deployment">
         <h5>
           <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-deployment" aria-controls="collapse-deployment">
diff --git a/content/docs/latest/admin/Dashboard/index.html 
b/content/docs/latest/admin/Dashboard/index.html
index 9af75d3..c69278c 100644
--- a/content/docs/latest/admin/Dashboard/index.html
+++ b/content/docs/latest/admin/Dashboard/index.html
@@ -321,6 +321,30 @@
     
     
     <div class="card">
+      <div class="card-header" role="tab" id="heading-pulsar-functions">
+        <h5>
+          <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-pulsar-functions" aria-controls="collapse-pulsar-functions">
+            Pulsar Functions
+          </a>
+        </h5>
+      </div>
+
+      <div class="sidebar-group collapse" id="collapse-pulsar-functions" 
role="tabpanel" aria-labelledby="heading-pulsar-functions">
+        <ul>
+          
+          
+          <li>
+            <a href="../../functions/quickstart">
+              Getting started with Pulsar Functions
+            </a>
+          </li>
+          
+        </ul>
+      </div>
+    </div>
+    
+    
+    <div class="card">
       <div class="card-header" role="tab" id="heading-deployment">
         <h5>
           <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-deployment" aria-controls="collapse-deployment">
diff --git a/content/docs/latest/admin/GeoReplication/index.html 
b/content/docs/latest/admin/GeoReplication/index.html
index f6775cc..48a9ca8 100644
--- a/content/docs/latest/admin/GeoReplication/index.html
+++ b/content/docs/latest/admin/GeoReplication/index.html
@@ -321,6 +321,30 @@
     
     
     <div class="card">
+      <div class="card-header" role="tab" id="heading-pulsar-functions">
+        <h5>
+          <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-pulsar-functions" aria-controls="collapse-pulsar-functions">
+            Pulsar Functions
+          </a>
+        </h5>
+      </div>
+
+      <div class="sidebar-group collapse" id="collapse-pulsar-functions" 
role="tabpanel" aria-labelledby="heading-pulsar-functions">
+        <ul>
+          
+          
+          <li>
+            <a href="../../functions/quickstart">
+              Getting started with Pulsar Functions
+            </a>
+          </li>
+          
+        </ul>
+      </div>
+    </div>
+    
+    
+    <div class="card">
       <div class="card-header" role="tab" id="heading-deployment">
         <h5>
           <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-deployment" aria-controls="collapse-deployment">
diff --git a/content/docs/latest/admin/ModularLoadManager/index.html 
b/content/docs/latest/admin/ModularLoadManager/index.html
index c40e951..4820d17 100644
--- a/content/docs/latest/admin/ModularLoadManager/index.html
+++ b/content/docs/latest/admin/ModularLoadManager/index.html
@@ -321,6 +321,30 @@
     
     
     <div class="card">
+      <div class="card-header" role="tab" id="heading-pulsar-functions">
+        <h5>
+          <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-pulsar-functions" aria-controls="collapse-pulsar-functions">
+            Pulsar Functions
+          </a>
+        </h5>
+      </div>
+
+      <div class="sidebar-group collapse" id="collapse-pulsar-functions" 
role="tabpanel" aria-labelledby="heading-pulsar-functions">
+        <ul>
+          
+          
+          <li>
+            <a href="../../functions/quickstart">
+              Getting started with Pulsar Functions
+            </a>
+          </li>
+          
+        </ul>
+      </div>
+    </div>
+    
+    
+    <div class="card">
       <div class="card-header" role="tab" id="heading-deployment">
         <h5>
           <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-deployment" aria-controls="collapse-deployment">
diff --git a/content/docs/latest/admin/Proxy/index.html 
b/content/docs/latest/admin/Proxy/index.html
index 18e72ee..3e83695 100644
--- a/content/docs/latest/admin/Proxy/index.html
+++ b/content/docs/latest/admin/Proxy/index.html
@@ -321,6 +321,30 @@
     
     
     <div class="card">
+      <div class="card-header" role="tab" id="heading-pulsar-functions">
+        <h5>
+          <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-pulsar-functions" aria-controls="collapse-pulsar-functions">
+            Pulsar Functions
+          </a>
+        </h5>
+      </div>
+
+      <div class="sidebar-group collapse" id="collapse-pulsar-functions" 
role="tabpanel" aria-labelledby="heading-pulsar-functions">
+        <ul>
+          
+          
+          <li>
+            <a href="../../functions/quickstart">
+              Getting started with Pulsar Functions
+            </a>
+          </li>
+          
+        </ul>
+      </div>
+    </div>
+    
+    
+    <div class="card">
       <div class="card-header" role="tab" id="heading-deployment">
         <h5>
           <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-deployment" aria-controls="collapse-deployment">
diff --git a/content/docs/latest/admin/Stats/index.html 
b/content/docs/latest/admin/Stats/index.html
index 4d28db4..f1848e2 100644
--- a/content/docs/latest/admin/Stats/index.html
+++ b/content/docs/latest/admin/Stats/index.html
@@ -321,6 +321,30 @@
     
     
     <div class="card">
+      <div class="card-header" role="tab" id="heading-pulsar-functions">
+        <h5>
+          <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-pulsar-functions" aria-controls="collapse-pulsar-functions">
+            Pulsar Functions
+          </a>
+        </h5>
+      </div>
+
+      <div class="sidebar-group collapse" id="collapse-pulsar-functions" 
role="tabpanel" aria-labelledby="heading-pulsar-functions">
+        <ul>
+          
+          
+          <li>
+            <a href="../../functions/quickstart">
+              Getting started with Pulsar Functions
+            </a>
+          </li>
+          
+        </ul>
+      </div>
+    </div>
+    
+    
+    <div class="card">
       <div class="card-header" role="tab" id="heading-deployment">
         <h5>
           <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-deployment" aria-controls="collapse-deployment">
diff --git a/content/docs/latest/admin/ZooKeeperBookKeeper/index.html 
b/content/docs/latest/admin/ZooKeeperBookKeeper/index.html
index cfc1451..4094dc6 100644
--- a/content/docs/latest/admin/ZooKeeperBookKeeper/index.html
+++ b/content/docs/latest/admin/ZooKeeperBookKeeper/index.html
@@ -321,6 +321,30 @@
     
     
     <div class="card">
+      <div class="card-header" role="tab" id="heading-pulsar-functions">
+        <h5>
+          <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-pulsar-functions" aria-controls="collapse-pulsar-functions">
+            Pulsar Functions
+          </a>
+        </h5>
+      </div>
+
+      <div class="sidebar-group collapse" id="collapse-pulsar-functions" 
role="tabpanel" aria-labelledby="heading-pulsar-functions">
+        <ul>
+          
+          
+          <li>
+            <a href="../../functions/quickstart">
+              Getting started with Pulsar Functions
+            </a>
+          </li>
+          
+        </ul>
+      </div>
+    </div>
+    
+    
+    <div class="card">
       <div class="card-header" role="tab" id="heading-deployment">
         <h5>
           <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-deployment" aria-controls="collapse-deployment">
diff --git a/content/docs/latest/advanced/Encryption/index.html 
b/content/docs/latest/advanced/Encryption/index.html
index b3f6117..76dbee3 100644
--- a/content/docs/latest/advanced/Encryption/index.html
+++ b/content/docs/latest/advanced/Encryption/index.html
@@ -321,6 +321,30 @@
     
     
     <div class="card">
+      <div class="card-header" role="tab" id="heading-pulsar-functions">
+        <h5>
+          <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-pulsar-functions" aria-controls="collapse-pulsar-functions">
+            Pulsar Functions
+          </a>
+        </h5>
+      </div>
+
+      <div class="sidebar-group collapse" id="collapse-pulsar-functions" 
role="tabpanel" aria-labelledby="heading-pulsar-functions">
+        <ul>
+          
+          
+          <li>
+            <a href="../../functions/quickstart">
+              Getting started with Pulsar Functions
+            </a>
+          </li>
+          
+        </ul>
+      </div>
+    </div>
+    
+    
+    <div class="card">
       <div class="card-header" role="tab" id="heading-deployment">
         <h5>
           <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-deployment" aria-controls="collapse-deployment">
diff --git a/content/docs/latest/advanced/PartitionedTopics/index.html 
b/content/docs/latest/advanced/PartitionedTopics/index.html
index 01219e6..5dbe99c 100644
--- a/content/docs/latest/advanced/PartitionedTopics/index.html
+++ b/content/docs/latest/advanced/PartitionedTopics/index.html
@@ -321,6 +321,30 @@
     
     
     <div class="card">
+      <div class="card-header" role="tab" id="heading-pulsar-functions">
+        <h5>
+          <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-pulsar-functions" aria-controls="collapse-pulsar-functions">
+            Pulsar Functions
+          </a>
+        </h5>
+      </div>
+
+      <div class="sidebar-group collapse" id="collapse-pulsar-functions" 
role="tabpanel" aria-labelledby="heading-pulsar-functions">
+        <ul>
+          
+          
+          <li>
+            <a href="../../functions/quickstart">
+              Getting started with Pulsar Functions
+            </a>
+          </li>
+          
+        </ul>
+      </div>
+    </div>
+    
+    
+    <div class="card">
       <div class="card-header" role="tab" id="heading-deployment">
         <h5>
           <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-deployment" aria-controls="collapse-deployment">
diff --git a/content/docs/latest/advanced/RetentionExpiry/index.html 
b/content/docs/latest/advanced/RetentionExpiry/index.html
index cf2cd06..98b9786 100644
--- a/content/docs/latest/advanced/RetentionExpiry/index.html
+++ b/content/docs/latest/advanced/RetentionExpiry/index.html
@@ -321,6 +321,30 @@
     
     
     <div class="card">
+      <div class="card-header" role="tab" id="heading-pulsar-functions">
+        <h5>
+          <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-pulsar-functions" aria-controls="collapse-pulsar-functions">
+            Pulsar Functions
+          </a>
+        </h5>
+      </div>
+
+      <div class="sidebar-group collapse" id="collapse-pulsar-functions" 
role="tabpanel" aria-labelledby="heading-pulsar-functions">
+        <ul>
+          
+          
+          <li>
+            <a href="../../functions/quickstart">
+              Getting started with Pulsar Functions
+            </a>
+          </li>
+          
+        </ul>
+      </div>
+    </div>
+    
+    
+    <div class="card">
       <div class="card-header" role="tab" id="heading-deployment">
         <h5>
           <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-deployment" aria-controls="collapse-deployment">
diff --git a/content/docs/latest/clients/Cpp/index.html 
b/content/docs/latest/clients/Cpp/index.html
index 4b45ffb..4c9e1da 100644
--- a/content/docs/latest/clients/Cpp/index.html
+++ b/content/docs/latest/clients/Cpp/index.html
@@ -321,6 +321,30 @@
     
     
     <div class="card">
+      <div class="card-header" role="tab" id="heading-pulsar-functions">
+        <h5>
+          <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-pulsar-functions" aria-controls="collapse-pulsar-functions">
+            Pulsar Functions
+          </a>
+        </h5>
+      </div>
+
+      <div class="sidebar-group collapse" id="collapse-pulsar-functions" 
role="tabpanel" aria-labelledby="heading-pulsar-functions">
+        <ul>
+          
+          
+          <li>
+            <a href="../../functions/quickstart">
+              Getting started with Pulsar Functions
+            </a>
+          </li>
+          
+        </ul>
+      </div>
+    </div>
+    
+    
+    <div class="card">
       <div class="card-header" role="tab" id="heading-deployment">
         <h5>
           <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-deployment" aria-controls="collapse-deployment">
diff --git a/content/docs/latest/clients/Java/index.html 
b/content/docs/latest/clients/Java/index.html
index 0a552d2..f41c2b8 100644
--- a/content/docs/latest/clients/Java/index.html
+++ b/content/docs/latest/clients/Java/index.html
@@ -321,6 +321,30 @@
     
     
     <div class="card">
+      <div class="card-header" role="tab" id="heading-pulsar-functions">
+        <h5>
+          <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-pulsar-functions" aria-controls="collapse-pulsar-functions">
+            Pulsar Functions
+          </a>
+        </h5>
+      </div>
+
+      <div class="sidebar-group collapse" id="collapse-pulsar-functions" 
role="tabpanel" aria-labelledby="heading-pulsar-functions">
+        <ul>
+          
+          
+          <li>
+            <a href="../../functions/quickstart">
+              Getting started with Pulsar Functions
+            </a>
+          </li>
+          
+        </ul>
+      </div>
+    </div>
+    
+    
+    <div class="card">
       <div class="card-header" role="tab" id="heading-deployment">
         <h5>
           <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-deployment" aria-controls="collapse-deployment">
diff --git a/content/docs/latest/clients/Python/index.html 
b/content/docs/latest/clients/Python/index.html
index 945457e..70d1ca8 100644
--- a/content/docs/latest/clients/Python/index.html
+++ b/content/docs/latest/clients/Python/index.html
@@ -321,6 +321,30 @@
     
     
     <div class="card">
+      <div class="card-header" role="tab" id="heading-pulsar-functions">
+        <h5>
+          <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-pulsar-functions" aria-controls="collapse-pulsar-functions">
+            Pulsar Functions
+          </a>
+        </h5>
+      </div>
+
+      <div class="sidebar-group collapse" id="collapse-pulsar-functions" 
role="tabpanel" aria-labelledby="heading-pulsar-functions">
+        <ul>
+          
+          
+          <li>
+            <a href="../../functions/quickstart">
+              Getting started with Pulsar Functions
+            </a>
+          </li>
+          
+        </ul>
+      </div>
+    </div>
+    
+    
+    <div class="card">
       <div class="card-header" role="tab" id="heading-deployment">
         <h5>
           <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-deployment" aria-controls="collapse-deployment">
diff --git a/content/docs/latest/clients/WebSocket/index.html 
b/content/docs/latest/clients/WebSocket/index.html
index 176b169..b3d8107 100644
--- a/content/docs/latest/clients/WebSocket/index.html
+++ b/content/docs/latest/clients/WebSocket/index.html
@@ -321,6 +321,30 @@
     
     
     <div class="card">
+      <div class="card-header" role="tab" id="heading-pulsar-functions">
+        <h5>
+          <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-pulsar-functions" aria-controls="collapse-pulsar-functions">
+            Pulsar Functions
+          </a>
+        </h5>
+      </div>
+
+      <div class="sidebar-group collapse" id="collapse-pulsar-functions" 
role="tabpanel" aria-labelledby="heading-pulsar-functions">
+        <ul>
+          
+          
+          <li>
+            <a href="../../functions/quickstart">
+              Getting started with Pulsar Functions
+            </a>
+          </li>
+          
+        </ul>
+      </div>
+    </div>
+    
+    
+    <div class="card">
       <div class="card-header" role="tab" id="heading-deployment">
         <h5>
           <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-deployment" aria-controls="collapse-deployment">
diff --git a/content/docs/latest/deployment/Kubernetes/index.html 
b/content/docs/latest/deployment/Kubernetes/index.html
index 5fe7b66..8aa3b6e 100644
--- a/content/docs/latest/deployment/Kubernetes/index.html
+++ b/content/docs/latest/deployment/Kubernetes/index.html
@@ -321,6 +321,30 @@
     
     
     <div class="card">
+      <div class="card-header" role="tab" id="heading-pulsar-functions">
+        <h5>
+          <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-pulsar-functions" aria-controls="collapse-pulsar-functions">
+            Pulsar Functions
+          </a>
+        </h5>
+      </div>
+
+      <div class="sidebar-group collapse" id="collapse-pulsar-functions" 
role="tabpanel" aria-labelledby="heading-pulsar-functions">
+        <ul>
+          
+          
+          <li>
+            <a href="../../functions/quickstart">
+              Getting started with Pulsar Functions
+            </a>
+          </li>
+          
+        </ul>
+      </div>
+    </div>
+    
+    
+    <div class="card">
       <div class="card-header" role="tab" id="heading-deployment">
         <h5>
           <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-deployment" aria-controls="collapse-deployment">
diff --git a/content/docs/latest/deployment/Monitoring/index.html 
b/content/docs/latest/deployment/Monitoring/index.html
index 567c42b..ab9e4fd 100644
--- a/content/docs/latest/deployment/Monitoring/index.html
+++ b/content/docs/latest/deployment/Monitoring/index.html
@@ -321,6 +321,30 @@
     
     
     <div class="card">
+      <div class="card-header" role="tab" id="heading-pulsar-functions">
+        <h5>
+          <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-pulsar-functions" aria-controls="collapse-pulsar-functions">
+            Pulsar Functions
+          </a>
+        </h5>
+      </div>
+
+      <div class="sidebar-group collapse" id="collapse-pulsar-functions" 
role="tabpanel" aria-labelledby="heading-pulsar-functions">
+        <ul>
+          
+          
+          <li>
+            <a href="../../functions/quickstart">
+              Getting started with Pulsar Functions
+            </a>
+          </li>
+          
+        </ul>
+      </div>
+    </div>
+    
+    
+    <div class="card">
       <div class="card-header" role="tab" id="heading-deployment">
         <h5>
           <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-deployment" aria-controls="collapse-deployment">
diff --git a/content/docs/latest/deployment/aws-cluster/index.html 
b/content/docs/latest/deployment/aws-cluster/index.html
index 8351250..5f0757b 100644
--- a/content/docs/latest/deployment/aws-cluster/index.html
+++ b/content/docs/latest/deployment/aws-cluster/index.html
@@ -321,6 +321,30 @@
     
     
     <div class="card">
+      <div class="card-header" role="tab" id="heading-pulsar-functions">
+        <h5>
+          <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-pulsar-functions" aria-controls="collapse-pulsar-functions">
+            Pulsar Functions
+          </a>
+        </h5>
+      </div>
+
+      <div class="sidebar-group collapse" id="collapse-pulsar-functions" 
role="tabpanel" aria-labelledby="heading-pulsar-functions">
+        <ul>
+          
+          
+          <li>
+            <a href="../../functions/quickstart">
+              Getting started with Pulsar Functions
+            </a>
+          </li>
+          
+        </ul>
+      </div>
+    </div>
+    
+    
+    <div class="card">
       <div class="card-header" role="tab" id="heading-deployment">
         <h5>
           <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-deployment" aria-controls="collapse-deployment">
diff --git a/content/docs/latest/deployment/cluster/index.html 
b/content/docs/latest/deployment/cluster/index.html
index d58c511..92f0ab9 100644
--- a/content/docs/latest/deployment/cluster/index.html
+++ b/content/docs/latest/deployment/cluster/index.html
@@ -321,6 +321,30 @@
     
     
     <div class="card">
+      <div class="card-header" role="tab" id="heading-pulsar-functions">
+        <h5>
+          <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-pulsar-functions" aria-controls="collapse-pulsar-functions">
+            Pulsar Functions
+          </a>
+        </h5>
+      </div>
+
+      <div class="sidebar-group collapse" id="collapse-pulsar-functions" 
role="tabpanel" aria-labelledby="heading-pulsar-functions">
+        <ul>
+          
+          
+          <li>
+            <a href="../../functions/quickstart">
+              Getting started with Pulsar Functions
+            </a>
+          </li>
+          
+        </ul>
+      </div>
+    </div>
+    
+    
+    <div class="card">
       <div class="card-header" role="tab" id="heading-deployment">
         <h5>
           <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-deployment" aria-controls="collapse-deployment">
diff --git a/content/docs/latest/deployment/dcos/index.html 
b/content/docs/latest/deployment/dcos/index.html
index fe1e26f..48262df 100644
--- a/content/docs/latest/deployment/dcos/index.html
+++ b/content/docs/latest/deployment/dcos/index.html
@@ -321,6 +321,30 @@
     
     
     <div class="card">
+      <div class="card-header" role="tab" id="heading-pulsar-functions">
+        <h5>
+          <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-pulsar-functions" aria-controls="collapse-pulsar-functions">
+            Pulsar Functions
+          </a>
+        </h5>
+      </div>
+
+      <div class="sidebar-group collapse" id="collapse-pulsar-functions" 
role="tabpanel" aria-labelledby="heading-pulsar-functions">
+        <ul>
+          
+          
+          <li>
+            <a href="../../functions/quickstart">
+              Getting started with Pulsar Functions
+            </a>
+          </li>
+          
+        </ul>
+      </div>
+    </div>
+    
+    
+    <div class="card">
       <div class="card-header" role="tab" id="heading-deployment">
         <h5>
           <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-deployment" aria-controls="collapse-deployment">
diff --git a/content/docs/latest/deployment/instance/index.html 
b/content/docs/latest/deployment/instance/index.html
index b37899c..3bae9c2 100644
--- a/content/docs/latest/deployment/instance/index.html
+++ b/content/docs/latest/deployment/instance/index.html
@@ -321,6 +321,30 @@
     
     
     <div class="card">
+      <div class="card-header" role="tab" id="heading-pulsar-functions">
+        <h5>
+          <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-pulsar-functions" aria-controls="collapse-pulsar-functions">
+            Pulsar Functions
+          </a>
+        </h5>
+      </div>
+
+      <div class="sidebar-group collapse" id="collapse-pulsar-functions" 
role="tabpanel" aria-labelledby="heading-pulsar-functions">
+        <ul>
+          
+          
+          <li>
+            <a href="../../functions/quickstart">
+              Getting started with Pulsar Functions
+            </a>
+          </li>
+          
+        </ul>
+      </div>
+    </div>
+    
+    
+    <div class="card">
       <div class="card-header" role="tab" id="heading-deployment">
         <h5>
           <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-deployment" aria-controls="collapse-deployment">
diff --git a/content/docs/latest/functions/api/index.html 
b/content/docs/latest/functions/api/index.html
index 5e3a9a7..7c0579e 100644
--- a/content/docs/latest/functions/api/index.html
+++ b/content/docs/latest/functions/api/index.html
@@ -321,6 +321,30 @@
     
     
     <div class="card">
+      <div class="card-header" role="tab" id="heading-pulsar-functions">
+        <h5>
+          <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-pulsar-functions" aria-controls="collapse-pulsar-functions">
+            Pulsar Functions
+          </a>
+        </h5>
+      </div>
+
+      <div class="sidebar-group collapse" id="collapse-pulsar-functions" 
role="tabpanel" aria-labelledby="heading-pulsar-functions">
+        <ul>
+          
+          
+          <li>
+            <a href="../../functions/quickstart">
+              Getting started with Pulsar Functions
+            </a>
+          </li>
+          
+        </ul>
+      </div>
+    </div>
+    
+    
+    <div class="card">
       <div class="card-header" role="tab" id="heading-deployment">
         <h5>
           <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-deployment" aria-controls="collapse-deployment">
@@ -753,9 +777,70 @@
       </section>
 
       <section class="content">
-        <h2 id="java">Java</h2>
+        <p>Pulsar Functions provides an easy-to-use API that develoeprs can 
use to</p>
+
+<h2 id="core-programming-model">Core programming model</h2>
+
+<p>Pulsar Functions</p>
+
+<h3 id="source-and-sink-topics">Source and sink topics</h3>
+
+<p>All Pulsar Functions have one or more <strong>source topics</strong> that 
supply messages to the function.</p>
+
+<h3 id="sink-topic">Sink topic</h3>
+
+<p>At the moment, Pulsar Functions can have at most one <strong>sink 
topic</strong> to which processing results are published.</p>
+
+<h3 id="serde">SerDe</h3>
+
+<p>SerDe stands for <strong>Ser</strong>ialization and 
<strong>De</strong>serialization</p>
 
-<p>Java API example:</p>
+<h2 id="context">Context</h2>
+
+<p>Both the <a href="#java-functions-with-context">Java</a> and <a 
href="#python-functions-with-context">Python</a> APIs provide optional access 
to a <strong>context object</strong> that can be used by the function. This 
context object provides a wide variety of information to the function:</p>
+
+<ul>
+  <li>The name and ID of the Pulsar Function</li>
+  <li>The message ID of each message</li>
+  <li>The name of the topic on which the message was sent</li>
+  <li>The names of all <a href="#source-topics">source topics</a> and the <a 
href="#sink-topic">sink topics</a> associated with the function</li>
+  <li>The name of the class used for <a href="#serde">SerDe</a></li>
+  <li>The <span class="popover-term" tabindex="0" title="What is a tenant?" 
data-placement="top" data-content="An administrative unit for allocating 
capacity and enforcing an authentication/authorization scheme. Tenants in 
Pulsar are managed at the property level." data-toggle="popover" 
data-trigger="focus">tenant</span> and <span class="popover-term" tabindex="0" 
title="What is a namespace?" data-placement="top" data-content="A grouping 
mechanism for related topics." data-toggle="popove [...]
+  <li>The ID of the Pulsar Functions instance running the function</li>
+  <li>The version of the function</li>
+  <li>The logger object used by the function</li>
+</ul>
+
+<h2 id="java">Java</h2>
+
+<p>Writing Pulsar Functions in Java involves implementing one of two 
interfaces:</p>
+
+<ul>
+  <li>The <a 
href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Function.html";><code
 class="highlighter-rouge">java.util.Function</code></a> interface</li>
+  <li>The <a target="_blank" 
href="/api/client/org/apache/pulsar/functions/api/PulsarFunction.html"><code 
class="highlighter-rouge">PulsarFunction</code></a> interface. This interface 
works much like the <code class="highlighter-rouge">java.util.Function</code> 
ihterface, but with the important difference</li>
+</ul>
+
+<h3 id="java-functions-without-context">Java functions without context</h3>
+
+<p>If your function doesn’t require access to its <a 
href="#context">context</a>, you can implement the <a 
href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Function.html";><code
 class="highlighter-rouge">java.util.Function</code></a> interface, which has 
this very simply, one-method signature:</p>
+
+<div class="language-java highlighter-rouge"><div class="highlight"><pre 
class="highlight"><code><span class="kd">public</span> <span 
class="kd">interface</span> <span class="nc">Function</span><span 
class="o">&lt;</span><span class="n">I</span><span class="o">,</span> <span 
class="n">O</span><span class="o">&gt;</span> <span class="o">{</span>
+    <span class="n">O</span> <span class="nf">apply</span><span 
class="o">(</span><span class="n">I</span> <span class="n">input</span><span 
class="o">);</span>
+<span class="o">}</span>
+</code></pre></div></div>
+
+<p>Here’s a simple example that takes a string as its input, adds an 
exclamation point to the end of the string, and then publishes the resulting 
string:</p>
+
+<div class="language-java highlighter-rouge"><div class="highlight"><pre 
class="highlight"><code><span class="kn">import</span> <span 
class="nn">java.util.Function</span><span class="o">;</span>
+
+<span class="kd">public</span> <span class="kd">class</span> <span 
class="nc">ExclamationFunction</span> <span class="kd">implements</span> <span 
class="n">Function</span><span class="o">&lt;</span><span 
class="n">String</span><span class="o">,</span> <span 
class="n">String</span><span class="o">&gt;</span> <span class="o">{</span>
+
+<span class="o">}</span>
+</code></pre></div></div>
+
+<h3 id="void-functions">Void functions</h3>
+
+<p>Pulsar Functions can publish results to an output <span 
class="popover-term" tabindex="0" title="What is a topic?" data-placement="top" 
data-content="A named channel used to pass messages published by producers to 
consumers who process those messages." data-toggle="popover" 
data-trigger="focus">topic</span>, but this isn’t required. Functions can 
also</p>
 
 <div class="language-java highlighter-rouge"><div class="highlight"><pre 
class="highlight"><code><span class="kn">import</span> <span 
class="nn">java.util.Function</span><span class="o">;</span>
 <span class="kd">public</span> <span class="kd">class</span> <span 
class="nc">ExclamationFunction</span> <span class="kd">implements</span> <span 
class="n">Function</span><span class="o">&lt;</span><span 
class="n">String</span><span class="o">,</span> <span 
class="n">String</span><span class="o">&gt;</span> <span class="o">{</span>
@@ -764,7 +849,7 @@
 <span class="o">}</span>
 </code></pre></div></div>
 
-<h3 id="with-context">With context</h3>
+<h3 id="java-functions-with-context">Java functions with context</h3>
 
 <div class="language-java highlighter-rouge"><div class="highlight"><pre 
class="highlight"><code><span class="kd">public</span> <span 
class="kd">interface</span> <span class="nc">PulsarFunction</span><span 
class="o">&lt;</span><span class="n">I</span><span class="o">,</span> <span 
class="n">O</span><span class="o">&gt;</span> <span class="o">{</span>
     <span class="n">O</span> <span class="nf">process</span><span 
class="o">(</span><span class="n">I</span> <span class="n">input</span><span 
class="o">,</span> <span class="n">Context</span> <span 
class="n">context</span><span class="o">)</span> <span class="kd">throws</span> 
<span class="n">Exception</span><span class="o">;</span>
@@ -795,7 +880,7 @@
 <span class="o">}</span>
 </code></pre></div></div>
 
-<h3 id="serde">SerDe</h3>
+<h3 id="serde-1">SerDe</h3>
 
 <blockquote>
   <p>Serde stands for <strong>Ser</strong>ialization and 
<strong>De</strong>serialization.</p>
@@ -821,6 +906,11 @@
 <div class="language-python highlighter-rouge"><div class="highlight"><pre 
class="highlight"><code><span class="k">def</span> <span 
class="nf">process</span><span class="p">(</span><span 
class="nb">input</span><span class="p">):</span>
 </code></pre></div></div>
 
+<h3 id="with-context">With context</h3>
+
+<div class="language-python highlighter-rouge"><div class="highlight"><pre 
class="highlight"><code><span class="k">def</span> 
+</code></pre></div></div>
+
       </section>
     </article>
 
diff --git a/content/docs/latest/functions/deployment/index.html 
b/content/docs/latest/functions/deployment/index.html
index 0e858a4..70de481 100644
--- a/content/docs/latest/functions/deployment/index.html
+++ b/content/docs/latest/functions/deployment/index.html
@@ -321,6 +321,30 @@
     
     
     <div class="card">
+      <div class="card-header" role="tab" id="heading-pulsar-functions">
+        <h5>
+          <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-pulsar-functions" aria-controls="collapse-pulsar-functions">
+            Pulsar Functions
+          </a>
+        </h5>
+      </div>
+
+      <div class="sidebar-group collapse" id="collapse-pulsar-functions" 
role="tabpanel" aria-labelledby="heading-pulsar-functions">
+        <ul>
+          
+          
+          <li>
+            <a href="../../functions/quickstart">
+              Getting started with Pulsar Functions
+            </a>
+          </li>
+          
+        </ul>
+      </div>
+    </div>
+    
+    
+    <div class="card">
       <div class="card-header" role="tab" id="heading-deployment">
         <h5>
           <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-deployment" aria-controls="collapse-deployment">
diff --git a/content/docs/latest/functions/guarantees/index.html 
b/content/docs/latest/functions/guarantees/index.html
index 0e72e7d..4ad2363 100644
--- a/content/docs/latest/functions/guarantees/index.html
+++ b/content/docs/latest/functions/guarantees/index.html
@@ -321,6 +321,30 @@
     
     
     <div class="card">
+      <div class="card-header" role="tab" id="heading-pulsar-functions">
+        <h5>
+          <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-pulsar-functions" aria-controls="collapse-pulsar-functions">
+            Pulsar Functions
+          </a>
+        </h5>
+      </div>
+
+      <div class="sidebar-group collapse" id="collapse-pulsar-functions" 
role="tabpanel" aria-labelledby="heading-pulsar-functions">
+        <ul>
+          
+          
+          <li>
+            <a href="../../functions/quickstart">
+              Getting started with Pulsar Functions
+            </a>
+          </li>
+          
+        </ul>
+      </div>
+    </div>
+    
+    
+    <div class="card">
       <div class="card-header" role="tab" id="heading-deployment">
         <h5>
           <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-deployment" aria-controls="collapse-deployment">
diff --git a/content/docs/latest/functions/metrics-and-stats/index.html 
b/content/docs/latest/functions/metrics-and-stats/index.html
index 427c590..3625c0e 100644
--- a/content/docs/latest/functions/metrics-and-stats/index.html
+++ b/content/docs/latest/functions/metrics-and-stats/index.html
@@ -321,6 +321,30 @@
     
     
     <div class="card">
+      <div class="card-header" role="tab" id="heading-pulsar-functions">
+        <h5>
+          <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-pulsar-functions" aria-controls="collapse-pulsar-functions">
+            Pulsar Functions
+          </a>
+        </h5>
+      </div>
+
+      <div class="sidebar-group collapse" id="collapse-pulsar-functions" 
role="tabpanel" aria-labelledby="heading-pulsar-functions">
+        <ul>
+          
+          
+          <li>
+            <a href="../../functions/quickstart">
+              Getting started with Pulsar Functions
+            </a>
+          </li>
+          
+        </ul>
+      </div>
+    </div>
+    
+    
+    <div class="card">
       <div class="card-header" role="tab" id="heading-deployment">
         <h5>
           <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-deployment" aria-controls="collapse-deployment">
diff --git a/content/docs/latest/functions/overview/index.html 
b/content/docs/latest/functions/overview/index.html
index d161cc8..c9e2f68 100644
--- a/content/docs/latest/functions/overview/index.html
+++ b/content/docs/latest/functions/overview/index.html
@@ -321,6 +321,30 @@
     
     
     <div class="card">
+      <div class="card-header" role="tab" id="heading-pulsar-functions">
+        <h5>
+          <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-pulsar-functions" aria-controls="collapse-pulsar-functions">
+            Pulsar Functions
+          </a>
+        </h5>
+      </div>
+
+      <div class="sidebar-group collapse" id="collapse-pulsar-functions" 
role="tabpanel" aria-labelledby="heading-pulsar-functions">
+        <ul>
+          
+          
+          <li>
+            <a href="../../functions/quickstart">
+              Getting started with Pulsar Functions
+            </a>
+          </li>
+          
+        </ul>
+      </div>
+    </div>
+    
+    
+    <div class="card">
       <div class="card-header" role="tab" id="heading-deployment">
         <h5>
           <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-deployment" aria-controls="collapse-deployment">
diff --git a/content/docs/latest/functions/quickstart/index.html 
b/content/docs/latest/functions/quickstart/index.html
index 3680d2f..6036123 100644
--- a/content/docs/latest/functions/quickstart/index.html
+++ b/content/docs/latest/functions/quickstart/index.html
@@ -321,6 +321,30 @@
     
     
     <div class="card">
+      <div class="card-header" role="tab" id="heading-pulsar-functions">
+        <h5>
+          <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-pulsar-functions" aria-controls="collapse-pulsar-functions">
+            Pulsar Functions
+          </a>
+        </h5>
+      </div>
+
+      <div class="sidebar-group collapse" id="collapse-pulsar-functions" 
role="tabpanel" aria-labelledby="heading-pulsar-functions">
+        <ul>
+          
+          
+          <li>
+            <a href="../../functions/quickstart">
+              Getting started with Pulsar Functions
+            </a>
+          </li>
+          
+        </ul>
+      </div>
+    </div>
+    
+    
+    <div class="card">
       <div class="card-header" role="tab" id="heading-deployment">
         <h5>
           <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-deployment" aria-controls="collapse-deployment">
@@ -744,7 +768,7 @@
     <article class="col-xs-12 col-sm-12 col-md-12 col-lg-7">
       <section class="docs-header">
         <h1 class="docs-title">Getting started with Pulsar Functions</h1>
-        
+        <span class="docs-lead">Write and run your first Pulsar Function in 
just a few steps</span><br />
         <section class="tags">
           
         </section>
@@ -753,29 +777,270 @@
       </section>
 
       <section class="content">
-        <h2 id="the-pulsar-functions-cli-tool">The <code 
class="highlighter-rouge">pulsar-functions</code> CLI tool</h2>
+        <p>This tutorial will walk you through running a <span 
class="popover-term" tabindex="0" title="What is a standalone Pulsar broker?" 
data-placement="top" data-content="A lightweight Pulsar broker in which all 
components run in a single Java Virtual Machine (JVM) process. Standalone 
clusters can be run on a single machine and are useful for development 
purposes." data-toggle="popover" data-trigger="focus">standalone</span> Pulsar 
<span class="popover-term" tabindex="0" title="What [...]
+
+<!--
+
+    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.
+
+-->
+<div class="admonition">
+  <div class="">
+    
+    <p>In local run mode, your Pulsar Function will communicate with your 
Pulsar cluster but will run outside of the cluster.</p>
+
+  </div>
+</div>
+
+<h2 id="prerequisites">Prerequisites</h2>
+
+<p>In order to follow along with this tutorial, you’ll need to have <a 
href="https://maven.apache.org/download.cgi";>Maven</a> installed on your 
machine.</p>
+
+<h2 id="run-a-standalone-pulsar-cluster">Run a standalone Pulsar cluster</h2>
+
+<p>In order to run our Pulsar Functions, we’ll need to run a Pulsar cluster 
locally first. The easiest way to do that is to run Pulsar in <span 
class="popover-term" tabindex="0" title="What is a standalone Pulsar broker?" 
data-placement="top" data-content="A lightweight Pulsar broker in which all 
components run in a single Java Virtual Machine (JVM) process. Standalone 
clusters can be run on a single machine and are useful for development 
purposes." data-toggle="popover" data-trigger="fo [...]
+
+<div class="language-bash highlighter-rouge"><div class="highlight"><pre 
class="highlight"><code><span class="nv">$ </span>wget 
https://github.com/streamlio/incubator-pulsar/releases/download/2.0.0-incubating-functions-preview/apache-pulsar-2.0.0-incubating-functions-preview-bin.tar.gz
+<span class="nv">$ </span><span class="nb">tar </span>xvf 
apache-pulsar-2.0.0-incubating-functions-preview-bin.tar.gz
+<span class="nv">$ </span><span class="nb">cd 
</span>apache-pulsar-2.0.0-incubating-functions-preview
+<span class="nv">$ </span>bin/pulsar standalone <span class="se">\</span>
+  <span class="nt">--advertised-address</span> 127.0.0.1
+</code></pre></div></div>
+
+<p>When running Pulsar in standalone mode, the <code 
class="highlighter-rouge">sample</code> <span class="popover-term" tabindex="0" 
title="What is a tenant?" data-placement="top" data-content="An administrative 
unit for allocating capacity and enforcing an authentication/authorization 
scheme. Tenants in Pulsar are managed at the property level." 
data-toggle="popover" data-trigger="focus">tenant</span> and <code 
class="highlighter-rouge">ns1</code> <span class="popover-term" tabindex="0" 
[...]
+
+<h2 id="run-a-pulsar-function-in-local-run-mode">Run a Pulsar Function in 
local run mode</h2>
+
+<p>Let’s start with a simple function that takes a string as input from a 
Pulsar topic, adds an exclamation point to the end of the string, and then 
publishes that new string to another Pulsar topic. Here’s the code for the 
function:</p>
+
+<div class="language-java highlighter-rouge"><div class="highlight"><pre 
class="highlight"><code><span class="kn">package</span> <span 
class="n">org</span><span class="o">.</span><span class="na">apache</span><span 
class="o">.</span><span class="na">pulsar</span><span class="o">.</span><span 
class="na">functions</span><span class="o">.</span><span 
class="na">api</span><span class="o">.</span><span 
class="na">examples</span><span class="o">;</span>
+
+<span class="kn">import</span> <span 
class="nn">java.util.function.Function</span><span class="o">;</span>
+
+<span class="kd">public</span> <span class="kd">class</span> <span 
class="nc">ExclamationFunction</span> <span class="kd">implements</span> <span 
class="n">Function</span><span class="o">&lt;</span><span 
class="n">String</span><span class="o">,</span> <span 
class="n">String</span><span class="o">&gt;</span> <span class="o">{</span>
+    <span class="nd">@Override</span>
+    <span class="kd">public</span> <span class="n">String</span> <span 
class="nf">apply</span><span class="o">(</span><span class="n">String</span> 
<span class="n">input</span><span class="o">)</span> <span class="o">{</span>
+        <span class="k">return</span> <span class="n">String</span><span 
class="o">.</span><span class="na">format</span><span class="o">(</span><span 
class="s">"%s!"</span><span class="o">,</span> <span 
class="n">input</span><span class="o">);</span>
+    <span class="o">}</span>
+<span class="o">}</span>
+</code></pre></div></div>
 
-<p><a href="../../reference/CliTools#pulsar-functions"><code 
class="highlighter-rouge">pulsar-functions</code></a></p>
+<p>A JAR file containing this and several other functions (written in Java) is 
included with the binary distribution you downloaded above (in the <code 
class="highlighter-rouge">examples</code> folder). To run the function in local 
mode, i.e. on our laptop but outside our Pulsar cluster:</p>
 
-<div class="language-bash highlighter-rouge"><div class="highlight"><pre 
class="highlight"><code><span class="nv">$ </span><span class="nb">alias 
</span>pulsar-functions<span class="o">=</span><span 
class="s1">'/path/to/pulsar/bin/pulsar-functions'</span>
+<div class="language-bash highlighter-rouge"><div class="highlight"><pre 
class="highlight"><code><span class="nv">$ </span>bin/pulsar-admin functions 
localrun <span class="se">\</span>
+  <span class="nt">--jar</span> examples/api-examples.jar <span 
class="se">\</span>
+  <span class="nt">--className</span> 
org.apache.pulsar.functions.api.examples.ExclamationFunction <span 
class="se">\</span>
+  <span class="nt">--inputs</span> 
persistent://sample/standalone/ns1/exclamation-input <span class="se">\</span>
+  <span class="nt">--output</span> 
persistent://sample/standalone/ns1/exclamation-output <span class="se">\</span>
+  <span class="nt">--name</span> exclamation
 </code></pre></div></div>
 
-<h2 id="querying-state">Querying state</h2>
+<p>We can use the <a href="../../reference/CliTools#pulsar-client"><code 
class="highlighter-rouge">pulsar-client</code></a> CLI tool to publish a 
message to the input topic:</p>
 
-<div class="language-bash highlighter-rouge"><div class="highlight"><pre 
class="highlight"><code><span class="nv">$ </span>bin/pulsar-functions 
querystate <span class="se">\</span>
+<div class="language-bash highlighter-rouge"><div class="highlight"><pre 
class="highlight"><code><span class="nv">$ </span>bin/pulsar-client produce 
persistent://sample/standalone/ns1/exclamation-input <span class="se">\</span>
+  <span class="nt">--num-produce</span> 1 <span class="se">\</span>
+  <span class="nt">--messages</span> <span class="s2">"Hello world"</span>
+</code></pre></div></div>
+
+<p>Here’s what happens next:</p>
+
+<ul>
+  <li>The <code class="highlighter-rouge">Hello world</code> message that we 
published to the input <span class="popover-term" tabindex="0" title="What is a 
topic?" data-placement="top" data-content="A named channel used to pass 
messages published by producers to consumers who process those messages." 
data-toggle="popover" data-trigger="focus">topic</span> (<code 
class="highlighter-rouge">persistent://sample/standalone/ns1/exclamation-input</code>)
 will be passed to the exclamation funct [...]
+  <li>The exclamation function will process the message (providing a result of 
<code class="highlighter-rouge">Hello world!</code>) and publish the result to 
the output topic (<code 
class="highlighter-rouge">persistent://sample/standalone/ns1/exclamation-output</code>).</li>
+  <li>Pulsar will durably store the message data published to the output topic 
in <a href="https://bookkeeper.apache.org";>Apache BookKeeper</a> until a <span 
class="popover-term" tabindex="0" title="What is a consumer?" 
data-placement="top" data-content="A process that establishes a subscription to 
a Pulsar topic and processes messages published to that topic by producers." 
data-toggle="popover" data-trigger="focus">consumer</span> consumes and <span 
class="popover-term" tabindex="0" tit [...]
+</ul>
+
+<p>To consume the message, we can use the same <a 
href="../../reference/CliTools#pulsar-client"><code 
class="highlighter-rouge">pulsar-client</code></a> tool that we used to publish 
the original message:</p>
+
+<div class="language-bash highlighter-rouge"><div class="highlight"><pre 
class="highlight"><code><span class="nv">$ </span>bin/pulsar-client consume 
persistent://sample/standalone/ns1/exclamation-output <span class="se">\</span>
+  <span class="nt">--subscription-name</span> my-subscription <span 
class="se">\</span>
+  <span class="nt">--num-messages</span> 1
+</code></pre></div></div>
+
+<p>In the output, you should see the following:</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre 
class="highlight"><code>----- got message -----
+Hello world!
+</code></pre></div></div>
+
+<p>Success! As you can see, the message has been successfully processed by the 
exclamation function. To shut down the function, simply hit 
<strong>Ctrl+C</strong>.</p>
+
+<h2 id="run-a-pulsar-function-in-cluster-mode">Run a Pulsar Function in 
cluster mode</h2>
+
+<p><a href="#run-a-pulsar-function-in-local-run-mode">Local run mode</a> is 
useful for development and experimentation, but if you wanted to use Pulsar 
Functions in a real Pulsar deployment, you’d want to run them in 
<strong>cluster mode</strong>. In cluster mode, Pulsar Functions run 
<em>inside</em> your Pulsar cluster and are managed using the same <code 
class="highlighter-rouge">pulsar-admin functions</code> interface that we’ve 
been using thus far.</p>
+
+<p>This command would deploy the same exclamation function we ran locally 
above in our Pulsar cluster:</p>
+
+<div class="language-bash highlighter-rouge"><div class="highlight"><pre 
class="highlight"><code><span class="nv">$ </span>bin/pulsar-admin functions 
create <span class="se">\</span>
+  <span class="nt">--jar</span> examples/api-examples.jar <span 
class="se">\</span>
+  <span class="nt">--className</span> 
org.apache.pulsar.functions.api.examples.ExclamationFunction <span 
class="se">\</span>
+  <span class="nt">--inputs</span> 
persistent://sample/standalone/ns1/exclamation-input <span class="se">\</span>
+  <span class="nt">--output</span> 
persistent://sample/standalone/ns1/exclamation-output <span class="se">\</span>
   <span class="nt">--tenant</span> sample <span class="se">\</span>
-  <span class="nt">--namespace</span> my-functions <span class="se">\</span>
-  <span class="nt">--function-name</span> my-function <span class="se">\</span>
-  <span class="nt">--key</span> <span class="s2">"some-key"</span>
+  <span class="nt">--namespace</span> ns1 <span class="se">\</span>
+  <span class="nt">--name</span> exclamation
 </code></pre></div></div>
 
-<h2 id="running-functions-locally">Running functions locally</h2>
+<p>You should see <code class="highlighter-rouge">Created successfully</code> 
in the output. Now, let’s see a list of functions running in our cluster:</p>
 
-<p><a href="../../reference/CliTools#pulsar-functions-localrun"><code 
class="highlighter-rouge">localrun</code></a></p>
+<div class="language-bash highlighter-rouge"><div class="highlight"><pre 
class="highlight"><code><span class="nv">$ </span>bin/pulsar-admin functions 
list <span class="se">\</span>
+  <span class="nt">--tenant</span> sample <span class="se">\</span>
+  <span class="nt">--namespace</span> ns1
+</code></pre></div></div>
+
+<p>We should see just the <code class="highlighter-rouge">exclamation</code> 
function listed there. We can also check the status of our deployed function 
using the <code class="highlighter-rouge">getstatus</code> command:</p>
+
+<div class="language-bash highlighter-rouge"><div class="highlight"><pre 
class="highlight"><code><span class="nv">$ </span>bin/pulsar-admin functions 
getstatus <span class="se">\</span>
+  <span class="nt">--tenant</span> sample <span class="se">\</span>
+  <span class="nt">--namespace</span> ns1 <span class="se">\</span>
+  <span class="nt">--name</span> exclamation
+</code></pre></div></div>
+
+<p>You should see this JSON output:</p>
 
-<div class="language-bash highlighter-rouge"><div class="highlight"><pre 
class="highlight"><code><span class="nv">$ </span>bin/pulsar-functions localrun
+<div class="language-json highlighter-rouge"><div class="highlight"><pre 
class="highlight"><code><span class="p">{</span><span class="w">
+  </span><span class="s2">"functionStatusList"</span><span 
class="p">:</span><span class="w"> </span><span class="p">[</span><span 
class="w">
+    </span><span class="p">{</span><span class="w">
+      </span><span class="s2">"running"</span><span class="p">:</span><span 
class="w"> </span><span class="kc">true</span><span class="p">,</span><span 
class="w">
+      </span><span class="s2">"instanceId"</span><span class="p">:</span><span 
class="w"> </span><span class="s2">"0"</span><span class="w">
+    </span><span class="p">}</span><span class="w">
+  </span><span class="p">]</span><span class="w">
+</span><span class="p">}</span><span class="w">
+</span></code></pre></div></div>
+
+<p>As we can see, (a) the instance is currently running and (b) there is one 
instance, with an ID of 0, running. We can get other information about the 
function (topics, tenant, namespace, etc.) using the <code 
class="highlighter-rouge">get</code> command instead of <code 
class="highlighter-rouge">getstatus</code>:</p>
+
+<div class="language-bash highlighter-rouge"><div class="highlight"><pre 
class="highlight"><code><span class="nv">$ </span>bin/pulsar-admin functions 
get <span class="se">\</span>
+  <span class="nt">--tenant</span> sample <span class="se">\</span>
+  <span class="nt">--namespace</span> ns1 <span class="se">\</span>
+  <span class="nt">--name</span> exclamation
 </code></pre></div></div>
 
+<p>You should see this JSON output:</p>
+
+<div class="language-json highlighter-rouge"><div class="highlight"><pre 
class="highlight"><code><span class="p">{</span><span class="w">
+  </span><span class="s2">"tenant"</span><span class="p">:</span><span 
class="w"> </span><span class="s2">"sample"</span><span class="p">,</span><span 
class="w">
+  </span><span class="s2">"namespace"</span><span class="p">:</span><span 
class="w"> </span><span class="s2">"ns1"</span><span class="p">,</span><span 
class="w">
+  </span><span class="s2">"name"</span><span class="p">:</span><span 
class="w"> </span><span class="s2">"exclamation"</span><span 
class="p">,</span><span class="w">
+  </span><span class="s2">"className"</span><span class="p">:</span><span 
class="w"> </span><span 
class="s2">"org.apache.pulsar.functions.api.examples.ExclamationFunction"</span><span
 class="p">,</span><span class="w">
+  </span><span class="s2">"output"</span><span class="p">:</span><span 
class="w"> </span><span 
class="s2">"persistent://sample/standalone/ns1/exclamation-output"</span><span 
class="p">,</span><span class="w">
+  </span><span class="s2">"autoAck"</span><span class="p">:</span><span 
class="w"> </span><span class="kc">true</span><span class="p">,</span><span 
class="w">
+  </span><span class="s2">"inputs"</span><span class="p">:</span><span 
class="w"> </span><span class="p">[</span><span class="w">
+    </span><span 
class="s2">"persistent://sample/standalone/ns1/exclamation-input"</span><span 
class="w">
+  </span><span class="p">],</span><span class="w">
+  </span><span class="s2">"parallelism"</span><span class="p">:</span><span 
class="w"> </span><span class="mi">1</span><span class="w">
+</span><span class="p">}</span><span class="w">
+</span></code></pre></div></div>
+
+<p>As we can see, the parallelism of the function is 1, meaning that only one 
instance of the function is running in our cluster. Let’s update our function 
to a parallelism of 3 using the <code class="highlighter-rouge">update</code> 
command:</p>
+
+<div class="language-bash highlighter-rouge"><div class="highlight"><pre 
class="highlight"><code><span class="nv">$ </span>bin/pulsar-admin functions 
update <span class="se">\</span>
+  <span class="nt">--jar</span> examples/api-examples.jar <span 
class="se">\</span>
+  <span class="nt">--className</span> 
org.apache.pulsar.functions.api.examples.ExclamationFunction <span 
class="se">\</span>
+  <span class="nt">--inputs</span> 
persistent://sample/standalone/ns1/exclamation-input <span class="se">\</span>
+  <span class="nt">--output</span> 
persistent://sample/standalone/ns1/exclamation-output <span class="se">\</span>
+  <span class="nt">--tenant</span> sample <span class="se">\</span>
+  <span class="nt">--namespace</span> ns1 <span class="se">\</span>
+  <span class="nt">--name</span> exclamation <span class="se">\</span>
+  <span class="nt">--parallelism</span> 3
+</code></pre></div></div>
+
+<p>You should see <code class="highlighter-rouge">Updated successfully</code> 
in the output. If you run the <code class="highlighter-rouge">get</code> 
command from above for the function, you can see that the parallelism has 
increased to 3, meaning that there are now three instances of the function 
running in our cluster:</p>
+
+<div class="language-json highlighter-rouge"><div class="highlight"><pre 
class="highlight"><code><span class="p">{</span><span class="w">
+  </span><span class="s2">"tenant"</span><span class="p">:</span><span 
class="w"> </span><span class="s2">"sample"</span><span class="p">,</span><span 
class="w">
+  </span><span class="s2">"namespace"</span><span class="p">:</span><span 
class="w"> </span><span class="s2">"ns1"</span><span class="p">,</span><span 
class="w">
+  </span><span class="s2">"name"</span><span class="p">:</span><span 
class="w"> </span><span class="s2">"exclamation"</span><span 
class="p">,</span><span class="w">
+  </span><span class="s2">"className"</span><span class="p">:</span><span 
class="w"> </span><span 
class="s2">"org.apache.pulsar.functions.api.examples.ExclamationFunction"</span><span
 class="p">,</span><span class="w">
+  </span><span class="s2">"output"</span><span class="p">:</span><span 
class="w"> </span><span 
class="s2">"persistent://sample/standalone/ns1/exclamation-output"</span><span 
class="p">,</span><span class="w">
+  </span><span class="s2">"autoAck"</span><span class="p">:</span><span 
class="w"> </span><span class="kc">true</span><span class="p">,</span><span 
class="w">
+  </span><span class="s2">"inputs"</span><span class="p">:</span><span 
class="w"> </span><span class="p">[</span><span class="w">
+    </span><span 
class="s2">"persistent://sample/standalone/ns1/exclamation-input"</span><span 
class="w">
+  </span><span class="p">],</span><span class="w">
+  </span><span class="s2">"parallelism"</span><span class="p">:</span><span 
class="w"> </span><span class="mi">3</span><span class="w">
+</span><span class="p">}</span><span class="w">
+</span></code></pre></div></div>
+
+<p>Finally, we can shut down our running function using the <code 
class="highlighter-rouge">delete</code> command:</p>
+
+<div class="language-bash highlighter-rouge"><div class="highlight"><pre 
class="highlight"><code><span class="nv">$ </span>bin/pulsar-admin functions 
delete <span class="se">\</span>
+  <span class="nt">--tenant</span> sample <span class="se">\</span>
+  <span class="nt">--namespace</span> ns1 <span class="se">\</span>
+  <span class="nt">--name</span> exclamation
+</code></pre></div></div>
+
+<p>If you see <code class="highlighter-rouge">Deleted successfully</code> in 
the output, then you’ve succesfully run, updated, and shut down a Pulsar 
Function running in cluster mode. Congrats! Now, let’s go even further and run 
a brand new function in the next section.</p>
+
+<h2 id="writing-and-running-a-new-function">Writing and running a new 
function</h2>
+
+<p>In the above examples, we ran and managed a pre-written Pulsar Function and 
saw how it worked. To really get our hands dirty, let’s write and our own 
function from scratch, using the Python API. This simple function will also 
take a string as input but it will reverse the string and publish the 
resulting, reversed string to the specified topic.</p>
+
+<p>First, create a new Python file:</p>
+
+<div class="language-bash highlighter-rouge"><div class="highlight"><pre 
class="highlight"><code><span class="nv">$ </span><span class="nb">touch 
</span>reverse.py
+</code></pre></div></div>
+
+<p>In that file, add the following:</p>
+
+<div class="language-python highlighter-rouge"><div class="highlight"><pre 
class="highlight"><code><span class="kn">from</span> <span 
class="nn">pulsarfunction</span> <span class="kn">import</span> <span 
class="n">pulsar_function</span>
+
+<span class="k">class</span> <span class="nc">Reverse</span><span 
class="p">(</span><span class="n">pulsar_function</span><span 
class="o">.</span><span class="n">PulsarFunction</span><span class="p">):</span>
+  <span class="k">def</span> <span class="nf">__init__</span><span 
class="p">(</span><span class="bp">self</span><span class="p">):</span>
+    <span class="k">pass</span>
+
+  <span class="k">def</span> <span class="nf">process</span><span 
class="p">(</span><span class="bp">self</span><span class="p">,</span> <span 
class="nb">input</span><span class="p">):</span>
+    <span class="k">return</span> <span class="nb">input</span><span 
class="p">[::</span><span class="o">-</span><span class="mi">1</span><span 
class="p">]</span>
+</code></pre></div></div>
+
+<p>Here, the <code class="highlighter-rouge">process</code> method defines the 
processing logic of the Pulsar Function. It simply uses some Python slice magic 
to reverse each incoming string. Now, we can deploy the function using <code 
class="highlighter-rouge">create</code>:</p>
+
+<div class="language-bash highlighter-rouge"><div class="highlight"><pre 
class="highlight"><code><span class="nv">$ </span>bin/pulsar-admin functions 
create <span class="se">\</span>
+  <span class="nt">--py</span> reverse.py <span class="se">\</span>
+  <span class="nt">--className</span> reverse.Reverse <span class="se">\</span>
+  <span class="nt">--inputs</span> persistent://sample/standalone/ns1/forwards 
<span class="se">\</span>
+  <span class="nt">--output</span> 
persistent://sample/standalone/ns1/backwards <span class="se">\</span>
+  <span class="nt">--tenant</span> sample <span class="se">\</span>
+  <span class="nt">--namespace</span> ns1 <span class="se">\</span>
+  <span class="nt">--name</span> reverse 
+</code></pre></div></div>
+
+<p>If you see <code class="highlighter-rouge">Created successfully</code>, the 
function is ready to accept incoming messages. Let’s publish a string to the 
input topic:</p>
+
+<div class="language-bash highlighter-rouge"><div class="highlight"><pre 
class="highlight"><code><span class="nv">$ </span>bin/pulsar-client produce 
persistent://sample/standalone/ns1/forwards <span class="se">\</span>
+  <span class="nt">--num-produce</span> 1 <span class="se">\</span>
+  <span class="nt">--messages</span> <span class="s2">"sdrawrof won si tub 
sdrawkcab saw gnirts sihT"</span>
+</code></pre></div></div>
+
+<p>Now, let’s pull in a message from the output topic:</p>
+
+<div class="language-bash highlighter-rouge"><div class="highlight"><pre 
class="highlight"><code><span class="nv">$ </span>bin/pulsar-client consume 
persistent://sample/standalone/ns1/backwards <span class="se">\</span>
+  <span class="nt">--subscription-name</span> my-subscription <span 
class="se">\</span>
+  <span class="nt">--num-messages</span> 1
+</code></pre></div></div>
+
+<p>You should see the reversed string in the log output:</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre 
class="highlight"><code>----- got message -----
+This string was backwards but is now forwards
+</code></pre></div></div>
+
+<p>Once again, success! We created a brand new Pulsar Function, deployed it in 
our Pulsar standalone cluster, and successfully published to the function’s 
input topic and consumed from its output topic.</p>
+
       </section>
     </article>
 
diff --git a/content/docs/latest/getting-started/Clients/index.html 
b/content/docs/latest/getting-started/Clients/index.html
index 2fde31d..1dc16f9 100644
--- a/content/docs/latest/getting-started/Clients/index.html
+++ b/content/docs/latest/getting-started/Clients/index.html
@@ -321,6 +321,30 @@
     
     
     <div class="card">
+      <div class="card-header" role="tab" id="heading-pulsar-functions">
+        <h5>
+          <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-pulsar-functions" aria-controls="collapse-pulsar-functions">
+            Pulsar Functions
+          </a>
+        </h5>
+      </div>
+
+      <div class="sidebar-group collapse" id="collapse-pulsar-functions" 
role="tabpanel" aria-labelledby="heading-pulsar-functions">
+        <ul>
+          
+          
+          <li>
+            <a href="../../functions/quickstart">
+              Getting started with Pulsar Functions
+            </a>
+          </li>
+          
+        </ul>
+      </div>
+    </div>
+    
+    
+    <div class="card">
       <div class="card-header" role="tab" id="heading-deployment">
         <h5>
           <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-deployment" aria-controls="collapse-deployment">
diff --git 
a/content/docs/latest/getting-started/ConceptsAndArchitecture/index.html 
b/content/docs/latest/getting-started/ConceptsAndArchitecture/index.html
index 9ee4086..7b956ad 100644
--- a/content/docs/latest/getting-started/ConceptsAndArchitecture/index.html
+++ b/content/docs/latest/getting-started/ConceptsAndArchitecture/index.html
@@ -321,6 +321,30 @@
     
     
     <div class="card">
+      <div class="card-header" role="tab" id="heading-pulsar-functions">
+        <h5>
+          <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-pulsar-functions" aria-controls="collapse-pulsar-functions">
+            Pulsar Functions
+          </a>
+        </h5>
+      </div>
+
+      <div class="sidebar-group collapse" id="collapse-pulsar-functions" 
role="tabpanel" aria-labelledby="heading-pulsar-functions">
+        <ul>
+          
+          
+          <li>
+            <a href="../../functions/quickstart">
+              Getting started with Pulsar Functions
+            </a>
+          </li>
+          
+        </ul>
+      </div>
+    </div>
+    
+    
+    <div class="card">
       <div class="card-header" role="tab" id="heading-deployment">
         <h5>
           <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-deployment" aria-controls="collapse-deployment">
diff --git a/content/docs/latest/getting-started/LocalCluster/index.html 
b/content/docs/latest/getting-started/LocalCluster/index.html
index 297d57e..c2a8759 100644
--- a/content/docs/latest/getting-started/LocalCluster/index.html
+++ b/content/docs/latest/getting-started/LocalCluster/index.html
@@ -321,6 +321,30 @@
     
     
     <div class="card">
+      <div class="card-header" role="tab" id="heading-pulsar-functions">
+        <h5>
+          <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-pulsar-functions" aria-controls="collapse-pulsar-functions">
+            Pulsar Functions
+          </a>
+        </h5>
+      </div>
+
+      <div class="sidebar-group collapse" id="collapse-pulsar-functions" 
role="tabpanel" aria-labelledby="heading-pulsar-functions">
+        <ul>
+          
+          
+          <li>
+            <a href="../../functions/quickstart">
+              Getting started with Pulsar Functions
+            </a>
+          </li>
+          
+        </ul>
+      </div>
+    </div>
+    
+    
+    <div class="card">
       <div class="card-header" role="tab" id="heading-deployment">
         <h5>
           <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-deployment" aria-controls="collapse-deployment">
diff --git a/content/docs/latest/getting-started/docker/index.html 
b/content/docs/latest/getting-started/docker/index.html
index a4b3383..83b9cd5 100644
--- a/content/docs/latest/getting-started/docker/index.html
+++ b/content/docs/latest/getting-started/docker/index.html
@@ -321,6 +321,30 @@
     
     
     <div class="card">
+      <div class="card-header" role="tab" id="heading-pulsar-functions">
+        <h5>
+          <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-pulsar-functions" aria-controls="collapse-pulsar-functions">
+            Pulsar Functions
+          </a>
+        </h5>
+      </div>
+
+      <div class="sidebar-group collapse" id="collapse-pulsar-functions" 
role="tabpanel" aria-labelledby="heading-pulsar-functions">
+        <ul>
+          
+          
+          <li>
+            <a href="../../functions/quickstart">
+              Getting started with Pulsar Functions
+            </a>
+          </li>
+          
+        </ul>
+      </div>
+    </div>
+    
+    
+    <div class="card">
       <div class="card-header" role="tab" id="heading-deployment">
         <h5>
           <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-deployment" aria-controls="collapse-deployment">
diff --git a/content/docs/latest/project/BinaryProtocol/index.html 
b/content/docs/latest/project/BinaryProtocol/index.html
index bc37172..b8ed1da 100644
--- a/content/docs/latest/project/BinaryProtocol/index.html
+++ b/content/docs/latest/project/BinaryProtocol/index.html
@@ -321,6 +321,30 @@
     
     
     <div class="card">
+      <div class="card-header" role="tab" id="heading-pulsar-functions">
+        <h5>
+          <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-pulsar-functions" aria-controls="collapse-pulsar-functions">
+            Pulsar Functions
+          </a>
+        </h5>
+      </div>
+
+      <div class="sidebar-group collapse" id="collapse-pulsar-functions" 
role="tabpanel" aria-labelledby="heading-pulsar-functions">
+        <ul>
+          
+          
+          <li>
+            <a href="../../functions/quickstart">
+              Getting started with Pulsar Functions
+            </a>
+          </li>
+          
+        </ul>
+      </div>
+    </div>
+    
+    
+    <div class="card">
       <div class="card-header" role="tab" id="heading-deployment">
         <h5>
           <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-deployment" aria-controls="collapse-deployment">
diff --git a/content/docs/latest/project/Codebase/index.html 
b/content/docs/latest/project/Codebase/index.html
index 21a2869..c7de12e 100644
--- a/content/docs/latest/project/Codebase/index.html
+++ b/content/docs/latest/project/Codebase/index.html
@@ -321,6 +321,30 @@
     
     
     <div class="card">
+      <div class="card-header" role="tab" id="heading-pulsar-functions">
+        <h5>
+          <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-pulsar-functions" aria-controls="collapse-pulsar-functions">
+            Pulsar Functions
+          </a>
+        </h5>
+      </div>
+
+      <div class="sidebar-group collapse" id="collapse-pulsar-functions" 
role="tabpanel" aria-labelledby="heading-pulsar-functions">
+        <ul>
+          
+          
+          <li>
+            <a href="../../functions/quickstart">
+              Getting started with Pulsar Functions
+            </a>
+          </li>
+          
+        </ul>
+      </div>
+    </div>
+    
+    
+    <div class="card">
       <div class="card-header" role="tab" id="heading-deployment">
         <h5>
           <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-deployment" aria-controls="collapse-deployment">
diff --git a/content/docs/latest/project/SimulationTools/index.html 
b/content/docs/latest/project/SimulationTools/index.html
index 04f3648..52995fa 100644
--- a/content/docs/latest/project/SimulationTools/index.html
+++ b/content/docs/latest/project/SimulationTools/index.html
@@ -321,6 +321,30 @@
     
     
     <div class="card">
+      <div class="card-header" role="tab" id="heading-pulsar-functions">
+        <h5>
+          <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-pulsar-functions" aria-controls="collapse-pulsar-functions">
+            Pulsar Functions
+          </a>
+        </h5>
+      </div>
+
+      <div class="sidebar-group collapse" id="collapse-pulsar-functions" 
role="tabpanel" aria-labelledby="heading-pulsar-functions">
+        <ul>
+          
+          
+          <li>
+            <a href="../../functions/quickstart">
+              Getting started with Pulsar Functions
+            </a>
+          </li>
+          
+        </ul>
+      </div>
+    </div>
+    
+    
+    <div class="card">
       <div class="card-header" role="tab" id="heading-deployment">
         <h5>
           <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-deployment" aria-controls="collapse-deployment">
diff --git a/content/docs/latest/reference/CliTools/index.html 
b/content/docs/latest/reference/CliTools/index.html
index af7ad8c..03e94c5 100644
--- a/content/docs/latest/reference/CliTools/index.html
+++ b/content/docs/latest/reference/CliTools/index.html
@@ -321,6 +321,30 @@
     
     
     <div class="card">
+      <div class="card-header" role="tab" id="heading-pulsar-functions">
+        <h5>
+          <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-pulsar-functions" aria-controls="collapse-pulsar-functions">
+            Pulsar Functions
+          </a>
+        </h5>
+      </div>
+
+      <div class="sidebar-group collapse" id="collapse-pulsar-functions" 
role="tabpanel" aria-labelledby="heading-pulsar-functions">
+        <ul>
+          
+          
+          <li>
+            <a href="../../functions/quickstart">
+              Getting started with Pulsar Functions
+            </a>
+          </li>
+          
+        </ul>
+      </div>
+    </div>
+    
+    
+    <div class="card">
       <div class="card-header" role="tab" id="heading-deployment">
         <h5>
           <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-deployment" aria-controls="collapse-deployment">
diff --git a/content/docs/latest/reference/Configuration/index.html 
b/content/docs/latest/reference/Configuration/index.html
index 4249c63..c02bfeb 100644
--- a/content/docs/latest/reference/Configuration/index.html
+++ b/content/docs/latest/reference/Configuration/index.html
@@ -321,6 +321,30 @@
     
     
     <div class="card">
+      <div class="card-header" role="tab" id="heading-pulsar-functions">
+        <h5>
+          <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-pulsar-functions" aria-controls="collapse-pulsar-functions">
+            Pulsar Functions
+          </a>
+        </h5>
+      </div>
+
+      <div class="sidebar-group collapse" id="collapse-pulsar-functions" 
role="tabpanel" aria-labelledby="heading-pulsar-functions">
+        <ul>
+          
+          
+          <li>
+            <a href="../../functions/quickstart">
+              Getting started with Pulsar Functions
+            </a>
+          </li>
+          
+        </ul>
+      </div>
+    </div>
+    
+    
+    <div class="card">
       <div class="card-header" role="tab" id="heading-deployment">
         <h5>
           <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-deployment" aria-controls="collapse-deployment">
diff --git a/content/docs/latest/reference/RestApi/index.html 
b/content/docs/latest/reference/RestApi/index.html
index 086b96a..e4fc5c1 100644
--- a/content/docs/latest/reference/RestApi/index.html
+++ b/content/docs/latest/reference/RestApi/index.html
@@ -320,6 +320,30 @@
     
     
     <div class="card">
+      <div class="card-header" role="tab" id="heading-pulsar-functions">
+        <h5>
+          <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-pulsar-functions" aria-controls="collapse-pulsar-functions">
+            Pulsar Functions
+          </a>
+        </h5>
+      </div>
+
+      <div class="sidebar-group collapse" id="collapse-pulsar-functions" 
role="tabpanel" aria-labelledby="heading-pulsar-functions">
+        <ul>
+          
+          
+          <li>
+            <a href="../../functions/quickstart">
+              Getting started with Pulsar Functions
+            </a>
+          </li>
+          
+        </ul>
+      </div>
+    </div>
+    
+    
+    <div class="card">
       <div class="card-header" role="tab" id="heading-deployment">
         <h5>
           <a data-toggle="collapse" data-parent="#sidebar-accordion" 
href="#collapse-deployment" aria-controls="collapse-deployment">

-- 
To stop receiving notification emails like this one, please contact
[email protected].

Reply via email to