You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@streampipes.apache.org by gi...@apache.org on 2020/05/27 13:51:57 UTC

[incubator-streampipes-website] branch asf-site updated: Automated deployment: Wed May 27 13:51:47 UTC 2020 9a23f4cf063515261301a9159535df8f37959c1a

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

github-bot pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/incubator-streampipes-website.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new dec1f1f  Automated deployment: Wed May 27 13:51:47 UTC 2020 9a23f4cf063515261301a9159535df8f37959c1a
dec1f1f is described below

commit dec1f1fefecffd32259b802c7684889f9f5bde37
Author: wipatrick <wi...@users.noreply.github.com>
AuthorDate: Wed May 27 13:51:47 2020 +0000

    Automated deployment: Wed May 27 13:51:47 UTC 2020 9a23f4cf063515261301a9159535df8f37959c1a
---
 docs/blog/2018/06/14/welcome.html                  |   2 +-
 docs/blog/2018/06/14/welcome/index.html            |   2 +-
 .../06/18/how-to-understand-your-machine-data.html |   2 +-
 .../how-to-understand-your-machine-data/index.html |   2 +-
 docs/blog/2018/09/17/preview-060.html              |   2 +-
 docs/blog/2018/09/17/preview-060/index.html        |   2 +-
 docs/blog/2018/11/24/container-cli.html            |   2 +-
 docs/blog/2018/11/24/container-cli/index.html      |   2 +-
 docs/blog/2019/04/04/release-0610.html             |   2 +-
 docs/blog/2019/04/04/release-0610/index.html       |   2 +-
 docs/blog/2019/05/23/release-0620.html             |   2 +-
 docs/blog/2019/05/23/release-0620/index.html       |   2 +-
 docs/blog/2019/09/05/release-0630.html             |   2 +-
 docs/blog/2019/09/05/release-0630/index.html       |   2 +-
 docs/blog/2019/09/19/release-0640.html             |   2 +-
 docs/blog/2019/09/19/release-0640/index.html       |   2 +-
 docs/blog/2019/11/23/release-0650.html             |   2 +-
 docs/blog/2019/11/23/release-0650/index.html       |   2 +-
 .../2019/11/25/moving-to-the-apache-incubator.html |   2 +-
 .../25/moving-to-the-apache-incubator/index.html   |   2 +-
 docs/blog/2020/01/23/streampipes_on_rpi.html       |   6 +-
 docs/blog/2020/01/23/streampipes_on_rpi/index.html |   6 +-
 docs/blog/2020/05/19/release-0660.html             |   2 +-
 docs/blog/2020/05/19/release-0660/index.html       |   2 +-
 docs/blog/2020/05/27/streampipes_on_k3s.html       | 261 +++++++++++++++++++++
 docs/blog/2020/05/27/streampipes_on_k3s/index.html | 261 +++++++++++++++++++++
 .../{2020-04-14 => 2020-05-27}/deployment.png      | Bin
 .../assets/{2020-04-14 => 2020-05-27}/helm_k3s.png | Bin
 .../blog/assets/{2020-04-14 => 2020-05-27}/k3s.png | Bin
 .../streampi_installation.png                      | Bin
 .../{2020-04-14 => 2020-05-27}/streampipes_k3s.png | Bin
 docs/blog/atom.xml                                 |  20 +-
 docs/blog/feed.xml                                 |  15 +-
 docs/blog/index.html                               |  16 +-
 docs/blog/page2/index.html                         |   8 +-
 docs/sitemap.xml                                   |   1 +
 36 files changed, 596 insertions(+), 42 deletions(-)

diff --git a/docs/blog/2018/06/14/welcome.html b/docs/blog/2018/06/14/welcome.html
index 12d8be8..a9c0a26 100644
--- a/docs/blog/2018/06/14/welcome.html
+++ b/docs/blog/2018/06/14/welcome.html
@@ -9,7 +9,7 @@
             {"zIndex":100}
           )
         });
-        </script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="StreamPipes"/></a><a href="/docs/versions"><h3>0.66.0</h3></a><div class="navigationWrapper navigationSlider"><nav class [...]
+        </script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="StreamPipes"/></a><a href="/docs/versions"><h3>0.66.0</h3></a><div class="navigationWrapper navigationSlider"><nav class [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/docs/blog/2018/06/14/welcome/index.html b/docs/blog/2018/06/14/welcome/index.html
index 12d8be8..a9c0a26 100644
--- a/docs/blog/2018/06/14/welcome/index.html
+++ b/docs/blog/2018/06/14/welcome/index.html
@@ -9,7 +9,7 @@
             {"zIndex":100}
           )
         });
-        </script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="StreamPipes"/></a><a href="/docs/versions"><h3>0.66.0</h3></a><div class="navigationWrapper navigationSlider"><nav class [...]
+        </script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="StreamPipes"/></a><a href="/docs/versions"><h3>0.66.0</h3></a><div class="navigationWrapper navigationSlider"><nav class [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/docs/blog/2018/06/18/how-to-understand-your-machine-data.html b/docs/blog/2018/06/18/how-to-understand-your-machine-data.html
index 8310a68..a743d0d 100644
--- a/docs/blog/2018/06/18/how-to-understand-your-machine-data.html
+++ b/docs/blog/2018/06/18/how-to-understand-your-machine-data.html
@@ -9,7 +9,7 @@
             {"zIndex":100}
           )
         });
-        </script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="StreamPipes"/></a><a href="/docs/versions"><h3>0.66.0</h3></a><div class="navigationWrapper navigationSlider"><nav class [...]
+        </script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="StreamPipes"/></a><a href="/docs/versions"><h3>0.66.0</h3></a><div class="navigationWrapper navigationSlider"><nav class [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/docs/blog/2018/06/18/how-to-understand-your-machine-data/index.html b/docs/blog/2018/06/18/how-to-understand-your-machine-data/index.html
index 8310a68..a743d0d 100644
--- a/docs/blog/2018/06/18/how-to-understand-your-machine-data/index.html
+++ b/docs/blog/2018/06/18/how-to-understand-your-machine-data/index.html
@@ -9,7 +9,7 @@
             {"zIndex":100}
           )
         });
-        </script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="StreamPipes"/></a><a href="/docs/versions"><h3>0.66.0</h3></a><div class="navigationWrapper navigationSlider"><nav class [...]
+        </script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="StreamPipes"/></a><a href="/docs/versions"><h3>0.66.0</h3></a><div class="navigationWrapper navigationSlider"><nav class [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/docs/blog/2018/09/17/preview-060.html b/docs/blog/2018/09/17/preview-060.html
index f9c8273..759f54b 100644
--- a/docs/blog/2018/09/17/preview-060.html
+++ b/docs/blog/2018/09/17/preview-060.html
@@ -9,7 +9,7 @@
             {"zIndex":100}
           )
         });
-        </script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="StreamPipes"/></a><a href="/docs/versions"><h3>0.66.0</h3></a><div class="navigationWrapper navigationSlider"><nav class [...]
+        </script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="StreamPipes"/></a><a href="/docs/versions"><h3>0.66.0</h3></a><div class="navigationWrapper navigationSlider"><nav class [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/docs/blog/2018/09/17/preview-060/index.html b/docs/blog/2018/09/17/preview-060/index.html
index f9c8273..759f54b 100644
--- a/docs/blog/2018/09/17/preview-060/index.html
+++ b/docs/blog/2018/09/17/preview-060/index.html
@@ -9,7 +9,7 @@
             {"zIndex":100}
           )
         });
-        </script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="StreamPipes"/></a><a href="/docs/versions"><h3>0.66.0</h3></a><div class="navigationWrapper navigationSlider"><nav class [...]
+        </script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="StreamPipes"/></a><a href="/docs/versions"><h3>0.66.0</h3></a><div class="navigationWrapper navigationSlider"><nav class [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/docs/blog/2018/11/24/container-cli.html b/docs/blog/2018/11/24/container-cli.html
index 3902b63..8a29bb2 100644
--- a/docs/blog/2018/11/24/container-cli.html
+++ b/docs/blog/2018/11/24/container-cli.html
@@ -9,7 +9,7 @@
             {"zIndex":100}
           )
         });
-        </script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="StreamPipes"/></a><a href="/docs/versions"><h3>0.66.0</h3></a><div class="navigationWrapper navigationSlider"><nav class [...]
+        </script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="StreamPipes"/></a><a href="/docs/versions"><h3>0.66.0</h3></a><div class="navigationWrapper navigationSlider"><nav class [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/docs/blog/2018/11/24/container-cli/index.html b/docs/blog/2018/11/24/container-cli/index.html
index 3902b63..8a29bb2 100644
--- a/docs/blog/2018/11/24/container-cli/index.html
+++ b/docs/blog/2018/11/24/container-cli/index.html
@@ -9,7 +9,7 @@
             {"zIndex":100}
           )
         });
-        </script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="StreamPipes"/></a><a href="/docs/versions"><h3>0.66.0</h3></a><div class="navigationWrapper navigationSlider"><nav class [...]
+        </script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="StreamPipes"/></a><a href="/docs/versions"><h3>0.66.0</h3></a><div class="navigationWrapper navigationSlider"><nav class [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/docs/blog/2019/04/04/release-0610.html b/docs/blog/2019/04/04/release-0610.html
index 553e8b6..6a04f49 100644
--- a/docs/blog/2019/04/04/release-0610.html
+++ b/docs/blog/2019/04/04/release-0610.html
@@ -9,7 +9,7 @@
             {"zIndex":100}
           )
         });
-        </script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="StreamPipes"/></a><a href="/docs/versions"><h3>0.66.0</h3></a><div class="navigationWrapper navigationSlider"><nav class [...]
+        </script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="StreamPipes"/></a><a href="/docs/versions"><h3>0.66.0</h3></a><div class="navigationWrapper navigationSlider"><nav class [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/docs/blog/2019/04/04/release-0610/index.html b/docs/blog/2019/04/04/release-0610/index.html
index 553e8b6..6a04f49 100644
--- a/docs/blog/2019/04/04/release-0610/index.html
+++ b/docs/blog/2019/04/04/release-0610/index.html
@@ -9,7 +9,7 @@
             {"zIndex":100}
           )
         });
-        </script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="StreamPipes"/></a><a href="/docs/versions"><h3>0.66.0</h3></a><div class="navigationWrapper navigationSlider"><nav class [...]
+        </script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="StreamPipes"/></a><a href="/docs/versions"><h3>0.66.0</h3></a><div class="navigationWrapper navigationSlider"><nav class [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/docs/blog/2019/05/23/release-0620.html b/docs/blog/2019/05/23/release-0620.html
index 90aec2e..72c658f 100644
--- a/docs/blog/2019/05/23/release-0620.html
+++ b/docs/blog/2019/05/23/release-0620.html
@@ -9,7 +9,7 @@
             {"zIndex":100}
           )
         });
-        </script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="StreamPipes"/></a><a href="/docs/versions"><h3>0.66.0</h3></a><div class="navigationWrapper navigationSlider"><nav class [...]
+        </script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="StreamPipes"/></a><a href="/docs/versions"><h3>0.66.0</h3></a><div class="navigationWrapper navigationSlider"><nav class [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/docs/blog/2019/05/23/release-0620/index.html b/docs/blog/2019/05/23/release-0620/index.html
index 90aec2e..72c658f 100644
--- a/docs/blog/2019/05/23/release-0620/index.html
+++ b/docs/blog/2019/05/23/release-0620/index.html
@@ -9,7 +9,7 @@
             {"zIndex":100}
           )
         });
-        </script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="StreamPipes"/></a><a href="/docs/versions"><h3>0.66.0</h3></a><div class="navigationWrapper navigationSlider"><nav class [...]
+        </script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="StreamPipes"/></a><a href="/docs/versions"><h3>0.66.0</h3></a><div class="navigationWrapper navigationSlider"><nav class [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/docs/blog/2019/09/05/release-0630.html b/docs/blog/2019/09/05/release-0630.html
index 216c196..edda978 100644
--- a/docs/blog/2019/09/05/release-0630.html
+++ b/docs/blog/2019/09/05/release-0630.html
@@ -9,7 +9,7 @@
             {"zIndex":100}
           )
         });
-        </script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="StreamPipes"/></a><a href="/docs/versions"><h3>0.66.0</h3></a><div class="navigationWrapper navigationSlider"><nav class [...]
+        </script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="StreamPipes"/></a><a href="/docs/versions"><h3>0.66.0</h3></a><div class="navigationWrapper navigationSlider"><nav class [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/docs/blog/2019/09/05/release-0630/index.html b/docs/blog/2019/09/05/release-0630/index.html
index 216c196..edda978 100644
--- a/docs/blog/2019/09/05/release-0630/index.html
+++ b/docs/blog/2019/09/05/release-0630/index.html
@@ -9,7 +9,7 @@
             {"zIndex":100}
           )
         });
-        </script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="StreamPipes"/></a><a href="/docs/versions"><h3>0.66.0</h3></a><div class="navigationWrapper navigationSlider"><nav class [...]
+        </script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="StreamPipes"/></a><a href="/docs/versions"><h3>0.66.0</h3></a><div class="navigationWrapper navigationSlider"><nav class [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/docs/blog/2019/09/19/release-0640.html b/docs/blog/2019/09/19/release-0640.html
index b71d064..89baa26 100644
--- a/docs/blog/2019/09/19/release-0640.html
+++ b/docs/blog/2019/09/19/release-0640.html
@@ -9,7 +9,7 @@
             {"zIndex":100}
           )
         });
-        </script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="StreamPipes"/></a><a href="/docs/versions"><h3>0.66.0</h3></a><div class="navigationWrapper navigationSlider"><nav class [...]
+        </script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="StreamPipes"/></a><a href="/docs/versions"><h3>0.66.0</h3></a><div class="navigationWrapper navigationSlider"><nav class [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/docs/blog/2019/09/19/release-0640/index.html b/docs/blog/2019/09/19/release-0640/index.html
index b71d064..89baa26 100644
--- a/docs/blog/2019/09/19/release-0640/index.html
+++ b/docs/blog/2019/09/19/release-0640/index.html
@@ -9,7 +9,7 @@
             {"zIndex":100}
           )
         });
-        </script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="StreamPipes"/></a><a href="/docs/versions"><h3>0.66.0</h3></a><div class="navigationWrapper navigationSlider"><nav class [...]
+        </script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="StreamPipes"/></a><a href="/docs/versions"><h3>0.66.0</h3></a><div class="navigationWrapper navigationSlider"><nav class [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/docs/blog/2019/11/23/release-0650.html b/docs/blog/2019/11/23/release-0650.html
index 7ea64b7..f262237 100644
--- a/docs/blog/2019/11/23/release-0650.html
+++ b/docs/blog/2019/11/23/release-0650.html
@@ -9,7 +9,7 @@
             {"zIndex":100}
           )
         });
-        </script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="StreamPipes"/></a><a href="/docs/versions"><h3>0.66.0</h3></a><div class="navigationWrapper navigationSlider"><nav class [...]
+        </script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="StreamPipes"/></a><a href="/docs/versions"><h3>0.66.0</h3></a><div class="navigationWrapper navigationSlider"><nav class [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/docs/blog/2019/11/23/release-0650/index.html b/docs/blog/2019/11/23/release-0650/index.html
index 7ea64b7..f262237 100644
--- a/docs/blog/2019/11/23/release-0650/index.html
+++ b/docs/blog/2019/11/23/release-0650/index.html
@@ -9,7 +9,7 @@
             {"zIndex":100}
           )
         });
-        </script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="StreamPipes"/></a><a href="/docs/versions"><h3>0.66.0</h3></a><div class="navigationWrapper navigationSlider"><nav class [...]
+        </script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="StreamPipes"/></a><a href="/docs/versions"><h3>0.66.0</h3></a><div class="navigationWrapper navigationSlider"><nav class [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/docs/blog/2019/11/25/moving-to-the-apache-incubator.html b/docs/blog/2019/11/25/moving-to-the-apache-incubator.html
index c99fe46..79bc86d 100644
--- a/docs/blog/2019/11/25/moving-to-the-apache-incubator.html
+++ b/docs/blog/2019/11/25/moving-to-the-apache-incubator.html
@@ -9,7 +9,7 @@
             {"zIndex":100}
           )
         });
-        </script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="StreamPipes"/></a><a href="/docs/versions"><h3>0.66.0</h3></a><div class="navigationWrapper navigationSlider"><nav class [...]
+        </script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="StreamPipes"/></a><a href="/docs/versions"><h3>0.66.0</h3></a><div class="navigationWrapper navigationSlider"><nav class [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/docs/blog/2019/11/25/moving-to-the-apache-incubator/index.html b/docs/blog/2019/11/25/moving-to-the-apache-incubator/index.html
index c99fe46..79bc86d 100644
--- a/docs/blog/2019/11/25/moving-to-the-apache-incubator/index.html
+++ b/docs/blog/2019/11/25/moving-to-the-apache-incubator/index.html
@@ -9,7 +9,7 @@
             {"zIndex":100}
           )
         });
-        </script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="StreamPipes"/></a><a href="/docs/versions"><h3>0.66.0</h3></a><div class="navigationWrapper navigationSlider"><nav class [...]
+        </script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="StreamPipes"/></a><a href="/docs/versions"><h3>0.66.0</h3></a><div class="navigationWrapper navigationSlider"><nav class [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/docs/blog/2020/01/23/streampipes_on_rpi.html b/docs/blog/2020/01/23/streampipes_on_rpi.html
index e84978a..a1c146b 100644
--- a/docs/blog/2020/01/23/streampipes_on_rpi.html
+++ b/docs/blog/2020/01/23/streampipes_on_rpi.html
@@ -9,7 +9,7 @@
             {"zIndex":100}
           )
         });
-        </script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="StreamPipes"/></a><a href="/docs/versions"><h3>0.66.0</h3></a><div class="navigationWrapper navigationSlider"><nav class [...]
+        </script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="StreamPipes"/></a><a href="/docs/versions"><h3>0.66.0</h3></a><div class="navigationWrapper navigationSlider"><nav class [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -62,7 +62,7 @@
         </script></nav></div><div class="container mainContainer postContainer blogContainer"><div class="wrapper"><div class="lonePost"><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/docs/blog/2020/01/23/streampipes_on_rpi">StreamPi(pes) - Running StreamPipes on Raspberry Pi</a></h1><p class="post-meta">January 23, 2020</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/patrickwiener" target="_blank" rel="noreferrer no [...]
 <strong><div style="float: left; padding-right: 40px;">5 minutes to read</div></strong>
 <br></p>
-<p>This is the start of a two part series on how we want to bring StreamPipes closer to the edge. The <a href="/docs/blog/2020/01/23/streampipes_on_rpi">first part</a> describes how we managed to build and deploy StreamPipes on one Raspberry Pi (Model 4), while the <a href="/docs/blog/2020/04/14/streampipes_on_k3s">second part</a> further covers how to deploy StreamPipes over a Kubernetes cluster of two Raspberry Pi's via K3s using our StreamPipes helm chart.</p>
+<p>This is the start of a two part series on how we want to bring StreamPipes closer to the edge. The <a href="/docs/blog/2020/01/23/streampipes_on_rpi">first part</a> describes how we managed to build and deploy StreamPipes on one Raspberry Pi (Model 4), while the <a href="/docs/blog/2020/05/27/streampipes_on_k3s">second part</a> further covers how to deploy StreamPipes over a Kubernetes cluster of two Raspberry Pi's via K3s using our StreamPipes helm chart.</p>
 <!--truncate-->
 <p>&lt;TL;DR&gt;</p>
 <p><em>With new advancements that came in the last StreamPipes release, we managed to reduce the required resources (mainly memory) drastically. To this extent, we cross-compiled StreamPipes Docker images for ARM support and deployed our lite version on a Raspberry Pi (Model 4). We showcase, that it is feasible to run analytical pipelines with ease and operate StreamPipes at moderate load.</em></p>
@@ -87,7 +87,7 @@
 <p>Starting out as a simple hack session on a late afternoon, trying to test where we could potentially run StreamPipes on and push it to it's limits, we gained valueable insights on how to build and run it on various architectures. Even though we do not recommend deploying StreamPipes in it's full glory on single low-resourced devices such as Raspberry Pi's, we aim to bring certain algorithms closer to where data is generated - on the edge. Consequently - apart from x86 images - we plan [...]
 <ul>
 <li><strong><a href="/docs/blog/2020/01/23/streampipes_on_rpi">Part 1: StreamPi(pes) - Running StreamPipes on Raspberry Pi</a></strong></li>
-<li><a href="/docs/blog/2020/04/14/streampipes_on_k3s">Part 2: Running StreamPipes the Kubernetes-Way using K3s</a></li>
+<li><a href="/docs/blog/2020/05/27/streampipes_on_k3s">Part 2: Running StreamPipes the Kubernetes-Way using K3s</a></li>
 </ul>
 <h3><a class="anchor" aria-hidden="true" id="useful-links"></a><a href="#useful-links" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <ul>
diff --git a/docs/blog/2020/01/23/streampipes_on_rpi/index.html b/docs/blog/2020/01/23/streampipes_on_rpi/index.html
index e84978a..a1c146b 100644
--- a/docs/blog/2020/01/23/streampipes_on_rpi/index.html
+++ b/docs/blog/2020/01/23/streampipes_on_rpi/index.html
@@ -9,7 +9,7 @@
             {"zIndex":100}
           )
         });
-        </script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="StreamPipes"/></a><a href="/docs/versions"><h3>0.66.0</h3></a><div class="navigationWrapper navigationSlider"><nav class [...]
+        </script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="StreamPipes"/></a><a href="/docs/versions"><h3>0.66.0</h3></a><div class="navigationWrapper navigationSlider"><nav class [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -62,7 +62,7 @@
         </script></nav></div><div class="container mainContainer postContainer blogContainer"><div class="wrapper"><div class="lonePost"><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/docs/blog/2020/01/23/streampipes_on_rpi">StreamPi(pes) - Running StreamPipes on Raspberry Pi</a></h1><p class="post-meta">January 23, 2020</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/patrickwiener" target="_blank" rel="noreferrer no [...]
 <strong><div style="float: left; padding-right: 40px;">5 minutes to read</div></strong>
 <br></p>
-<p>This is the start of a two part series on how we want to bring StreamPipes closer to the edge. The <a href="/docs/blog/2020/01/23/streampipes_on_rpi">first part</a> describes how we managed to build and deploy StreamPipes on one Raspberry Pi (Model 4), while the <a href="/docs/blog/2020/04/14/streampipes_on_k3s">second part</a> further covers how to deploy StreamPipes over a Kubernetes cluster of two Raspberry Pi's via K3s using our StreamPipes helm chart.</p>
+<p>This is the start of a two part series on how we want to bring StreamPipes closer to the edge. The <a href="/docs/blog/2020/01/23/streampipes_on_rpi">first part</a> describes how we managed to build and deploy StreamPipes on one Raspberry Pi (Model 4), while the <a href="/docs/blog/2020/05/27/streampipes_on_k3s">second part</a> further covers how to deploy StreamPipes over a Kubernetes cluster of two Raspberry Pi's via K3s using our StreamPipes helm chart.</p>
 <!--truncate-->
 <p>&lt;TL;DR&gt;</p>
 <p><em>With new advancements that came in the last StreamPipes release, we managed to reduce the required resources (mainly memory) drastically. To this extent, we cross-compiled StreamPipes Docker images for ARM support and deployed our lite version on a Raspberry Pi (Model 4). We showcase, that it is feasible to run analytical pipelines with ease and operate StreamPipes at moderate load.</em></p>
@@ -87,7 +87,7 @@
 <p>Starting out as a simple hack session on a late afternoon, trying to test where we could potentially run StreamPipes on and push it to it's limits, we gained valueable insights on how to build and run it on various architectures. Even though we do not recommend deploying StreamPipes in it's full glory on single low-resourced devices such as Raspberry Pi's, we aim to bring certain algorithms closer to where data is generated - on the edge. Consequently - apart from x86 images - we plan [...]
 <ul>
 <li><strong><a href="/docs/blog/2020/01/23/streampipes_on_rpi">Part 1: StreamPi(pes) - Running StreamPipes on Raspberry Pi</a></strong></li>
-<li><a href="/docs/blog/2020/04/14/streampipes_on_k3s">Part 2: Running StreamPipes the Kubernetes-Way using K3s</a></li>
+<li><a href="/docs/blog/2020/05/27/streampipes_on_k3s">Part 2: Running StreamPipes the Kubernetes-Way using K3s</a></li>
 </ul>
 <h3><a class="anchor" aria-hidden="true" id="useful-links"></a><a href="#useful-links" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <ul>
diff --git a/docs/blog/2020/05/19/release-0660.html b/docs/blog/2020/05/19/release-0660.html
index 8057526..4b3e43d 100644
--- a/docs/blog/2020/05/19/release-0660.html
+++ b/docs/blog/2020/05/19/release-0660.html
@@ -9,7 +9,7 @@
             {"zIndex":100}
           )
         });
-        </script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="StreamPipes"/></a><a href="/docs/versions"><h3>0.66.0</h3></a><div class="navigationWrapper navigationSlider"><nav class [...]
+        </script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="StreamPipes"/></a><a href="/docs/versions"><h3>0.66.0</h3></a><div class="navigationWrapper navigationSlider"><nav class [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/docs/blog/2020/05/19/release-0660/index.html b/docs/blog/2020/05/19/release-0660/index.html
index 8057526..4b3e43d 100644
--- a/docs/blog/2020/05/19/release-0660/index.html
+++ b/docs/blog/2020/05/19/release-0660/index.html
@@ -9,7 +9,7 @@
             {"zIndex":100}
           )
         });
-        </script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="StreamPipes"/></a><a href="/docs/versions"><h3>0.66.0</h3></a><div class="navigationWrapper navigationSlider"><nav class [...]
+        </script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="StreamPipes"/></a><a href="/docs/versions"><h3>0.66.0</h3></a><div class="navigationWrapper navigationSlider"><nav class [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/docs/blog/2020/05/27/streampipes_on_k3s.html b/docs/blog/2020/05/27/streampipes_on_k3s.html
new file mode 100644
index 0000000..b92d439
--- /dev/null
+++ b/docs/blog/2020/05/27/streampipes_on_k3s.html
@@ -0,0 +1,261 @@
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Running StreamPipes the Kubernetes-Way using k3s · StreamPipes</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;img class=&quot;blog-image&quot; style=&quot;max-width:100%;&quot; src=&quot;/docs/blog/assets/2020-05-27/streampipes_k3s.png&quot; alt=&quot;StreamPipes on k3s&quot; [...]
+              window.dataLayer = window.dataLayer || [];
+              function gtag(){dataLayer.push(arguments); }
+              gtag('js', new Date());
+              gtag('config', 'UA-154181944-1');
+            </script><link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons"/><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.9.0/slick.min.css"/><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.9.0/slick-theme.min.css"/><link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto"/><link rel="stylesheet" href="/docs/css/admonition.css"/><link rel="stylesheet" href="/docs [...]
+        document.addEventListener('DOMContentLoaded', function() {
+          addBackToTop(
+            {"zIndex":100}
+          )
+        });
+        </script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="StreamPipes"/></a><a href="/docs/versions"><h3>0.66.0</h3></a><div class="navigationWrapper navigationSlider"><nav class [...]
+            var coll = document.getElementsByClassName('collapsible');
+            var checkActiveCategory = true;
+            for (var i = 0; i < coll.length; i++) {
+              var links = coll[i].nextElementSibling.getElementsByTagName('*');
+              if (checkActiveCategory){
+                for (var j = 0; j < links.length; j++) {
+                  if (links[j].classList.contains('navListItemActive')){
+                    coll[i].nextElementSibling.classList.toggle('hide');
+                    coll[i].childNodes[1].classList.toggle('rotate');
+                    checkActiveCategory = false;
+                    break;
+                  }
+                }
+              }
+
+              coll[i].addEventListener('click', function() {
+                var arrow = this.childNodes[1];
+                arrow.classList.toggle('rotate');
+                var content = this.nextElementSibling;
+                content.classList.toggle('hide');
+              });
+            }
+
+            document.addEventListener('DOMContentLoaded', function() {
+              createToggler('#navToggler', '#docsNav', 'docsSliderActive');
+              createToggler('#tocToggler', 'body', 'tocActive');
+
+              const headings = document.querySelector('.toc-headings');
+              headings && headings.addEventListener('click', function(event) {
+                if (event.target.tagName === 'A') {
+                  document.body.classList.remove('tocActive');
+                }
+              }, false);
+
+              function createToggler(togglerSelector, targetSelector, className) {
+                var toggler = document.querySelector(togglerSelector);
+                var target = document.querySelector(targetSelector);
+
+                if (!toggler) {
+                  return;
+                }
+
+                toggler.onclick = function(event) {
+                  event.preventDefault();
+
+                  target.classList.toggle(className);
+                };
+              }
+            });
+        </script></nav></div><div class="container mainContainer postContainer blogContainer"><div class="wrapper"><div class="lonePost"><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/docs/blog/2020/05/27/streampipes_on_k3s">Running StreamPipes the Kubernetes-Way using k3s</a></h1><p class="post-meta">May 27, 2020</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/patrickwiener" target="_blank" rel="noreferrer noopener" [...]
+<strong><div style="float: left; padding-right: 40px;">15 minutes to read</div></strong>
+<br></p>
+<p>This blog post is the second part of a series on how we want to bring StreamPipes closer to the edge. The <a href="/docs/blog/2020/01/23/streampipes_on_rpi">first part</a> describes how we managed to build and deploy StreamPipes on one Raspberry Pi (Model 4), while the <a href="/docs/blog/2020/05/27/streampipes_on_k3s">second part</a> further covers how to deploy StreamPipes over a Kubernetes cluster of two Raspberry Pi's via k3s using our StreamPipes helm chart.</p>
+<!--truncate-->
+<p><strong>&lt;TL;DR&gt;</strong></p>
+<p><strong>With new advancements that came in the last StreamPipes release, we managed to reduce the required resources (mainly memory) drastically. To this extent, we cross-compiled StreamPipes Docker images for ARM support and deployed our lite version on a Raspberry Pi (Model 4). We showcase, that it is feasible to run analytical pipelines with ease and operate StreamPipes at moderate load. Additionally, we demonstrate how to deploy StreamPipes over a two-node k3s cluster using our St [...]
+<p><img class="blog-image" style="max-width:80%;" src="/docs/blog/assets/2020-05-27/k3s.png" alt="K3s"></p>
+<h2><a class="anchor" aria-hidden="true" id="introduction"></a><a href="#introduction" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
+<p>While it is easy to get started with StreamPipes in no time using our single-node deployment <a href="/docs/docs/user-guide-installation">instructions</a> using Docker and Docker-Compose, StreamPipes naturally is designed to run in a distributed cluster setup through its microservice architecture.</p>
+<p>This architectural design paired with the advancements of multi-architecture StreamPipes images as described in the previous blog post allows us to run certain analytical pipeline element containers with ease on various target nodes as well as target hardware architecture wether it is X86, ARM32v7, or ARM64v8. This becomes more valuable, as we shift the focus away from centralized cloud or data center only deployments where we generally are provided with a homogenous compute landscape [...]
+<p>Thereby, having multi-architecture images in your repertoire is key to deal with the challenge of heterogeneity in compute resources along the edge-cloud continuum. However, there are other challenges that occur when dealing with distributed container deployments such as automating deployments itself, scaling them, managing the containerized applications, taking care of networking between services, or realizing fault-tolerance by comparing the desired state against the current one. If [...]
+<h2><a class="anchor" aria-hidden="true" id="well-which-k-to-use-kubernetes-k3s"></a><a href="#well-which-k-to-use-kubernetes-k3s" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5 [...]
+<p>Fortunately, there exists a few solutions in the container ecosystem with the open source container orchestrator <a href="https://kubernetes.io">Kubernetes</a> (K8s) being the defacto standard, thereby incorporating the best ideas of Google's internal large-scale container cluster management system <a href="https://kubernetes.io/blog/2015/04/borg-predecessor-to-kubernetes/">Borg</a> (see academic paper about the details published at <a href="https://research.google/pubs/pub43438/">Eur [...]
+<p>On the other hand, there exists <a href="https://k3s.io/">K3s</a>, a lightweight Kubernetes distro by Rancher that was introduced early 2019 and has since then gained huge popularity. As it is stated on their website:</p>
+<ul>
+<li><strong>Perfect for Edge</strong>: <em>K3s is a highly available, certified Kubernetes distribution designed for production workloads in unattended, resource-constrained, remote locations or inside IoT appliances</em></li>
+<li><strong>Simplified &amp; Secure</strong>: <em>K3s is packaged as a single &lt;40MB binary that reduces the dependencies and steps needed to install, run and auto-update a production Kubernetes cluster.</em></li>
+<li><strong>Optimized for ARM</strong>: <em>Both ARM64 and ARMv7 are supported with binaries and multiarch images available for both. K3s works great from something as small as a Raspberry Pi to an AWS a1.4xlarge 32GiB server.</em></li>
+</ul>
+<p>Thus, this lead us to the point to say, hey why not use K3s to manage StreamPipes in all its glory. The containerized microservice design in addition to the newly available multiarch images are a great fit.</p>
+<h2><a class="anchor" aria-hidden="true" id="streampipes-helm-chart"></a><a href="#streampipes-helm-chart" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0 [...]
+<p>While you can easily write an deploy K8s YAML-based manifests for your deployments and services and so on the standard way, it is way more convenient to leverage  <a href="https://helm.sh/">Helm</a>, the package manager for K8s. Helm describes complex, distributed deployments using <strong>charts</strong> in order to provide repeatable application installation, easy updates, rollbacks etc.</p>
+<p>To this extent, we wrote a Helm chart for StreamPipes that can be found on our Github <a href="https://github.com/apache/incubator-streampipes-installer/tree/dev/helm-chart">incubator-streampipes-installer</a> repository. This allows to deploy StreamPipes as one liner as shown later. Helm charts follow a certain directory structure as depicted in the following:</p>
+<pre><code class="hljs">helm-chart/
+  <span class="hljs-module-access"><span class="hljs-module"><span class="hljs-identifier">Chart</span>.</span></span>yaml
+  values.yaml
+  templates/<span class="hljs-operator">
+  ...
+</span></code></pre>
+<p>The <code>Chart.yaml</code> file contains a description of the chart, e.g., metadata such as chart name, version, maintainers etc.</p>
+<p>The <code>values.yaml</code> file contains default values for all charts and in our case serves the purpose to provide a central place to store all variable/values, e.g., <code>streampipes.registry: &quot;apachestreampipes&quot;</code>, that replace chart templates such as the registry and version of the StreamPipes backend image:</p>
+<pre><code class="hljs css language-yaml"><span class="hljs-string">...</span>
+<span class="hljs-attr">image:</span> <span class="hljs-string">{{</span> <span class="hljs-string">.Values.streampipes.registry</span> <span class="hljs-string">}}/backend:{{</span> <span class="hljs-string">.Values.streampipes.version</span> <span class="hljs-string">}}</span>
+<span class="hljs-string">...</span>
+</code></pre>
+<p>Lastly, the <code>template/</code> directory is for template files. When Helm evaluates a chart, it sends all of the files in this directory through the template rendering engine before collecting the results and finally forwarding them to K8s. If interested, you can read more on this in the <a href="https://helm.sh/docs/">official Helm documentation</a>.</p>
+<h2><a class="anchor" aria-hidden="true" id="the-almighty-streampi-k3s-cluster"></a><a href="#the-almighty-streampi-k3s-cluster" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S1 [...]
+<p>As pointed out in the first part of the series, we have gained valueable insights on how to run and deploy StreamPipes on a Raspberry Pi. This worked out so greatly, that we thought, why not step up the game, use another Pi and built the <strong>almighty StreamPi cluster</strong> by leveraging K3s for orchestration and management.</p>
+<p><strong>Note</strong>: We are aware that this is far off from a production-grade setup, especially running StreamPipes core services such as the central pipeline management backend, or the UI in a two-node cluster. However, it provides a solid starting point for more elaborate deployments along the edge-cloud continuum.</p>
+<p>As shown in the following figure, starting from the multiarch images hosted on <a href="https://hub.docker.com/search?q=apachestreampipes&amp;type=image">Dockerhub</a>, we first provisioned the two Pi's with Docker, install and setup K3s and finally deploy our StreamPipes helm chart in order for users to connect, analyze and exploit their IIoT data with StreamPipes.</p>
+<p><img class="blog-image" style="max-width:100%;" src="/docs/blog/assets/2020-05-27/deployment.png" alt="Deployment"></p>
+<p>In the remainder, we cover how we installed Helm and K3s to form our almighty StreamPi K3s cluster. At the time of writing, we tested our deployment using the latest version of the Docker, Helm as well as K3s in the following setup</p>
+<ul>
+<li>2x Raspberry Pi Model 4 (4GiB RAM): <code>streampi-01</code>, <code>streampi-02</code></li>
+<li>Raspbian Buster 10</li>
+<li>Docker 19.03.8</li>
+<li>Helm 3.1.2</li>
+<li>K3s v1.17.4+k3s1</li>
+</ul>
+<h3><a class="anchor" aria-hidden="true" id="1-install-docker"></a><a href="#1-install-docker" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
+<p>SSH into your Raspberry Pi's and run the following command:</p>
+<pre><code class="hljs css language-bash">curl -sSL https://get.docker.com | sh
+</code></pre>
+<h3><a class="anchor" aria-hidden="true" id="2-install-k3s"></a><a href="#2-install-k3s" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
+<p>Now that we got Helm installed, we can proceed and install K3s. Thus, we must check wether we fulfill all the requirements. These are mainly network related, such that specific ports (server on <code>6443</code>) are accessible. You should carefully read about this in their <a href="https://rancher.com/docs/k3s/latest/en/installation/installation-requirements/">official documentation</a>.</p>
+<p>Other than that, lean back and enjoy - the installation happens so fast, you might miss it if you get a coffee :)</p>
+<h4><a class="anchor" aria-hidden="true" id="ssh-into-k3s-server-streampi-01"></a><a href="#ssh-into-k3s-server-streampi-01" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 [...]
+<p>On the server node, run the following command:</p>
+<pre><code class="hljs css language-bash">sudo curl -sfL https://get.k3s.io | sh -
+</code></pre>
+<p>A kubeconfig file is written to <code>/etc/rancher/k3s/k3s.yaml</code> and the service is automatically started or restarted. The install script will install k3s and additional utilities, such as <code>kubectl</code>, <code>crictl</code>, <code>k3s-killall.sh</code>, and <code>k3s-uninstall.sh</code>.</p>
+<p>The K3s installer creates a systemd service which can be used to <code>stop</code>, <code>start</code>, <code>restart</code> and check the <code>status</code> of the K3s server.</p>
+<pre><code class="hljs css language-bash">sudo systemctl status k3s.service
+
+● k3s.service - Lightweight Kubernetes
+   Loaded: loaded (/etc/systemd/system/k3s.service; enabled; vendor preset: enabled)
+   Active: active (running) since Sat 2020-04-11 15:54:07 BST; 3 days ago
+     Docs: https://k3s.io
+  Process: 10193 ExecStartPre=/sbin/modprobe br_netfilter (code=exited, status=0/SUCCESS)
+  Process: 10194 ExecStartPre=/sbin/modprobe overlay (code=exited, status=0/SUCCESS)
+ Main PID: 10195 (k3s-server)
+ (...)
+</code></pre>
+<p>Next, copy the server node token in order to connect additional agent nodes to the cluster.</p>
+<pre><code class="hljs css language-bash">sudo cat /var/lib/rancher/k3s/server/node-token
+</code></pre>
+<h4><a class="anchor" aria-hidden="true" id="ssh-into-k3s-agent-streampi-02"></a><a href="#ssh-into-k3s-agent-streampi-02" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 1 [...]
+<p>Now, open a new terminal session and SSH into your agent and run the following command, thereby adding the copied <code>K3S_TOKEN</code> to connect to the server, that is specified using <code>K3S_URL</code>.</p>
+<pre><code class="hljs css language-bash">sudo curl -sfL https://get.k3s.io | K3S_URL=https://streampi-01:6443 \
+K3S_TOKEN=&lt;NODE_TOKEN&gt; sh -
+</code></pre>
+<p>The K3s installer creates a systemd service which can be used to <code>stop</code>, <code>start</code>, <code>restart</code> and check the <code>status</code> of the K3s agent.</p>
+<pre><code class="hljs css language-bash">sudo systemctl status k3s-agent.service
+
+● k3s-agent.service - Lightweight Kubernetes
+   Loaded: loaded (/etc/systemd/system/k3s-agent.service; enabled; vendor preset: enabled)
+   Active: active (running) since Sat 2020-04-11 16:05:37 BST; 3 days ago
+     Docs: https://k3s.io
+  Process: 24469 ExecStartPre=/sbin/modprobe br_netfilter (code=exited, status=0/SUCCESS)
+  Process: 24470 ExecStartPre=/sbin/modprobe overlay (code=exited, status=0/SUCCESS)
+ Main PID: 24471 (k3s-agent)
+ (...)
+</code></pre>
+<p>That's it ... that's all!</p>
+<p>When you go back to the terminal session on the K3s server you can list all nodes in the cluster using standard <code>kubectl</code> commands.</p>
+<pre><code class="hljs css language-bash">kubectl get nodes
+NAME              STATUS   ROLES    AGE   VERSION
+streampi-02   Ready    &lt;none&gt;   3d    v1.17.4+k3s1
+streampi-01   Ready    master   3d    v1.17.4+k3s1
+</code></pre>
+<p>Hmmm - but wait. We did only add one agent node to the cluster right? Well, that's true, however when installing K3s using the script the server automatically installs and runs an agent on the same node.</p>
+<h3><a class="anchor" aria-hidden="true" id="3-install-helm"></a><a href="#3-install-helm" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
+<p>SSH into the RPi that should act as the K3s server later on - in our case this is <code>streampi-01</code> and install Helm. Since we are using Helm 3 there is no need to install tiller. Thus, installing helm is as simple as running the following command:</p>
+<pre><code class="hljs css language-bash">curl -sSL https://get.helm.sh/helm-v3.1.2-linux-arm.tar.gz | sudo tar -xzf - -C /usr/<span class="hljs-built_in">local</span>/bin/ linux-arm/helm --strip-components=1
+</code></pre>
+<p>This command downloads the Helm binary release from Github, extracts only the binary and puts it in <code>/usr/local/bin</code>. Try go check <code>helm version</code> to see if it worked.</p>
+<pre><code class="hljs css language-bash">version.BuildInfo{Version:<span class="hljs-string">"v3.1.2"</span>, GitCommit:<span class="hljs-string">"d878d4d45863e42fd5cff6743294a11d28a9abce"</span>, GitTreeState:<span class="hljs-string">"clean"</span>, GoVersion:<span class="hljs-string">"go1.13.8"</span>}
+</code></pre>
+<p>To use Helm, we can set and export <code>KUBECONFIG</code> environment variable to point to the kubeconfig under <code>/etc/rancher/k3s/k3s.yaml</code>.</p>
+<pre><code class="hljs css language-bash"><span class="hljs-built_in">export</span> KUBECONFIG=/etc/rancher/k3s/k3s.yaml
+</code></pre>
+<p>Alternatively, if you want this permanently you can either add it to your <code>.bashrc</code>/<code>.zshrc</code>, or create a <code>.kube</code> directory in your home directory and symlink the <code>k3s.yaml</code>.</p>
+<pre><code class="hljs css language-bash">mkdir <span class="hljs-variable">$HOME</span>/.kube
+ln -s /etc/rancher/k3s/k3s.yaml <span class="hljs-variable">$HOME</span>/.kube/config
+</code></pre>
+<h2><a class="anchor" aria-hidden="true" id="deploy-streampipes-on-k3s-using-helm"></a><a href="#deploy-streampipes-on-k3s-using-helm" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 [...]
+<p>Now, that we have all set up, we can go ahead and deploy StreamPipes using our Helm chart. Therefore, we go to the server node (<code>streampi-01</code>), where we installed Helm. Next, we clone our StreamPipes installer repository (<code>dev</code> branch) and navigate to the helm-chart directory.</p>
+<p><strong>Note</strong>: At the point of writing, the helm chart is <strong>only</strong> available in the <code>dev</code> branch. This will change in the future as we update the repository.</p>
+<pre><code class="hljs css language-bash">git <span class="hljs-built_in">clone</span> -b dev --single-branch https://github.com/apache/incubator-streampipes-installer.git
+<span class="hljs-built_in">cd</span> incubator-streampipes-installer
+</code></pre>
+<p>At this point, we can leverage Helm's <code>install</code> command in order to install the StreamPipes Helm chart. Since Helm reads the K3s kubeconfig, it forwards the deployment request to K3s. As per default, we deploy StreamPipes <code>lite</code> version, where we only start standalone Java-based pipeline elements and disregard the ones building on top of our Flink wrapper.</p>
+<pre><code class="hljs css language-bash">helm install streampipes helm-chart
+
+NAME: streampipes
+LAST DEPLOYED: Tue Apr 14 18:13:19 2020
+NAMESPACE: default
+STATUS: deployed
+REVISION: 1
+TEST SUITE: None
+</code></pre>
+<p>Next, K3s receives this requests and goes ahead and downloads the corresponding Docker images and starts the deployments in the right order according to the specified dependencies, creates services as well as persistent volume claims when needed. This step takes some time depending on your internet connection and the hardware when starting the containers. You can check the status of the StreamPipes Helm installation using <code>kubectl get pods -o wide</code> (when adding <code>-w</co [...]
+<pre><code class="hljs css language-bash">kubectl get pods -o=custom-columns=NAME:.metadata.name,STATUS:.status.phase,NODE:.spec.nodeName
+
+NAME                                           STATUS    NODE
+activemq-66d58f47cf-b88nb                      Running   streampi-01
+zookeeper-5d9947686f-7vpjb                     Running   streampi-02
+couchdb-77db98cf7b-6nn99                       Running   streampi-02
+consul-55965f966b-tjcfb                        Running   streampi-02
+influxdb-b95b6479-mvgbg                        Running   streampi-02
+backend-6cdfb7bbf9-b4vgh                       Running   streampi-02
+pipeline-elements-all-jvm-64795974-g2xhv       Running   streampi-02
+kafka-657b5fb77-xtw8p                          Running   streampi-01
+connect-master-56f5f947d-n2t5b                 Running   streampi-01
+sources-watertank-simulator-6958f7844c-2jv78   Running   streampi-01
+connect-worker-fdbd6f464-m6vm8                 Running   streampi-01
+nginx-5d4498d4f5-fcccq                         Running   streampi-02
+</code></pre>
+<p>As can be seen, a fair amount of StreamPipes containers aka pods were deployed on <code>streampi-01</code> and <code>streampi-02</code>. When everything goes well, you should see all containers in the status <code>RUNNING</code> after a couple of minutes. To access K8s cluster UI pod a <code>NodePort</code> was created. The <code>NodePort</code> publishes the UI (nginx) service on every node using using its public IP and a port. Then you can access the service using any of the cluster [...]
+<pre><code class="hljs css language-yaml"><span class="hljs-attr">apiVersion:</span> <span class="hljs-string">v1</span>
+<span class="hljs-attr">kind:</span> <span class="hljs-string">Service</span>
+<span class="hljs-attr">metadata:</span>
+  <span class="hljs-attr">name:</span> <span class="hljs-string">nginx</span>
+<span class="hljs-attr">spec:</span>
+  <span class="hljs-attr">selector:</span>
+    <span class="hljs-attr">app:</span> <span class="hljs-string">nginx</span>
+  <span class="hljs-attr">type:</span> <span class="hljs-string">NodePort</span>
+  <span class="hljs-attr">ports:</span>
+    <span class="hljs-bullet">-</span> <span class="hljs-attr">name:</span> <span class="hljs-string">main</span>
+      <span class="hljs-attr">protocol:</span> <span class="hljs-string">TCP</span>
+      <span class="hljs-attr">port:</span> <span class="hljs-number">80</span> <span class="hljs-comment"># container port</span>
+      <span class="hljs-attr">targetPort:</span> <span class="hljs-number">80</span> <span class="hljs-comment"># node port</span>
+</code></pre>
+<p>That means, you can go and check the StreamPipes UI either on <code>http://streampi-01/</code> or <code>http://streampi-02/</code> - K8s service handles the routing to the nginx pod containing the UI - just to name one nice feature.</p>
+<p><img class="blog-image" style="max-width:100%;" src="/docs/blog/assets/2020-05-27/streampi_installation.png" alt="Installation"></p>
+<h2><a class="anchor" aria-hidden="true" id="sum-up-where-to-go-from-here"></a><a href="#sum-up-where-to-go-from-here" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 [...]
+<p>Starting out as a simple hack session on a late afternoon, we build multi-archicture StreamPipes Docker images and deployed them on a Raspberry Pi in the first part of the series. Though, this is was feasible StreamPipes architectural microservice design provides a natural fit for a distributed cluster deployment. To this extent, we provide a StreamPipes Helm chart that lets you easily deploy StreamPipes in a one-liner in a Kubernetes cluster as showcased using a testbed of two Raspbe [...]
+<p>As of now, we let K8s handle the scheduling of containers for us in a random fashion. From here, we can further explore K8s feature such as <code>nodeSelector</code> or <code>nodeAffinity</code> that helps you use labels (<code>key=value</code> pairs) for pod to node assignment.</p>
+<p><img class="blog-image" style="max-width:60%;" src="/docs/blog/assets/2020-05-27/helm_k3s.png" alt="HelmK3s"></p>
+<ul>
+<li><a href="/docs/blog/2020/01/23/streampipes_on_rpi">Part 1: StreamPi(pes) - Running StreamPipes on Raspberry Pi</a></li>
+<li><strong><a href="/docs/blog/2020/05/27/streampipes_on_k3s">Part 2: Running StreamPipes the Kubernetes-Way using K3s</a></strong></li>
+</ul>
+<h3><a class="anchor" aria-hidden="true" id="useful-links"></a><a href="#useful-links" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
+<ul>
+<li>[1] <a href="https://k3s.io/">K3s - lightweight Kubernetes distro</a></li>
+<li>[2] <a href="https://helm.sh/">Helm - the package manager for Kubernetes</a></li>
+<li>[3] <a href="https://github.com/apache/incubator-streampipes-installer/tree/dev/helm-chart">Github: StreamPipes Helm chart</a></li>
+</ul>
+</span></div></div><div class="blogSocialSection"></div></div><div class="blog-recent"><a class="button" href="/docs/blog">Recent Posts</a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#introduction">Introduction</a></li><li><a href="#well-which-k-to-use-kubernetes-k3s">Well, which K to use? Kubernetes, K3s</a></li><li><a href="#streampipes-helm-chart">StreamPipes Helm Chart</a></li><li><a href="#the-almighty-streampi-k3s-cluster">The almighty StreamPi K3 [...]
+                document.addEventListener('keyup', function(e) {
+                  if (e.target !== document.body) {
+                    return;
+                  }
+                  // keyCode for '/' (slash)
+                  if (e.keyCode === 191) {
+                    const search = document.getElementById('search_input_react');
+                    search && search.focus();
+                  }
+                });
+              </script><script>
+              var search = docsearch({
+                
+                apiKey: '0fedc89dddf2810657708b178e56ef02',
+                indexName: 'streampipes',
+                inputSelector: '#search_input_react',
+                algoliaOptions: {}
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/docs/blog/2020/05/27/streampipes_on_k3s/index.html b/docs/blog/2020/05/27/streampipes_on_k3s/index.html
new file mode 100644
index 0000000..b92d439
--- /dev/null
+++ b/docs/blog/2020/05/27/streampipes_on_k3s/index.html
@@ -0,0 +1,261 @@
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Running StreamPipes the Kubernetes-Way using k3s · StreamPipes</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;img class=&quot;blog-image&quot; style=&quot;max-width:100%;&quot; src=&quot;/docs/blog/assets/2020-05-27/streampipes_k3s.png&quot; alt=&quot;StreamPipes on k3s&quot; [...]
+              window.dataLayer = window.dataLayer || [];
+              function gtag(){dataLayer.push(arguments); }
+              gtag('js', new Date());
+              gtag('config', 'UA-154181944-1');
+            </script><link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons"/><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.9.0/slick.min.css"/><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.9.0/slick-theme.min.css"/><link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto"/><link rel="stylesheet" href="/docs/css/admonition.css"/><link rel="stylesheet" href="/docs [...]
+        document.addEventListener('DOMContentLoaded', function() {
+          addBackToTop(
+            {"zIndex":100}
+          )
+        });
+        </script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="StreamPipes"/></a><a href="/docs/versions"><h3>0.66.0</h3></a><div class="navigationWrapper navigationSlider"><nav class [...]
+            var coll = document.getElementsByClassName('collapsible');
+            var checkActiveCategory = true;
+            for (var i = 0; i < coll.length; i++) {
+              var links = coll[i].nextElementSibling.getElementsByTagName('*');
+              if (checkActiveCategory){
+                for (var j = 0; j < links.length; j++) {
+                  if (links[j].classList.contains('navListItemActive')){
+                    coll[i].nextElementSibling.classList.toggle('hide');
+                    coll[i].childNodes[1].classList.toggle('rotate');
+                    checkActiveCategory = false;
+                    break;
+                  }
+                }
+              }
+
+              coll[i].addEventListener('click', function() {
+                var arrow = this.childNodes[1];
+                arrow.classList.toggle('rotate');
+                var content = this.nextElementSibling;
+                content.classList.toggle('hide');
+              });
+            }
+
+            document.addEventListener('DOMContentLoaded', function() {
+              createToggler('#navToggler', '#docsNav', 'docsSliderActive');
+              createToggler('#tocToggler', 'body', 'tocActive');
+
+              const headings = document.querySelector('.toc-headings');
+              headings && headings.addEventListener('click', function(event) {
+                if (event.target.tagName === 'A') {
+                  document.body.classList.remove('tocActive');
+                }
+              }, false);
+
+              function createToggler(togglerSelector, targetSelector, className) {
+                var toggler = document.querySelector(togglerSelector);
+                var target = document.querySelector(targetSelector);
+
+                if (!toggler) {
+                  return;
+                }
+
+                toggler.onclick = function(event) {
+                  event.preventDefault();
+
+                  target.classList.toggle(className);
+                };
+              }
+            });
+        </script></nav></div><div class="container mainContainer postContainer blogContainer"><div class="wrapper"><div class="lonePost"><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/docs/blog/2020/05/27/streampipes_on_k3s">Running StreamPipes the Kubernetes-Way using k3s</a></h1><p class="post-meta">May 27, 2020</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/patrickwiener" target="_blank" rel="noreferrer noopener" [...]
+<strong><div style="float: left; padding-right: 40px;">15 minutes to read</div></strong>
+<br></p>
+<p>This blog post is the second part of a series on how we want to bring StreamPipes closer to the edge. The <a href="/docs/blog/2020/01/23/streampipes_on_rpi">first part</a> describes how we managed to build and deploy StreamPipes on one Raspberry Pi (Model 4), while the <a href="/docs/blog/2020/05/27/streampipes_on_k3s">second part</a> further covers how to deploy StreamPipes over a Kubernetes cluster of two Raspberry Pi's via k3s using our StreamPipes helm chart.</p>
+<!--truncate-->
+<p><strong>&lt;TL;DR&gt;</strong></p>
+<p><strong>With new advancements that came in the last StreamPipes release, we managed to reduce the required resources (mainly memory) drastically. To this extent, we cross-compiled StreamPipes Docker images for ARM support and deployed our lite version on a Raspberry Pi (Model 4). We showcase, that it is feasible to run analytical pipelines with ease and operate StreamPipes at moderate load. Additionally, we demonstrate how to deploy StreamPipes over a two-node k3s cluster using our St [...]
+<p><img class="blog-image" style="max-width:80%;" src="/docs/blog/assets/2020-05-27/k3s.png" alt="K3s"></p>
+<h2><a class="anchor" aria-hidden="true" id="introduction"></a><a href="#introduction" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
+<p>While it is easy to get started with StreamPipes in no time using our single-node deployment <a href="/docs/docs/user-guide-installation">instructions</a> using Docker and Docker-Compose, StreamPipes naturally is designed to run in a distributed cluster setup through its microservice architecture.</p>
+<p>This architectural design paired with the advancements of multi-architecture StreamPipes images as described in the previous blog post allows us to run certain analytical pipeline element containers with ease on various target nodes as well as target hardware architecture wether it is X86, ARM32v7, or ARM64v8. This becomes more valuable, as we shift the focus away from centralized cloud or data center only deployments where we generally are provided with a homogenous compute landscape [...]
+<p>Thereby, having multi-architecture images in your repertoire is key to deal with the challenge of heterogeneity in compute resources along the edge-cloud continuum. However, there are other challenges that occur when dealing with distributed container deployments such as automating deployments itself, scaling them, managing the containerized applications, taking care of networking between services, or realizing fault-tolerance by comparing the desired state against the current one. If [...]
+<h2><a class="anchor" aria-hidden="true" id="well-which-k-to-use-kubernetes-k3s"></a><a href="#well-which-k-to-use-kubernetes-k3s" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5 [...]
+<p>Fortunately, there exists a few solutions in the container ecosystem with the open source container orchestrator <a href="https://kubernetes.io">Kubernetes</a> (K8s) being the defacto standard, thereby incorporating the best ideas of Google's internal large-scale container cluster management system <a href="https://kubernetes.io/blog/2015/04/borg-predecessor-to-kubernetes/">Borg</a> (see academic paper about the details published at <a href="https://research.google/pubs/pub43438/">Eur [...]
+<p>On the other hand, there exists <a href="https://k3s.io/">K3s</a>, a lightweight Kubernetes distro by Rancher that was introduced early 2019 and has since then gained huge popularity. As it is stated on their website:</p>
+<ul>
+<li><strong>Perfect for Edge</strong>: <em>K3s is a highly available, certified Kubernetes distribution designed for production workloads in unattended, resource-constrained, remote locations or inside IoT appliances</em></li>
+<li><strong>Simplified &amp; Secure</strong>: <em>K3s is packaged as a single &lt;40MB binary that reduces the dependencies and steps needed to install, run and auto-update a production Kubernetes cluster.</em></li>
+<li><strong>Optimized for ARM</strong>: <em>Both ARM64 and ARMv7 are supported with binaries and multiarch images available for both. K3s works great from something as small as a Raspberry Pi to an AWS a1.4xlarge 32GiB server.</em></li>
+</ul>
+<p>Thus, this lead us to the point to say, hey why not use K3s to manage StreamPipes in all its glory. The containerized microservice design in addition to the newly available multiarch images are a great fit.</p>
+<h2><a class="anchor" aria-hidden="true" id="streampipes-helm-chart"></a><a href="#streampipes-helm-chart" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0 [...]
+<p>While you can easily write an deploy K8s YAML-based manifests for your deployments and services and so on the standard way, it is way more convenient to leverage  <a href="https://helm.sh/">Helm</a>, the package manager for K8s. Helm describes complex, distributed deployments using <strong>charts</strong> in order to provide repeatable application installation, easy updates, rollbacks etc.</p>
+<p>To this extent, we wrote a Helm chart for StreamPipes that can be found on our Github <a href="https://github.com/apache/incubator-streampipes-installer/tree/dev/helm-chart">incubator-streampipes-installer</a> repository. This allows to deploy StreamPipes as one liner as shown later. Helm charts follow a certain directory structure as depicted in the following:</p>
+<pre><code class="hljs">helm-chart/
+  <span class="hljs-module-access"><span class="hljs-module"><span class="hljs-identifier">Chart</span>.</span></span>yaml
+  values.yaml
+  templates/<span class="hljs-operator">
+  ...
+</span></code></pre>
+<p>The <code>Chart.yaml</code> file contains a description of the chart, e.g., metadata such as chart name, version, maintainers etc.</p>
+<p>The <code>values.yaml</code> file contains default values for all charts and in our case serves the purpose to provide a central place to store all variable/values, e.g., <code>streampipes.registry: &quot;apachestreampipes&quot;</code>, that replace chart templates such as the registry and version of the StreamPipes backend image:</p>
+<pre><code class="hljs css language-yaml"><span class="hljs-string">...</span>
+<span class="hljs-attr">image:</span> <span class="hljs-string">{{</span> <span class="hljs-string">.Values.streampipes.registry</span> <span class="hljs-string">}}/backend:{{</span> <span class="hljs-string">.Values.streampipes.version</span> <span class="hljs-string">}}</span>
+<span class="hljs-string">...</span>
+</code></pre>
+<p>Lastly, the <code>template/</code> directory is for template files. When Helm evaluates a chart, it sends all of the files in this directory through the template rendering engine before collecting the results and finally forwarding them to K8s. If interested, you can read more on this in the <a href="https://helm.sh/docs/">official Helm documentation</a>.</p>
+<h2><a class="anchor" aria-hidden="true" id="the-almighty-streampi-k3s-cluster"></a><a href="#the-almighty-streampi-k3s-cluster" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S1 [...]
+<p>As pointed out in the first part of the series, we have gained valueable insights on how to run and deploy StreamPipes on a Raspberry Pi. This worked out so greatly, that we thought, why not step up the game, use another Pi and built the <strong>almighty StreamPi cluster</strong> by leveraging K3s for orchestration and management.</p>
+<p><strong>Note</strong>: We are aware that this is far off from a production-grade setup, especially running StreamPipes core services such as the central pipeline management backend, or the UI in a two-node cluster. However, it provides a solid starting point for more elaborate deployments along the edge-cloud continuum.</p>
+<p>As shown in the following figure, starting from the multiarch images hosted on <a href="https://hub.docker.com/search?q=apachestreampipes&amp;type=image">Dockerhub</a>, we first provisioned the two Pi's with Docker, install and setup K3s and finally deploy our StreamPipes helm chart in order for users to connect, analyze and exploit their IIoT data with StreamPipes.</p>
+<p><img class="blog-image" style="max-width:100%;" src="/docs/blog/assets/2020-05-27/deployment.png" alt="Deployment"></p>
+<p>In the remainder, we cover how we installed Helm and K3s to form our almighty StreamPi K3s cluster. At the time of writing, we tested our deployment using the latest version of the Docker, Helm as well as K3s in the following setup</p>
+<ul>
+<li>2x Raspberry Pi Model 4 (4GiB RAM): <code>streampi-01</code>, <code>streampi-02</code></li>
+<li>Raspbian Buster 10</li>
+<li>Docker 19.03.8</li>
+<li>Helm 3.1.2</li>
+<li>K3s v1.17.4+k3s1</li>
+</ul>
+<h3><a class="anchor" aria-hidden="true" id="1-install-docker"></a><a href="#1-install-docker" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
+<p>SSH into your Raspberry Pi's and run the following command:</p>
+<pre><code class="hljs css language-bash">curl -sSL https://get.docker.com | sh
+</code></pre>
+<h3><a class="anchor" aria-hidden="true" id="2-install-k3s"></a><a href="#2-install-k3s" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
+<p>Now that we got Helm installed, we can proceed and install K3s. Thus, we must check wether we fulfill all the requirements. These are mainly network related, such that specific ports (server on <code>6443</code>) are accessible. You should carefully read about this in their <a href="https://rancher.com/docs/k3s/latest/en/installation/installation-requirements/">official documentation</a>.</p>
+<p>Other than that, lean back and enjoy - the installation happens so fast, you might miss it if you get a coffee :)</p>
+<h4><a class="anchor" aria-hidden="true" id="ssh-into-k3s-server-streampi-01"></a><a href="#ssh-into-k3s-server-streampi-01" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 [...]
+<p>On the server node, run the following command:</p>
+<pre><code class="hljs css language-bash">sudo curl -sfL https://get.k3s.io | sh -
+</code></pre>
+<p>A kubeconfig file is written to <code>/etc/rancher/k3s/k3s.yaml</code> and the service is automatically started or restarted. The install script will install k3s and additional utilities, such as <code>kubectl</code>, <code>crictl</code>, <code>k3s-killall.sh</code>, and <code>k3s-uninstall.sh</code>.</p>
+<p>The K3s installer creates a systemd service which can be used to <code>stop</code>, <code>start</code>, <code>restart</code> and check the <code>status</code> of the K3s server.</p>
+<pre><code class="hljs css language-bash">sudo systemctl status k3s.service
+
+● k3s.service - Lightweight Kubernetes
+   Loaded: loaded (/etc/systemd/system/k3s.service; enabled; vendor preset: enabled)
+   Active: active (running) since Sat 2020-04-11 15:54:07 BST; 3 days ago
+     Docs: https://k3s.io
+  Process: 10193 ExecStartPre=/sbin/modprobe br_netfilter (code=exited, status=0/SUCCESS)
+  Process: 10194 ExecStartPre=/sbin/modprobe overlay (code=exited, status=0/SUCCESS)
+ Main PID: 10195 (k3s-server)
+ (...)
+</code></pre>
+<p>Next, copy the server node token in order to connect additional agent nodes to the cluster.</p>
+<pre><code class="hljs css language-bash">sudo cat /var/lib/rancher/k3s/server/node-token
+</code></pre>
+<h4><a class="anchor" aria-hidden="true" id="ssh-into-k3s-agent-streampi-02"></a><a href="#ssh-into-k3s-agent-streampi-02" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 1 [...]
+<p>Now, open a new terminal session and SSH into your agent and run the following command, thereby adding the copied <code>K3S_TOKEN</code> to connect to the server, that is specified using <code>K3S_URL</code>.</p>
+<pre><code class="hljs css language-bash">sudo curl -sfL https://get.k3s.io | K3S_URL=https://streampi-01:6443 \
+K3S_TOKEN=&lt;NODE_TOKEN&gt; sh -
+</code></pre>
+<p>The K3s installer creates a systemd service which can be used to <code>stop</code>, <code>start</code>, <code>restart</code> and check the <code>status</code> of the K3s agent.</p>
+<pre><code class="hljs css language-bash">sudo systemctl status k3s-agent.service
+
+● k3s-agent.service - Lightweight Kubernetes
+   Loaded: loaded (/etc/systemd/system/k3s-agent.service; enabled; vendor preset: enabled)
+   Active: active (running) since Sat 2020-04-11 16:05:37 BST; 3 days ago
+     Docs: https://k3s.io
+  Process: 24469 ExecStartPre=/sbin/modprobe br_netfilter (code=exited, status=0/SUCCESS)
+  Process: 24470 ExecStartPre=/sbin/modprobe overlay (code=exited, status=0/SUCCESS)
+ Main PID: 24471 (k3s-agent)
+ (...)
+</code></pre>
+<p>That's it ... that's all!</p>
+<p>When you go back to the terminal session on the K3s server you can list all nodes in the cluster using standard <code>kubectl</code> commands.</p>
+<pre><code class="hljs css language-bash">kubectl get nodes
+NAME              STATUS   ROLES    AGE   VERSION
+streampi-02   Ready    &lt;none&gt;   3d    v1.17.4+k3s1
+streampi-01   Ready    master   3d    v1.17.4+k3s1
+</code></pre>
+<p>Hmmm - but wait. We did only add one agent node to the cluster right? Well, that's true, however when installing K3s using the script the server automatically installs and runs an agent on the same node.</p>
+<h3><a class="anchor" aria-hidden="true" id="3-install-helm"></a><a href="#3-install-helm" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
+<p>SSH into the RPi that should act as the K3s server later on - in our case this is <code>streampi-01</code> and install Helm. Since we are using Helm 3 there is no need to install tiller. Thus, installing helm is as simple as running the following command:</p>
+<pre><code class="hljs css language-bash">curl -sSL https://get.helm.sh/helm-v3.1.2-linux-arm.tar.gz | sudo tar -xzf - -C /usr/<span class="hljs-built_in">local</span>/bin/ linux-arm/helm --strip-components=1
+</code></pre>
+<p>This command downloads the Helm binary release from Github, extracts only the binary and puts it in <code>/usr/local/bin</code>. Try go check <code>helm version</code> to see if it worked.</p>
+<pre><code class="hljs css language-bash">version.BuildInfo{Version:<span class="hljs-string">"v3.1.2"</span>, GitCommit:<span class="hljs-string">"d878d4d45863e42fd5cff6743294a11d28a9abce"</span>, GitTreeState:<span class="hljs-string">"clean"</span>, GoVersion:<span class="hljs-string">"go1.13.8"</span>}
+</code></pre>
+<p>To use Helm, we can set and export <code>KUBECONFIG</code> environment variable to point to the kubeconfig under <code>/etc/rancher/k3s/k3s.yaml</code>.</p>
+<pre><code class="hljs css language-bash"><span class="hljs-built_in">export</span> KUBECONFIG=/etc/rancher/k3s/k3s.yaml
+</code></pre>
+<p>Alternatively, if you want this permanently you can either add it to your <code>.bashrc</code>/<code>.zshrc</code>, or create a <code>.kube</code> directory in your home directory and symlink the <code>k3s.yaml</code>.</p>
+<pre><code class="hljs css language-bash">mkdir <span class="hljs-variable">$HOME</span>/.kube
+ln -s /etc/rancher/k3s/k3s.yaml <span class="hljs-variable">$HOME</span>/.kube/config
+</code></pre>
+<h2><a class="anchor" aria-hidden="true" id="deploy-streampipes-on-k3s-using-helm"></a><a href="#deploy-streampipes-on-k3s-using-helm" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 [...]
+<p>Now, that we have all set up, we can go ahead and deploy StreamPipes using our Helm chart. Therefore, we go to the server node (<code>streampi-01</code>), where we installed Helm. Next, we clone our StreamPipes installer repository (<code>dev</code> branch) and navigate to the helm-chart directory.</p>
+<p><strong>Note</strong>: At the point of writing, the helm chart is <strong>only</strong> available in the <code>dev</code> branch. This will change in the future as we update the repository.</p>
+<pre><code class="hljs css language-bash">git <span class="hljs-built_in">clone</span> -b dev --single-branch https://github.com/apache/incubator-streampipes-installer.git
+<span class="hljs-built_in">cd</span> incubator-streampipes-installer
+</code></pre>
+<p>At this point, we can leverage Helm's <code>install</code> command in order to install the StreamPipes Helm chart. Since Helm reads the K3s kubeconfig, it forwards the deployment request to K3s. As per default, we deploy StreamPipes <code>lite</code> version, where we only start standalone Java-based pipeline elements and disregard the ones building on top of our Flink wrapper.</p>
+<pre><code class="hljs css language-bash">helm install streampipes helm-chart
+
+NAME: streampipes
+LAST DEPLOYED: Tue Apr 14 18:13:19 2020
+NAMESPACE: default
+STATUS: deployed
+REVISION: 1
+TEST SUITE: None
+</code></pre>
+<p>Next, K3s receives this requests and goes ahead and downloads the corresponding Docker images and starts the deployments in the right order according to the specified dependencies, creates services as well as persistent volume claims when needed. This step takes some time depending on your internet connection and the hardware when starting the containers. You can check the status of the StreamPipes Helm installation using <code>kubectl get pods -o wide</code> (when adding <code>-w</co [...]
+<pre><code class="hljs css language-bash">kubectl get pods -o=custom-columns=NAME:.metadata.name,STATUS:.status.phase,NODE:.spec.nodeName
+
+NAME                                           STATUS    NODE
+activemq-66d58f47cf-b88nb                      Running   streampi-01
+zookeeper-5d9947686f-7vpjb                     Running   streampi-02
+couchdb-77db98cf7b-6nn99                       Running   streampi-02
+consul-55965f966b-tjcfb                        Running   streampi-02
+influxdb-b95b6479-mvgbg                        Running   streampi-02
+backend-6cdfb7bbf9-b4vgh                       Running   streampi-02
+pipeline-elements-all-jvm-64795974-g2xhv       Running   streampi-02
+kafka-657b5fb77-xtw8p                          Running   streampi-01
+connect-master-56f5f947d-n2t5b                 Running   streampi-01
+sources-watertank-simulator-6958f7844c-2jv78   Running   streampi-01
+connect-worker-fdbd6f464-m6vm8                 Running   streampi-01
+nginx-5d4498d4f5-fcccq                         Running   streampi-02
+</code></pre>
+<p>As can be seen, a fair amount of StreamPipes containers aka pods were deployed on <code>streampi-01</code> and <code>streampi-02</code>. When everything goes well, you should see all containers in the status <code>RUNNING</code> after a couple of minutes. To access K8s cluster UI pod a <code>NodePort</code> was created. The <code>NodePort</code> publishes the UI (nginx) service on every node using using its public IP and a port. Then you can access the service using any of the cluster [...]
+<pre><code class="hljs css language-yaml"><span class="hljs-attr">apiVersion:</span> <span class="hljs-string">v1</span>
+<span class="hljs-attr">kind:</span> <span class="hljs-string">Service</span>
+<span class="hljs-attr">metadata:</span>
+  <span class="hljs-attr">name:</span> <span class="hljs-string">nginx</span>
+<span class="hljs-attr">spec:</span>
+  <span class="hljs-attr">selector:</span>
+    <span class="hljs-attr">app:</span> <span class="hljs-string">nginx</span>
+  <span class="hljs-attr">type:</span> <span class="hljs-string">NodePort</span>
+  <span class="hljs-attr">ports:</span>
+    <span class="hljs-bullet">-</span> <span class="hljs-attr">name:</span> <span class="hljs-string">main</span>
+      <span class="hljs-attr">protocol:</span> <span class="hljs-string">TCP</span>
+      <span class="hljs-attr">port:</span> <span class="hljs-number">80</span> <span class="hljs-comment"># container port</span>
+      <span class="hljs-attr">targetPort:</span> <span class="hljs-number">80</span> <span class="hljs-comment"># node port</span>
+</code></pre>
+<p>That means, you can go and check the StreamPipes UI either on <code>http://streampi-01/</code> or <code>http://streampi-02/</code> - K8s service handles the routing to the nginx pod containing the UI - just to name one nice feature.</p>
+<p><img class="blog-image" style="max-width:100%;" src="/docs/blog/assets/2020-05-27/streampi_installation.png" alt="Installation"></p>
+<h2><a class="anchor" aria-hidden="true" id="sum-up-where-to-go-from-here"></a><a href="#sum-up-where-to-go-from-here" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 [...]
+<p>Starting out as a simple hack session on a late afternoon, we build multi-archicture StreamPipes Docker images and deployed them on a Raspberry Pi in the first part of the series. Though, this is was feasible StreamPipes architectural microservice design provides a natural fit for a distributed cluster deployment. To this extent, we provide a StreamPipes Helm chart that lets you easily deploy StreamPipes in a one-liner in a Kubernetes cluster as showcased using a testbed of two Raspbe [...]
+<p>As of now, we let K8s handle the scheduling of containers for us in a random fashion. From here, we can further explore K8s feature such as <code>nodeSelector</code> or <code>nodeAffinity</code> that helps you use labels (<code>key=value</code> pairs) for pod to node assignment.</p>
+<p><img class="blog-image" style="max-width:60%;" src="/docs/blog/assets/2020-05-27/helm_k3s.png" alt="HelmK3s"></p>
+<ul>
+<li><a href="/docs/blog/2020/01/23/streampipes_on_rpi">Part 1: StreamPi(pes) - Running StreamPipes on Raspberry Pi</a></li>
+<li><strong><a href="/docs/blog/2020/05/27/streampipes_on_k3s">Part 2: Running StreamPipes the Kubernetes-Way using K3s</a></strong></li>
+</ul>
+<h3><a class="anchor" aria-hidden="true" id="useful-links"></a><a href="#useful-links" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
+<ul>
+<li>[1] <a href="https://k3s.io/">K3s - lightweight Kubernetes distro</a></li>
+<li>[2] <a href="https://helm.sh/">Helm - the package manager for Kubernetes</a></li>
+<li>[3] <a href="https://github.com/apache/incubator-streampipes-installer/tree/dev/helm-chart">Github: StreamPipes Helm chart</a></li>
+</ul>
+</span></div></div><div class="blogSocialSection"></div></div><div class="blog-recent"><a class="button" href="/docs/blog">Recent Posts</a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#introduction">Introduction</a></li><li><a href="#well-which-k-to-use-kubernetes-k3s">Well, which K to use? Kubernetes, K3s</a></li><li><a href="#streampipes-helm-chart">StreamPipes Helm Chart</a></li><li><a href="#the-almighty-streampi-k3s-cluster">The almighty StreamPi K3 [...]
+                document.addEventListener('keyup', function(e) {
+                  if (e.target !== document.body) {
+                    return;
+                  }
+                  // keyCode for '/' (slash)
+                  if (e.keyCode === 191) {
+                    const search = document.getElementById('search_input_react');
+                    search && search.focus();
+                  }
+                });
+              </script><script>
+              var search = docsearch({
+                
+                apiKey: '0fedc89dddf2810657708b178e56ef02',
+                indexName: 'streampipes',
+                inputSelector: '#search_input_react',
+                algoliaOptions: {}
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/docs/blog/assets/2020-04-14/deployment.png b/docs/blog/assets/2020-05-27/deployment.png
similarity index 100%
rename from docs/blog/assets/2020-04-14/deployment.png
rename to docs/blog/assets/2020-05-27/deployment.png
diff --git a/docs/blog/assets/2020-04-14/helm_k3s.png b/docs/blog/assets/2020-05-27/helm_k3s.png
similarity index 100%
rename from docs/blog/assets/2020-04-14/helm_k3s.png
rename to docs/blog/assets/2020-05-27/helm_k3s.png
diff --git a/docs/blog/assets/2020-04-14/k3s.png b/docs/blog/assets/2020-05-27/k3s.png
similarity index 100%
rename from docs/blog/assets/2020-04-14/k3s.png
rename to docs/blog/assets/2020-05-27/k3s.png
diff --git a/docs/blog/assets/2020-04-14/streampi_installation.png b/docs/blog/assets/2020-05-27/streampi_installation.png
similarity index 100%
rename from docs/blog/assets/2020-04-14/streampi_installation.png
rename to docs/blog/assets/2020-05-27/streampi_installation.png
diff --git a/docs/blog/assets/2020-04-14/streampipes_k3s.png b/docs/blog/assets/2020-05-27/streampipes_k3s.png
similarity index 100%
rename from docs/blog/assets/2020-04-14/streampipes_k3s.png
rename to docs/blog/assets/2020-05-27/streampipes_k3s.png
diff --git a/docs/blog/atom.xml b/docs/blog/atom.xml
index 680d573..c5d97bc 100644
--- a/docs/blog/atom.xml
+++ b/docs/blog/atom.xml
@@ -2,13 +2,29 @@
 <feed xmlns="http://www.w3.org/2005/Atom">
     <id>https://docs.streampipes.org/docs/blog</id>
     <title>StreamPipes Blog</title>
-    <updated>2020-05-19T06:00:00Z</updated>
+    <updated>2020-05-27T06:00:00Z</updated>
     <generator>Feed for Node.js</generator>
     <link rel="alternate" href="https://docs.streampipes.org/docs/blog"/>
     <subtitle>The best place to stay up-to-date with the latest StreamPipes news and events.</subtitle>
     <logo>https://docs.streampipes.org/docs/img/sp-logo-color-docs.png</logo>
     <rights>Copyright © 2020 The Apache Software Foundation</rights>
     <entry>
+        <title type="html"><![CDATA[Running StreamPipes the Kubernetes-Way using k3s]]></title>
+        <id>https://docs.streampipes.org/docs/blog/2020/05/27/streampipes_on_k3s.html</id>
+        <link href="https://docs.streampipes.org/docs/blog/2020/05/27/streampipes_on_k3s.html">
+        </link>
+        <updated>2020-05-27T06:00:00Z</updated>
+        <summary type="html"><![CDATA[<p><img class="blog-image" style="max-width:100%;" src="/docs/blog/assets/2020-05-27/streampipes_k3s.png" alt="StreamPipes on k3s">
+<strong><div style="float: left; padding-right: 40px;">15 minutes to read</div></strong>
+<br></p>
+<p>This blog post is the second part of a series on how we want to bring StreamPipes closer to the edge. The <a href="/docs/blog/2020/01/23/streampipes_on_rpi">first part</a> describes how we managed to build and deploy StreamPipes on one Raspberry Pi (Model 4), while the <a href="/docs/blog/2020/05/27/streampipes_on_k3s">second part</a> further covers how to deploy StreamPipes over a Kubernetes cluster of two Raspberry Pi's via k3s using our StreamPipes helm chart.</p>
+]]></summary>
+        <author>
+            <name>Patrick Wiener</name>
+            <uri>https://twitter.com/patrickwiener</uri>
+        </author>
+    </entry>
+    <entry>
         <title type="html"><![CDATA[Apache StreamPipes release 0.66.0]]></title>
         <id>https://docs.streampipes.org/docs/blog/2020/05/19/release-0660.html</id>
         <link href="https://docs.streampipes.org/docs/blog/2020/05/19/release-0660.html">
@@ -32,7 +48,7 @@
         <summary type="html"><![CDATA[<p><img class="blog-image" style="max-width:100%;" src="/docs/blog/assets/2020-01-23/streampipes_raspberrypi.png" alt="StreamPipes on Raspberry Pi">
 <strong><div style="float: left; padding-right: 40px;">5 minutes to read</div></strong>
 <br></p>
-<p>This is the start of a two part series on how we want to bring StreamPipes closer to the edge. The <a href="/docs/blog/2020/01/23/streampipes_on_rpi">first part</a> describes how we managed to build and deploy StreamPipes on one Raspberry Pi (Model 4), while the <a href="/docs/blog/2020/04/14/streampipes_on_k3s">second part</a> further covers how to deploy StreamPipes over a Kubernetes cluster of two Raspberry Pi's via K3s using our StreamPipes helm chart.</p>
+<p>This is the start of a two part series on how we want to bring StreamPipes closer to the edge. The <a href="/docs/blog/2020/01/23/streampipes_on_rpi">first part</a> describes how we managed to build and deploy StreamPipes on one Raspberry Pi (Model 4), while the <a href="/docs/blog/2020/05/27/streampipes_on_k3s">second part</a> further covers how to deploy StreamPipes over a Kubernetes cluster of two Raspberry Pi's via K3s using our StreamPipes helm chart.</p>
 ]]></summary>
         <author>
             <name>Patrick Wiener</name>
diff --git a/docs/blog/feed.xml b/docs/blog/feed.xml
index 6171cc6..16c19eb 100644
--- a/docs/blog/feed.xml
+++ b/docs/blog/feed.xml
@@ -4,7 +4,7 @@
         <title>StreamPipes Blog</title>
         <link>https://docs.streampipes.org/docs/blog</link>
         <description>The best place to stay up-to-date with the latest StreamPipes news and events.</description>
-        <lastBuildDate>Tue, 19 May 2020 06:00:00 GMT</lastBuildDate>
+        <lastBuildDate>Wed, 27 May 2020 06:00:00 GMT</lastBuildDate>
         <docs>http://blogs.law.harvard.edu/tech/rss</docs>
         <generator>Feed for Node.js</generator>
         <image>
@@ -14,6 +14,17 @@
         </image>
         <copyright>Copyright © 2020 The Apache Software Foundation</copyright>
         <item>
+            <title><![CDATA[Running StreamPipes the Kubernetes-Way using k3s]]></title>
+            <link>https://docs.streampipes.org/docs/blog/2020/05/27/streampipes_on_k3s.html</link>
+            <guid>https://docs.streampipes.org/docs/blog/2020/05/27/streampipes_on_k3s.html</guid>
+            <pubDate>Wed, 27 May 2020 06:00:00 GMT</pubDate>
+            <description><![CDATA[<p><img class="blog-image" style="max-width:100%;" src="/docs/blog/assets/2020-05-27/streampipes_k3s.png" alt="StreamPipes on k3s">
+<strong><div style="float: left; padding-right: 40px;">15 minutes to read</div></strong>
+<br></p>
+<p>This blog post is the second part of a series on how we want to bring StreamPipes closer to the edge. The <a href="/docs/blog/2020/01/23/streampipes_on_rpi">first part</a> describes how we managed to build and deploy StreamPipes on one Raspberry Pi (Model 4), while the <a href="/docs/blog/2020/05/27/streampipes_on_k3s">second part</a> further covers how to deploy StreamPipes over a Kubernetes cluster of two Raspberry Pi's via k3s using our StreamPipes helm chart.</p>
+]]></description>
+        </item>
+        <item>
             <title><![CDATA[Apache StreamPipes release 0.66.0]]></title>
             <link>https://docs.streampipes.org/docs/blog/2020/05/19/release-0660.html</link>
             <guid>https://docs.streampipes.org/docs/blog/2020/05/19/release-0660.html</guid>
@@ -31,7 +42,7 @@
             <description><![CDATA[<p><img class="blog-image" style="max-width:100%;" src="/docs/blog/assets/2020-01-23/streampipes_raspberrypi.png" alt="StreamPipes on Raspberry Pi">
 <strong><div style="float: left; padding-right: 40px;">5 minutes to read</div></strong>
 <br></p>
-<p>This is the start of a two part series on how we want to bring StreamPipes closer to the edge. The <a href="/docs/blog/2020/01/23/streampipes_on_rpi">first part</a> describes how we managed to build and deploy StreamPipes on one Raspberry Pi (Model 4), while the <a href="/docs/blog/2020/04/14/streampipes_on_k3s">second part</a> further covers how to deploy StreamPipes over a Kubernetes cluster of two Raspberry Pi's via K3s using our StreamPipes helm chart.</p>
+<p>This is the start of a two part series on how we want to bring StreamPipes closer to the edge. The <a href="/docs/blog/2020/01/23/streampipes_on_rpi">first part</a> describes how we managed to build and deploy StreamPipes on one Raspberry Pi (Model 4), while the <a href="/docs/blog/2020/05/27/streampipes_on_k3s">second part</a> further covers how to deploy StreamPipes over a Kubernetes cluster of two Raspberry Pi's via K3s using our StreamPipes helm chart.</p>
 ]]></description>
         </item>
         <item>
diff --git a/docs/blog/index.html b/docs/blog/index.html
index 92263f2..7ba7011 100644
--- a/docs/blog/index.html
+++ b/docs/blog/index.html
@@ -9,7 +9,7 @@
             {"zIndex":100}
           )
         });
-        </script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="blog"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="StreamPipes"/></a><a href="/docs/versions"><h3>0.66.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav [...]
+        </script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="blog"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="StreamPipes"/></a><a href="/docs/versions"><h3>0.66.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -59,13 +59,17 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer postContainer blogContainer"><div class="wrapper"><div class="posts"><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/docs/blog/2020/05/19/release-0660">Apache StreamPipes release 0.66.0</a></h1><p class="post-meta">May 19, 2020</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/dominikjriemer" target="_blank" rel="noreferrer noopener">Dominik Riemer</a></p> [...]
+        </script></nav></div><div class="container mainContainer postContainer blogContainer"><div class="wrapper"><div class="posts"><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/docs/blog/2020/05/27/streampipes_on_k3s">Running StreamPipes the Kubernetes-Way using k3s</a></h1><p class="post-meta">May 27, 2020</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/patrickwiener" target="_blank" rel="noreferrer noopener">Pa [...]
+<strong><div style="float: left; padding-right: 40px;">15 minutes to read</div></strong>
+<br></p>
+<p>This blog post is the second part of a series on how we want to bring StreamPipes closer to the edge. The <a href="/docs/blog/2020/01/23/streampipes_on_rpi">first part</a> describes how we managed to build and deploy StreamPipes on one Raspberry Pi (Model 4), while the <a href="/docs/blog/2020/05/27/streampipes_on_k3s">second part</a> further covers how to deploy StreamPipes over a Kubernetes cluster of two Raspberry Pi's via k3s using our StreamPipes helm chart.</p>
+</span></div><div class="read-more"><a class="button" href="/docs/blog/2020/05/27/streampipes_on_k3s">Read More</a></div></article></div><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/docs/blog/2020/05/19/release-0660">Apache StreamPipes release 0.66.0</a></h1><p class="post-meta">May 19, 2020</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/dominikjriemer" target="_blank" rel="noreferrer noopener">Dominik Riemer</a>< [...]
 <br></p>
 <p>The Apache StreamPipes (incubating) community is proud to announce Apache StreamPipes version 0.66.0! This release is our first official Apache release and brings some very cool features and improvements the community has worked on over the past months.</p>
 </span></div><div class="read-more"><a class="button" href="/docs/blog/2020/05/19/release-0660">Read More</a></div></article></div><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/docs/blog/2020/01/23/streampipes_on_rpi">StreamPi(pes) - Running StreamPipes on Raspberry Pi</a></h1><p class="post-meta">January 23, 2020</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/patrickwiener" target="_blank" rel="noreferrer noopener [...]
 <strong><div style="float: left; padding-right: 40px;">5 minutes to read</div></strong>
 <br></p>
-<p>This is the start of a two part series on how we want to bring StreamPipes closer to the edge. The <a href="/docs/blog/2020/01/23/streampipes_on_rpi">first part</a> describes how we managed to build and deploy StreamPipes on one Raspberry Pi (Model 4), while the <a href="/docs/blog/2020/04/14/streampipes_on_k3s">second part</a> further covers how to deploy StreamPipes over a Kubernetes cluster of two Raspberry Pi's via K3s using our StreamPipes helm chart.</p>
+<p>This is the start of a two part series on how we want to bring StreamPipes closer to the edge. The <a href="/docs/blog/2020/01/23/streampipes_on_rpi">first part</a> describes how we managed to build and deploy StreamPipes on one Raspberry Pi (Model 4), while the <a href="/docs/blog/2020/05/27/streampipes_on_k3s">second part</a> further covers how to deploy StreamPipes over a Kubernetes cluster of two Raspberry Pi's via K3s using our StreamPipes helm chart.</p>
 </span></div><div class="read-more"><a class="button" href="/docs/blog/2020/01/23/streampipes_on_rpi">Read More</a></div></article></div><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/docs/blog/2019/11/25/moving-to-the-apache-incubator">Moving to the Apache Incubator</a></h1><p class="post-meta">November 25, 2019</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/dominikjriemer" target="_blank" rel="noreferrer noopener" [...]
 <br>
 Great news: StreamPipes is moving to the Apache Incubator!</p>
@@ -93,11 +97,7 @@ The new version, which is already available on Docker Hub and can be downloaded
 <p>In this blog post, we show how we developed a CLI tool to install and manage StreamPipes.
 In addition, we present a template project that enables you to easily create a CLI tool for your own docker application.
 All you need is a working docker-compose.yml file.</p>
-</span></div><div class="read-more"><a class="button" href="/docs/blog/2018/11/24/container-cli">Read More</a></div></article></div><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/docs/blog/2018/09/17/preview-060">Preview: StreamPipes release 0.60.0</a></h1><p class="post-meta">September 17, 2018</p><div class="authorBlock"><p class="post-authorName"><a href="http://twitter.com/dominikjriemer" target="_blank" rel="noreferrer noopener">Dominik Riemer</a> [...]
-<br></p>
-<p>It's been a while since our last blog post. However, in the background we are working hard to release the next version of StreamPipes which is currently in the final phase.
-In this post, we'd like to give you a preview of the upcoming StreamPipes version 0.60.0, which brings many new features and improvements.</p>
-</span></div><div class="read-more"><a class="button" href="/docs/blog/2018/09/17/preview-060">Read More</a></div></article></div><div class="docs-prevnext"><a class="docs-next" href="/docs/blog/page2/">Next →</a></div></div></div></div></div><div><footer class="nav-footer" id="footer"><section class="sitemap"><a href="/docs/" class="nav-home"><img src="/docs/img/sp-logo-color.png" alt="StreamPipes" width="66"/></a><div><h5>Docs</h5><a href="/docs/docs/user-guide-introduction">User Guide [...]
+</span></div><div class="read-more"><a class="button" href="/docs/blog/2018/11/24/container-cli">Read More</a></div></article></div><div class="docs-prevnext"><a class="docs-next" href="/docs/blog/page2/">Next →</a></div></div></div></div></div><div><footer class="nav-footer" id="footer"><section class="sitemap"><a href="/docs/" class="nav-home"><img src="/docs/img/sp-logo-color.png" alt="StreamPipes" width="66"/></a><div><h5>Docs</h5><a href="/docs/docs/user-guide-introduction">User Gui [...]
                 document.addEventListener('keyup', function(e) {
                   if (e.target !== document.body) {
                     return;
diff --git a/docs/blog/page2/index.html b/docs/blog/page2/index.html
index 5a49f57..ed79b94 100644
--- a/docs/blog/page2/index.html
+++ b/docs/blog/page2/index.html
@@ -9,7 +9,7 @@
             {"zIndex":100}
           )
         });
-        </script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="blog"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="StreamPipes"/></a><a href="/docs/versions"><h3>0.66.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav [...]
+        </script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="blog"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="StreamPipes"/></a><a href="/docs/versions"><h3>0.66.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -59,7 +59,11 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer postContainer blogContainer"><div class="wrapper"><div class="posts"><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/docs/blog/2018/06/18/how-to-understand-your-machine-data">How to understand your machine data?</a></h1><p class="post-meta">June 18, 2018</p><div class="authorBlock"><p class="post-authorName"><a href="http://twitter.com/philipp10der" target="_blank" rel="noreferrer noopener [...]
+        </script></nav></div><div class="container mainContainer postContainer blogContainer"><div class="wrapper"><div class="posts"><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/docs/blog/2018/09/17/preview-060">Preview: StreamPipes release 0.60.0</a></h1><p class="post-meta">September 17, 2018</p><div class="authorBlock"><p class="post-authorName"><a href="http://twitter.com/dominikjriemer" target="_blank" rel="noreferrer noopener">Dominik Riemer</ [...]
+<br></p>
+<p>It's been a while since our last blog post. However, in the background we are working hard to release the next version of StreamPipes which is currently in the final phase.
+In this post, we'd like to give you a preview of the upcoming StreamPipes version 0.60.0, which brings many new features and improvements.</p>
+</span></div><div class="read-more"><a class="button" href="/docs/blog/2018/09/17/preview-060">Read More</a></div></article></div><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/docs/blog/2018/06/18/how-to-understand-your-machine-data">How to understand your machine data?</a></h1><p class="post-meta">June 18, 2018</p><div class="authorBlock"><p class="post-authorName"><a href="http://twitter.com/philipp10der" target="_blank" rel="noreferrer noopener">Ph [...]
 <br></p>
 <p>Data is the new oil. Probably everybody of you has heard or read this sentence before.
 It is often stated how important data and data understanding is for companies today.
diff --git a/docs/sitemap.xml b/docs/sitemap.xml
index c313e58..6c1dd77 100644
--- a/docs/sitemap.xml
+++ b/docs/sitemap.xml
@@ -2,6 +2,7 @@
 <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:mobile="http://www.google.com/schemas/sitemap-mobile/1.0" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1">
 <url> <loc>https://docs.streampipes.org/docs/index</loc> <changefreq>weekly</changefreq> <priority>0.5</priority> <xhtml:link rel="alternate" hreflang="en" href="https://docs.streampipes.org/docs/en/index" /> </url>
 <url> <loc>https://docs.streampipes.org/docs/versions</loc> <changefreq>weekly</changefreq> <priority>0.5</priority> <xhtml:link rel="alternate" hreflang="en" href="https://docs.streampipes.org/docs/en/versions" /> </url>
+<url> <loc>https://docs.streampipes.org/docs/blog/2020/05/27/streampipes_on_k3s</loc> <changefreq>weekly</changefreq> <priority>0.3</priority> </url>
 <url> <loc>https://docs.streampipes.org/docs/blog/2020/05/19/release-0660</loc> <changefreq>weekly</changefreq> <priority>0.3</priority> </url>
 <url> <loc>https://docs.streampipes.org/docs/blog/2020/01/23/streampipes_on_rpi</loc> <changefreq>weekly</changefreq> <priority>0.3</priority> </url>
 <url> <loc>https://docs.streampipes.org/docs/blog/2019/11/25/moving-to-the-apache-incubator</loc> <changefreq>weekly</changefreq> <priority>0.3</priority> </url>