zeus 3 years ago
parent
commit
3d8d04f141
  1. 1
      .gitignore
  2. 104
      build/site/404.html
  3. 115
      build/site/_/css/search.css
  4. 3
      build/site/_/css/site.css
  5. BIN
      build/site/_/font/roboto-latin-400.woff
  6. BIN
      build/site/_/font/roboto-latin-400.woff2
  7. BIN
      build/site/_/font/roboto-latin-400italic.woff
  8. BIN
      build/site/_/font/roboto-latin-400italic.woff2
  9. BIN
      build/site/_/font/roboto-latin-500.woff
  10. BIN
      build/site/_/font/roboto-latin-500.woff2
  11. BIN
      build/site/_/font/roboto-latin-500italic.woff
  12. BIN
      build/site/_/font/roboto-latin-500italic.woff2
  13. BIN
      build/site/_/font/roboto-mono-latin-400.woff
  14. BIN
      build/site/_/font/roboto-mono-latin-400.woff2
  15. BIN
      build/site/_/font/roboto-mono-latin-500.woff
  16. BIN
      build/site/_/font/roboto-mono-latin-500.woff2
  17. 1
      build/site/_/img/back.svg
  18. 1
      build/site/_/img/caret.svg
  19. 1
      build/site/_/img/chevron.svg
  20. 1
      build/site/_/img/home-o.svg
  21. 1
      build/site/_/img/home.svg
  22. 1
      build/site/_/img/menu.svg
  23. 1
      build/site/_/img/octicons-16.svg
  24. 6
      build/site/_/js/site.js
  25. 1
      build/site/_/js/vendor/highlight.js
  26. 1
      build/site/_/js/vendor/lunr.js
  27. 1
      build/site/_/js/vendor/search.js
  28. 9
      build/site/index.html
  29. 1
      build/site/search-index.js
  30. 7
      build/site/sitemap-swarmlab_all.xml
  31. 7
      build/site/sitemap-swarmlab_faq.xml
  32. 51
      build/site/sitemap-swarmlab_poc-datacollector.xml
  33. 9
      build/site/sitemap.xml
  34. BIN
      build/site/swarmlab_all/docs/_images/adhoc.png
  35. BIN
      build/site/swarmlab_all/docs/_images/swarmlab.png
  36. BIN
      build/site/swarmlab_all/docs/_images/up-1.png
  37. BIN
      build/site/swarmlab_all/docs/_images/up-2.png
  38. BIN
      build/site/swarmlab_all/docs/_images/up.png
  39. 215
      build/site/swarmlab_all/docs/index.html
  40. BIN
      build/site/swarmlab_faq/docs/_images/adhoc.png
  41. BIN
      build/site/swarmlab_faq/docs/_images/swarmlab.png
  42. BIN
      build/site/swarmlab_faq/docs/_images/up-1.png
  43. BIN
      build/site/swarmlab_faq/docs/_images/up-2.png
  44. BIN
      build/site/swarmlab_faq/docs/_images/up.png
  45. 221
      build/site/swarmlab_faq/docs/index.html
  46. BIN
      build/site/swarmlab_poc-datacollector/docs/_images/bidirectional-communication.png
  47. BIN
      build/site/swarmlab_poc-datacollector/docs/_images/docker-images.png
  48. BIN
      build/site/swarmlab_poc-datacollector/docs/_images/fluent-mongo.png
  49. BIN
      build/site/swarmlab_poc-datacollector/docs/_images/gynamic-swarm.png
  50. BIN
      build/site/swarmlab_poc-datacollector/docs/_images/intro.png
  51. BIN
      build/site/swarmlab_poc-datacollector/docs/_images/nvc.png
  52. BIN
      build/site/swarmlab_poc-datacollector/docs/_images/nvc1.png
  53. BIN
      build/site/swarmlab_poc-datacollector/docs/_images/openweb.png
  54. 1
      build/site/swarmlab_poc-datacollector/docs/_images/replica-set-primary-with-two-secondaries.bakedsvg.svg
  55. BIN
      build/site/swarmlab_poc-datacollector/docs/_images/swarm-poc.png
  56. BIN
      build/site/swarmlab_poc-datacollector/docs/_images/swarm-poc1.png
  57. BIN
      build/site/swarmlab_poc-datacollector/docs/_images/swarmlab-connect.png
  58. BIN
      build/site/swarmlab_poc-datacollector/docs/_images/swarmlab.png
  59. BIN
      build/site/swarmlab_poc-datacollector/docs/_images/types-of-mounts-bind.png
  60. BIN
      build/site/swarmlab_poc-datacollector/docs/_images/vue-modules.png
  61. BIN
      build/site/swarmlab_poc-datacollector/docs/_images/vue.png
  62. 360
      build/site/swarmlab_poc-datacollector/docs/doc-dummy_service.html
  63. 342
      build/site/swarmlab_poc-datacollector/docs/doc-readmongo_service.html
  64. 270
      build/site/swarmlab_poc-datacollector/docs/index-dummy_service.html
  65. 217
      build/site/swarmlab_poc-datacollector/docs/index-microservice.html
  66. 323
      build/site/swarmlab_poc-datacollector/docs/index-mongo.html
  67. 360
      build/site/swarmlab_poc-datacollector/docs/index-nodejs.html
  68. 223
      build/site/swarmlab_poc-datacollector/docs/index-redis.html
  69. 266
      build/site/swarmlab_poc-datacollector/docs/index-src.html
  70. 376
      build/site/swarmlab_poc-datacollector/docs/index-structure.html
  71. 243
      build/site/swarmlab_poc-datacollector/docs/index-usage.html
  72. 464
      build/site/swarmlab_poc-datacollector/docs/index-vuejs.html
  73. 393
      build/site/swarmlab_poc-datacollector/docs/index.html

1
.gitignore

@ -7,4 +7,5 @@ docs/package-lock.json
docs/package.json docs/package.json
site-update.sh site-update.sh
*/build */build
build
push.sh push.sh

104
build/site/404.html

@ -1,104 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Page Not Found :: Swarmlab faq</title>
<meta name="generator" content="Antora 2.3.4">
<link rel="stylesheet" href="/SwarmLab-HowTos/swarmlab/docs/_/css/site.css">
<link rel="stylesheet" href="/SwarmLab-HowTos/swarmlab/docs/_/css/search.css">
<script>var uiRootPath = '/SwarmLab-HowTos/swarmlab/docs/_'</script>
</head>
<body class="status-404">
<header class="header">
<nav class="navbar">
<div class="navbar-brand">
<a class="navbar-item" href="http://docs.swarmlab.io/SwarmLab-HowTos/swarmlab/docs">Swarmlab faq</a>
<button class="navbar-burger" data-target="topbar-nav">
<span></span>
<span></span>
<span></span>
</button>
</div>
<div id="topbar-nav" class="navbar-menu">
<div class="navbar-end">
<a class="navbar-item" href="#">Home</a>
<div class="navbar-item has-dropdown is-hoverable">
<a class="navbar-link" href="#">Products</a>
<div class="navbar-dropdown">
<a class="navbar-item" target ="hybridgit" href="https://git.swarmlab.io:3000/zeus/swarmlab-hybrid">Hybrid</a>
<a class="navbar-item" target ="venusgit" href="https://git.swarmlab.io:3000/swarmlab/venus-client">Venus</a>
</div>
</div>
<div class="navbar-item has-dropdown is-hoverable">
<a class="navbar-link" href="#">Services</a>
<div class="navbar-dropdown">
<a class="navbar-item" target ="hybrid" href="https://api-client.swarmlab.io:8088/">Hybrid</a>
<a class="navbar-item" target ="venus" href="https://api-client.swarmlab.io:8088/">Venus</a>
</div>
</div>
<div class="navbar-item">
<input id="search-input" type="text" placeholder="Search docs">
</div>
</div>
</div>
</nav>
</header>
<div class="body">
<div class="nav-container">
<aside class="nav">
<div class="panels">
<div class="nav-panel-explore is-active" data-panel="explore">
<ul class="components">
<li class="component">
<a class="title" href="/SwarmLab-HowTos/swarmlab/docs/swarmlab_faq/docs/index.html">swarmlab_faq</a>
<ul class="versions">
<li class="version is-latest">
<a href="/SwarmLab-HowTos/swarmlab/docs/swarmlab_faq/docs/index.html">docs</a>
</li>
</ul>
</li>
<li class="component">
<a class="title" href="/SwarmLab-HowTos/swarmlab/docs/swarmlab_poc-datacollector/docs/index.html">swarmlab_poc-datacollector</a>
<ul class="versions">
<li class="version is-latest">
<a href="/SwarmLab-HowTos/swarmlab/docs/swarmlab_poc-datacollector/docs/index.html">docs</a>
</li>
</ul>
</li>
</ul>
</div>
</div>
</aside>
</div>
<main class="article">
<div class="toolbar" role="navigation">
<button class="nav-toggle"></button>
<a href="/SwarmLab-HowTos/swarmlab/docs/swarmlab_faq/docs/index.html" class="home-link"></a>
<nav class="breadcrumbs" aria-label="breadcrumbs">
</nav>
</div>
<div class="content">
<article class="doc">
<h1 class="page">Page Not Found</h1>
<div class="paragraph">
<p>The page you&#8217;re looking for does not exist. It may have been moved. You can return to the <a href="/swarmlab_faq/docs/index.html">start page</a>, or follow one of the links in the navigation to the left.</p>
</div>
<div class="paragraph">
<p>If you arrived on this page by clicking on a link, please notify the owner of the site that the link is broken.
If you typed the URL of this page manually, please double check that you entered the address correctly.</p>
</div>
</article>
</div>
</main>
</div>
<footer class="footer">
<p>This page was built using the Antora <a href="https://gitlab.com/antora/antora-ui-default" target="antora">default UI</a> </p>
</footer>
<script src="/SwarmLab-HowTos/swarmlab/docs/_/js/site.js"></script>
<script src="/SwarmLab-HowTos/swarmlab/docs/_/js/vendor/lunr.js"></script>
<script src="/SwarmLab-HowTos/swarmlab/docs/_/js/vendor/search.js" id="search-script" data-base-path="/SwarmLab-HowTos/swarmlab/docs" data-page-path=""></script>
<script async src="/SwarmLab-HowTos/swarmlab/docs/_/../search-index.js"></script>
<script async src="/SwarmLab-HowTos/swarmlab/docs/_/js/vendor/highlight.js"></script>
</body>
</html>

115
build/site/_/css/search.css

@ -1,115 +0,0 @@
.navbar-brand .navbar-item + .navbar-item {
flex-grow: 1;
justify-content: flex-end;
}
@media screen and (min-width: 1024px) {
.navbar-brand {
flex-grow: 1;
}
.navbar-menu {
flex-grow: 0;
}
}
#search-input {
color: #333;
font-family: inherit;
font-size: 0.95rem;
width: 150px;
border: 1px solid #dbdbdb;
border-radius: 0.1em;
line-height: 1.5;
padding: 0 0.25em;
}
@media screen and (min-width: 769px) {
#search-input {
width: 200px;
}
}
.search-result-dropdown-menu {
position: absolute;
z-index: 100;
display: block;
right: 0;
left: inherit;
top: 100%;
border-radius: 4px;
margin: 6px 0 0;
padding: 0;
text-align: left;
height: auto;
background: transparent;
border: none;
max-width: 600px;
min-width: 500px;
box-shadow: 0 1px 0 0 rgba(0, 0, 0, 0.2), 0 2px 3px 0 rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 768px) {
.navbar-brand .navbar-item + .navbar-item {
padding-left: 0;
padding-right: 0;
}
.search-result-dropdown-menu {
min-width: calc(100vw - 3.75rem);
}
}
.search-result-dataset {
position: relative;
border: 1px solid #d9d9d9;
background: #fff;
border-radius: 4px;
overflow: auto;
padding: 0 8px 8px;
max-height: calc(100vh - 5.25rem);
color: #333;
}
.search-result-highlight {
color: #174d8c;
background: rgba(143, 187, 237, 0.1);
padding: .1em .05em;
}
.search-result-item {
display: flex;
font-size: 1rem;
margin-bottom: 0.5rem;
margin-top: 0.5rem;
}
.search-result-document-title {
width: 33%;
border-right: 1px solid #ddd;
color: #a4a7ae;
font-size: 0.8rem;
padding: 0.25rem 0.5rem 0.25rem 0;
text-align: right;
position: relative;
word-wrap: break-word;
}
.search-result-document-hit {
flex: 1;
font-size: 0.75em;
color: #02060c;
font-weight: 700;
}
.search-result-document-hit > a {
color: inherit;
display: block;
padding: 0.5rem 0 0.5rem 1rem;
margin-bottom: 0.25rem;
}
.search-result-document-hit > a:hover {
background-color: rgba(69, 142, 225, 0.05);
}

3
build/site/_/css/site.css

File diff suppressed because one or more lines are too long

BIN
build/site/_/font/roboto-latin-400.woff

Binary file not shown.

BIN
build/site/_/font/roboto-latin-400.woff2

Binary file not shown.

BIN
build/site/_/font/roboto-latin-400italic.woff

Binary file not shown.

BIN
build/site/_/font/roboto-latin-400italic.woff2

Binary file not shown.

BIN
build/site/_/font/roboto-latin-500.woff

Binary file not shown.

BIN
build/site/_/font/roboto-latin-500.woff2

Binary file not shown.

BIN
build/site/_/font/roboto-latin-500italic.woff

Binary file not shown.

BIN
build/site/_/font/roboto-latin-500italic.woff2

Binary file not shown.

BIN
build/site/_/font/roboto-mono-latin-400.woff

Binary file not shown.

BIN
build/site/_/font/roboto-mono-latin-400.woff2

Binary file not shown.

BIN
build/site/_/font/roboto-mono-latin-500.woff

Binary file not shown.

BIN
build/site/_/font/roboto-mono-latin-500.woff2

Binary file not shown.

1
build/site/_/img/back.svg

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100"><path d="M50.001 9.9L9.9 50 50 90.1l5.656-5.655-30.435-30.442H90.1v-8.006H25.222l30.435-30.44z"/></svg>

Before

Width:  |  Height:  |  Size: 190 B

1
build/site/_/img/caret.svg

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" width="30" height="30" viewBox="0 0 30 30"><path d="M10.187 3l14 12-14 12z" fill="#c1c1c1" stroke="#c1c1c1" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>

Before

Width:  |  Height:  |  Size: 219 B

1
build/site/_/img/chevron.svg

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" width="30" height="30" viewBox="0 0 30 30"><path d="M3.67 6.59L1.455 8.615 15 23.375l13.545-14.76L26.33 6.59 15 18.76z" fill="#5d5d5d"/></svg>

Before

Width:  |  Height:  |  Size: 182 B

1
build/site/_/img/home-o.svg

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><g fill="none" stroke="#222" stroke-width="4"><path d="M50.02 13.576l-28.58 25.54-.02 47.345h21.506l.025-25.166H57.05l.025 25.166H78.62l.02-47.31-28.62-25.575z"/><path d="M63.815 25.904v-9.217h8.657V33.64zM21.439 39.116l-9.982 8.92m77.125 0l-9.943-8.885"/></g></svg>

Before

Width:  |  Height:  |  Size: 328 B

1
build/site/_/img/home.svg

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><g stroke="#222" stroke-width="4"><path d="M50.02 13.576l-28.58 25.54-.02 47.345h21.506l.025-25.166H57.05l.025 25.166H78.62l.02-47.31-28.62-25.575z" fill="#222" fill-rule="evenodd"/><path d="M63.815 25.904v-9.217h8.657V33.64z" fill="#222" fill-rule="evenodd"/><path d="M21.439 39.116l-9.982 8.92m77.125 0l-9.943-8.885" fill="none"/></g></svg>

Before

Width:  |  Height:  |  Size: 404 B

1
build/site/_/img/menu.svg

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><path d="M35 19.772h55" fill="none" stroke="#222" stroke-width="8" stroke-opacity=".941"/><path fill="#222" d="M10 12.272h15v15H10z"/><path d="M43 63.678h45" fill="none" stroke="#222" stroke-width="5" stroke-opacity=".941"/><path fill="#222" d="M23 58.677h10v10H23z"/><path d="M43 82.727h45" fill="none" stroke="#222" stroke-width="5" stroke-opacity=".941"/><path fill="#222" d="M23 77.727h10v10H23z"/><path d="M43 44.628h45" fill="none" stroke="#222" stroke-width="5" stroke-opacity=".941"/><path fill="#222" d="M23 39.628h10v10H23z"/></svg>

Before

Width:  |  Height:  |  Size: 604 B

1
build/site/_/img/octicons-16.svg

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><desc>Octicons v11.2.0 by GitHub - https://primer.style/octicons/ - License: MIT</desc><symbol id="icon-clippy" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M5.75 1a.75.75 0 00-.75.75v3c0 .414.336.75.75.75h4.5a.75.75 0 00.75-.75v-3a.75.75 0 00-.75-.75h-4.5zm.75 3V2.5h3V4h-3zm-2.874-.467a.75.75 0 00-.752-1.298A1.75 1.75 0 002 3.75v9.5c0 .966.784 1.75 1.75 1.75h8.5A1.75 1.75 0 0014 13.25v-9.5a1.75 1.75 0 00-.874-1.515.75.75 0 10-.752 1.298.25.25 0 01.126.217v9.5a.25.25 0 01-.25.25h-8.5a.25.25 0 01-.25-.25v-9.5a.25.25 0 01.126-.217z"/></symbol><use href="#icon-clippy" width="16" height="16"/><view id="view-clippy" viewBox="0 0 16 16"/></svg>

Before

Width:  |  Height:  |  Size: 710 B

6
build/site/_/js/site.js

@ -1,6 +0,0 @@
!function(){"use strict";var o=/^sect(\d)$/,i=document.querySelector(".nav-container"),a=document.querySelector(".nav-toggle");a.addEventListener("click",function(e){if(a.classList.contains("is-active"))return u(e);v(e);var t=document.documentElement;t.classList.add("is-clipped--nav"),a.classList.add("is-active"),i.classList.add("is-active");var n=c.getBoundingClientRect(),e=window.innerHeight-Math.round(n.top);Math.round(n.height)!==e&&(c.style.height=e+"px");t.addEventListener("click",u)}),i.addEventListener("click",v);var c,r,s,l=i.querySelector("[data-panel=menu]");function e(){var e,t,n=window.location.hash;if(n&&(n.indexOf("%")&&(n=decodeURIComponent(n)),!(e=l.querySelector('.nav-link[href="'+n+'"]')))){n=document.getElementById(n.slice(1));if(n)for(var i=n,a=document.querySelector("article.doc");(i=i.parentNode)&&i!==a;){var c=i.id;if(!c&&(c=o.test(i.className))&&(c=(i.firstElementChild||{}).id),c&&(e=l.querySelector('.nav-link[href="#'+c+'"]')))break}}if(e)t=e.parentNode;else{if(!s)return;e=(t=s).querySelector(".nav-link")}t!==r&&(h(l,".nav-item.is-active").forEach(function(e){e.classList.remove("is-active","is-current-path","is-current-page")}),t.classList.add("is-current-page"),d(r=t),p(l,e))}function d(e){for(var t,n=e.parentNode;!(t=n.classList).contains("nav-menu");)"LI"===n.tagName&&t.contains("nav-item")&&t.add("is-active","is-current-path"),n=n.parentNode;e.classList.add("is-active")}function n(){var e,t,n,i;this.classList.toggle("is-active")&&(e=parseFloat(window.getComputedStyle(this).marginTop),t=this.getBoundingClientRect(),n=l.getBoundingClientRect(),0<(i=(t.bottom-n.top-n.height+e).toFixed())&&(l.scrollTop+=Math.min((t.top-n.top-e).toFixed(),i)))}function u(e){v(e);e=document.documentElement;e.classList.remove("is-clipped--nav"),a.classList.remove("is-active"),i.classList.remove("is-active"),e.removeEventListener("click",u)}function v(e){e.stopPropagation()}function p(e,t){var n=e.getBoundingClientRect(),i=n.height,a=window.getComputedStyle(c);"sticky"===a.position&&(i-=n.top-parseFloat(a.top)),e.scrollTop=Math.max(0,.5*(t.getBoundingClientRect().height-i)+t.offsetTop)}function h(e,t){return[].slice.call(e.querySelectorAll(t))}l&&(c=i.querySelector(".nav"),r=l.querySelector(".is-current-page"),(s=r)?(d(r),p(l,r.querySelector(".nav-link"))):l.scrollTop=0,h(l,".nav-item-toggle").forEach(function(e){var t=e.parentElement;e.addEventListener("click",n.bind(t));e=function(e,t){e=e.nextElementSibling;return(!e||!t||e[e.matches?"matches":"msMatchesSelector"](t))&&e}(e,".nav-text");e&&(e.style.cursor="pointer",e.addEventListener("click",n.bind(t)))}),c.querySelector("[data-panel=explore] .context").addEventListener("click",function(){h(c,"[data-panel]").forEach(function(e){e.classList.toggle("is-active")})}),l.addEventListener("mousedown",function(e){1<e.detail&&e.preventDefault()}),l.querySelector('.nav-link[href^="#"]')&&(window.location.hash&&e(),window.addEventListener("hashchange",e)))}();
!function(){"use strict";var e=document.querySelector("aside.toc.sidebar");if(e){if(document.querySelector("body.-toc"))return e.parentNode.removeChild(e);var t=parseInt(e.dataset.levels||2,10);if(!(t<0)){for(var o="article.doc",d=document.querySelector(o),n=[],i=0;i<=t;i++){var r=[o];if(i){for(var a=1;a<=i;a++)r.push((2===a?".sectionbody>":"")+".sect"+a);r.push("h"+(i+1)+"[id]")}else r.push("h1[id].sect0");n.push(r.join(">"))}var c,s=(m=n.join(","),f=d.parentNode,[].slice.call((f||document).querySelectorAll(m)));if(!s.length)return e.parentNode.removeChild(e);var l={},u=s.reduce(function(e,t){var o=document.createElement("a");o.textContent=t.textContent,l[o.href="#"+t.id]=o;var n=document.createElement("li");return n.dataset.level=parseInt(t.nodeName.slice(1),10)-1,n.appendChild(o),e.appendChild(n),e},document.createElement("ul")),f=e.querySelector(".toc-menu");f||((f=document.createElement("div")).className="toc-menu");var m=document.createElement("h3");m.textContent=e.dataset.title||"Contents",f.appendChild(m),f.appendChild(u);e=!document.getElementById("toc")&&d.querySelector("h1.page ~ :not(.is-before-toc)");e&&((m=document.createElement("aside")).className="toc embedded",m.appendChild(f.cloneNode(!0)),e.parentNode.insertBefore(m,e)),window.addEventListener("load",function(){p(),window.addEventListener("scroll",p)})}}function p(){var t,e=window.pageYOffset,o=1.15*v(document.documentElement,"fontSize"),n=d.offsetTop;if(e&&window.innerHeight+e+2>=document.documentElement.scrollHeight){c=Array.isArray(c)?c:Array(c||0);var i=[],r=s.length-1;return s.forEach(function(e,t){var o="#"+e.id;t===r||e.getBoundingClientRect().top+v(e,"paddingTop")>n?(i.push(o),c.indexOf(o)<0&&l[o].classList.add("is-active")):~c.indexOf(o)&&l[c.shift()].classList.remove("is-active")}),u.scrollTop=u.scrollHeight-u.offsetHeight,void(c=1<i.length?i:i[0])}Array.isArray(c)&&(c.forEach(function(e){l[e].classList.remove("is-active")}),c=void 0),s.some(function(e){return e.getBoundingClientRect().top+v(e,"paddingTop")-o>n||void(t="#"+e.id)}),t?t!==c&&(c&&l[c].classList.remove("is-active"),(e=l[t]).classList.add("is-active"),u.scrollHeight>u.offsetHeight&&(u.scrollTop=Math.max(0,e.offsetTop+e.offsetHeight-u.offsetHeight)),c=t):c&&(l[c].classList.remove("is-active"),c=void 0)}function v(e,t){return parseFloat(window.getComputedStyle(e)[t])}}();
!function(){"use strict";var o=document.querySelector("article.doc"),t=document.querySelector(".toolbar");function i(e){return e&&(~e.indexOf("%")?decodeURIComponent(e):e).slice(1)}function r(e){if(e){if(e.altKey||e.ctrlKey)return;window.location.hash="#"+this.id,e.preventDefault()}window.scrollTo(0,function e(t,n){return o.contains(t)?e(t.offsetParent,t.offsetTop+n):n}(this,0)-t.getBoundingClientRect().bottom)}window.addEventListener("load",function e(t){var n,o;(n=i(window.location.hash))&&(o=document.getElementById(n))&&(r.bind(o)(),setTimeout(r.bind(o),0)),window.removeEventListener("load",e)}),Array.prototype.slice.call(document.querySelectorAll('a[href^="#"]')).forEach(function(e){var t,n;(t=i(e.hash))&&(n=document.getElementById(t))&&e.addEventListener("click",r.bind(n))})}();
!function(){"use strict";var t,e=document.querySelector(".page-versions .version-menu-toggle");e&&(t=document.querySelector(".page-versions"),e.addEventListener("click",function(e){t.classList.toggle("is-active"),e.stopPropagation()}),document.documentElement.addEventListener("click",function(){t.classList.remove("is-active")}))}();
!function(){"use strict";var t=document.querySelector(".navbar-burger");t&&t.addEventListener("click",function(t){t.stopPropagation(),document.documentElement.classList.toggle("is-clipped--navbar"),this.classList.toggle("is-active");var e=document.getElementById(this.dataset.target);e.classList.toggle("is-active")&&(e.style.maxHeight="",t=window.innerHeight-Math.round(e.getBoundingClientRect().top),parseInt(window.getComputedStyle(e).maxHeight,10)!==t&&(e.style.maxHeight=t+"px"))}.bind(t))}();
!function(){"use strict";var s=/^\$ (\S[^\\\n]*(\\\n(?!\$ )[^\\\n]*)*)(?=\n|$)/gm,l=/( ) *\\\n *|\\\n( ?) */g,d=/ +$/gm,r=(document.getElementById("site-script")||{dataset:{}}).dataset;[].slice.call(document.querySelectorAll(".doc pre.highlight, .doc .literalblock pre")).forEach(function(e){var t,n,c,i,a;if(e.classList.contains("highlight"))(c=(t=e.querySelector("code")).dataset.lang)&&"console"!==c&&((i=document.createElement("span")).className="source-lang",i.appendChild(document.createTextNode(c)));else{if(!e.innerText.startsWith("$ "))return;var o=e.parentNode.parentNode;o.classList.remove("literalblock"),o.classList.add("listingblock"),e.classList.add("highlightjs","highlight"),(t=document.createElement("code")).className="language-console hljs",t.dataset.lang="console",t.appendChild(e.firstChild),e.appendChild(t)}(c=document.createElement("div")).className="source-toolbox",i&&c.appendChild(i),window.navigator.clipboard&&((n=document.createElement("button")).className="copy-button",n.setAttribute("title","Copy to clipboard"),"svg"===r.svgAs?((o=document.createElementNS("http://www.w3.org/2000/svg","svg")).setAttribute("class","copy-icon"),(i=document.createElementNS("http://www.w3.org/2000/svg","use")).setAttribute("href",window.uiRootPath+"/img/octicons-16.svg#icon-clippy"),o.appendChild(i),n.appendChild(o)):((a=document.createElement("img")).src=window.uiRootPath+"/img/octicons-16.svg#view-clippy",a.alt="copy icon",a.className="copy-icon",n.appendChild(a)),(a=document.createElement("span")).className="copy-toast",a.appendChild(document.createTextNode("Copied!")),n.appendChild(a),c.appendChild(n)),e.appendChild(c),n&&n.addEventListener("click",function(e){var t=e.innerText.replace(d,"");"console"===e.dataset.lang&&t.startsWith("$ ")&&(t=function(e){var t,n=[];for(;t=s.exec(e);)n.push(t[1].replace(l,"$1$2"));return n.join(" && ")}(t));window.navigator.clipboard.writeText(t).then(function(){this.classList.add("clicked"),this.offsetHeight,this.classList.remove("clicked")}.bind(this),function(){})}.bind(n,t))})}();

1
build/site/_/js/vendor/highlight.js

File diff suppressed because one or more lines are too long

1
build/site/_/js/vendor/lunr.js

File diff suppressed because one or more lines are too long

1
build/site/_/js/vendor/search.js

@ -1 +0,0 @@
window.antoraLunr=function(n){var e=document.getElementById("search-script").dataset;const d=e.basePath;e.pagePath;var u=document.getElementById("search-input"),i=document.createElement("div");function a(e,t,n){var r,s=[];for(r in e){var a,d=e[r];for(a in d){var u=d[a];u.position&&(u=u.position[0],"title"===a?s=function(t,e,n){var r,s=[],a=n[0],d=n[1],u=document.createElement("span");return u.classList.add("search-result-highlight"),r=t?e.titles.filter(function(e){return e.id===t})[0].text:e.title,u.innerText=r.substr(a,d),n=a+d,e=r.length-1,0===a&&n===e?s.push(u):0===a?(s.push(u),s.push(document.createTextNode(r.substr(d,e)))):n===e?(s.push(document.createTextNode(r.substr(0,a))),s.push(u)):(s.push(document.createTextNode(r.substr(0,a))),s.push(u),s.push(document.createTextNode(r.substr(n,e)))),s}(t,n,u):"text"===a&&(s=function(e,t){var n=[],r=t[0],s=t[1],a=e.text,d=document.createElement("span");d.classList.add("search-result-highlight"),d.innerText=a.substr(r,s);var u=r+s,e=(t=a.length-1)<u+15?t:u+15,s=r-15<0?0:r-15;return 0===r&&u===t?n.push(d):0===r?(n.push(d),n.push(document.createTextNode(a.substr(u,e)))):u===t?(n.push(document.createTextNode(a.substr(0,r))),n.push(d)):(n.push(document.createTextNode("..."+a.substr(s,r-s))),n.push(d),n.push(document.createTextNode(a.substr(u,e-u)+"..."))),n}(n,u)))}}return s}function c(e,r,s){e.forEach(function(e){var t=e.ref;t.includes("#")&&(n=t.substring(t.indexOf("#")+1),t=t.replace("#"+n,""));var t=r[t],n=a(e.matchData.metadata,n,t);s.appendChild(function(e,t,n){var r=document.createElement("div");r.classList.add("search-result-document-title"),r.innerText=e.title;var s=document.createElement("div");s.classList.add("search-result-document-hit");var a=document.createElement("a"),e=d;a.href=e+t.ref,s.appendChild(a),n.forEach(function(e){a.appendChild(e)});n=document.createElement("div");return n.classList.add("search-result-item"),n.appendChild(r),n.appendChild(s),n.addEventListener("mousedown",function(e){e.preventDefault()}),n}(t,e,n))})}function o(e,t,n){for(;i.firstChild;)i.removeChild(i.firstChild);var r,s;""!==n.trim()&&(s=n,s=0<(e=(r=e).search(s)).length||0<(e=r.search(s+"*")).length?e:e=r.search("*"+s+"*"),(e=document.createElement("div")).classList.add("search-result-dataset"),i.appendChild(e),0<s.length?c(s,t,e):e.appendChild(function(e){var t=document.createElement("div");t.classList.add("search-result-item");var n=document.createElement("div");n.classList.add("search-result-document-hit");var r=document.createElement("strong");return r.innerText='No results found for query "'+e+'"',n.appendChild(r),t.appendChild(n),t}(n)))}return i.classList.add("search-result-dropdown-menu"),u.parentNode.appendChild(i),{init:function(e){var r,s,a,d,t=Object.assign({index:n.Index.load(e.index),store:e.store}),e=(r=function(){o(t.index,t.store,u.value)},s=100,function(){var e=this,t=arguments,n=a&&!d;clearTimeout(d),d=setTimeout(function(){d=null,a||r.apply(e,t)},s),n&&r.apply(e,t)});u.addEventListener("keydown",e),u.addEventListener("keydown",function(e){"Escape"===e.key&&(u.value="")}),u.addEventListener("blur",function(e){for(;i.firstChild;)i.removeChild(i.firstChild)})}}}(window.lunr);

9
build/site/index.html

@ -1,9 +0,0 @@
<!DOCTYPE html>
<meta charset="utf-8">
<link rel="canonical" href="http://docs.swarmlab.io/SwarmLab-HowTos/swarmlab/docs/swarmlab_faq/docs/index.html">
<script>location="swarmlab_faq/docs/index.html"</script>
<meta http-equiv="refresh" content="0; url=swarmlab_faq/docs/index.html">
<meta name="robots" content="noindex">
<title>Redirect Notice</title>
<h1>Redirect Notice</h1>
<p>The page you requested has been relocated to <a href="swarmlab_faq/docs/index.html">http://docs.swarmlab.io/SwarmLab-HowTos/swarmlab/docs/swarmlab_faq/docs/index.html</a>.</p>

1
build/site/search-index.js

File diff suppressed because one or more lines are too long

7
build/site/sitemap-swarmlab_all.xml

@ -1,7 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>http://docs.swarmlab.io/SwarmLab-HowTos/swarmlab/docs/swarmlab_all/docs/index.html</loc>
<lastmod>2021-12-05T15:46:11.580Z</lastmod>
</url>
</urlset>

7
build/site/sitemap-swarmlab_faq.xml

@ -1,7 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>http://docs.swarmlab.io/SwarmLab-HowTos/swarmlab/docs/swarmlab_faq/docs/index.html</loc>
<lastmod>2021-12-05T16:08:15.068Z</lastmod>
</url>
</urlset>

51
build/site/sitemap-swarmlab_poc-datacollector.xml

@ -1,51 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>http://docs.swarmlab.io/SwarmLab-HowTos/swarmlab/docs/swarmlab_poc-datacollector/docs/doc-dummy_service.html</loc>
<lastmod>2021-12-05T16:08:15.068Z</lastmod>
</url>
<url>
<loc>http://docs.swarmlab.io/SwarmLab-HowTos/swarmlab/docs/swarmlab_poc-datacollector/docs/doc-readmongo_service.html</loc>
<lastmod>2021-12-05T16:08:15.068Z</lastmod>
</url>
<url>
<loc>http://docs.swarmlab.io/SwarmLab-HowTos/swarmlab/docs/swarmlab_poc-datacollector/docs/index-dummy_service.html</loc>
<lastmod>2021-12-05T16:08:15.068Z</lastmod>
</url>
<url>
<loc>http://docs.swarmlab.io/SwarmLab-HowTos/swarmlab/docs/swarmlab_poc-datacollector/docs/index-microservice.html</loc>
<lastmod>2021-12-05T16:08:15.068Z</lastmod>
</url>
<url>
<loc>http://docs.swarmlab.io/SwarmLab-HowTos/swarmlab/docs/swarmlab_poc-datacollector/docs/index-mongo.html</loc>
<lastmod>2021-12-05T16:08:15.068Z</lastmod>
</url>
<url>
<loc>http://docs.swarmlab.io/SwarmLab-HowTos/swarmlab/docs/swarmlab_poc-datacollector/docs/index-nodejs.html</loc>
<lastmod>2021-12-05T16:08:15.068Z</lastmod>
</url>
<url>
<loc>http://docs.swarmlab.io/SwarmLab-HowTos/swarmlab/docs/swarmlab_poc-datacollector/docs/index-redis.html</loc>
<lastmod>2021-12-05T16:08:15.068Z</lastmod>
</url>
<url>
<loc>http://docs.swarmlab.io/SwarmLab-HowTos/swarmlab/docs/swarmlab_poc-datacollector/docs/index-src.html</loc>
<lastmod>2021-12-05T16:08:15.068Z</lastmod>
</url>
<url>
<loc>http://docs.swarmlab.io/SwarmLab-HowTos/swarmlab/docs/swarmlab_poc-datacollector/docs/index-structure.html</loc>
<lastmod>2021-12-05T16:08:15.068Z</lastmod>
</url>
<url>
<loc>http://docs.swarmlab.io/SwarmLab-HowTos/swarmlab/docs/swarmlab_poc-datacollector/docs/index-usage.html</loc>
<lastmod>2021-12-05T16:08:15.068Z</lastmod>
</url>
<url>
<loc>http://docs.swarmlab.io/SwarmLab-HowTos/swarmlab/docs/swarmlab_poc-datacollector/docs/index-vuejs.html</loc>
<lastmod>2021-12-05T16:08:15.068Z</lastmod>
</url>
<url>
<loc>http://docs.swarmlab.io/SwarmLab-HowTos/swarmlab/docs/swarmlab_poc-datacollector/docs/index.html</loc>
<lastmod>2021-12-05T16:08:15.068Z</lastmod>
</url>
</urlset>

9
build/site/sitemap.xml

@ -1,9 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>http://docs.swarmlab.io/SwarmLab-HowTos/swarmlab/docs/sitemap-swarmlab_faq.xml</loc>
</sitemap>
<sitemap>
<loc>http://docs.swarmlab.io/SwarmLab-HowTos/swarmlab/docs/sitemap-swarmlab_poc-datacollector.xml</loc>
</sitemap>
</sitemapindex>

BIN
build/site/swarmlab_all/docs/_images/adhoc.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 146 KiB

BIN
build/site/swarmlab_all/docs/_images/swarmlab.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 80 KiB

BIN
build/site/swarmlab_all/docs/_images/up-1.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 983 B

BIN
build/site/swarmlab_all/docs/_images/up-2.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 601 B

BIN
build/site/swarmlab_all/docs/_images/up.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 415 B

215
build/site/swarmlab_all/docs/index.html

@ -1,215 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>FAQ! :: Swarmlab all</title>
<link rel="canonical" href="http://docs.swarmlab.io/SwarmLab-HowTos/swarmlab/docs/swarmlab_all/docs/index.html">
<meta name="generator" content="Antora 2.3.4">
<link rel="stylesheet" href="../../_/css/site.css">
<link rel="stylesheet" href="../../_/css/search.css">
<script>var uiRootPath = '../../_'</script>
</head>
<body class="article">
<header class="header">
<nav class="navbar">
<div class="navbar-brand">
<a class="navbar-item" href="http://docs.swarmlab.io/SwarmLab-HowTos/swarmlab/docs">Swarmlab all</a>
<button class="navbar-burger" data-target="topbar-nav">
<span></span>
<span></span>
<span></span>
</button>
</div>
<div id="topbar-nav" class="navbar-menu">
<div class="navbar-end">
<a class="navbar-item" href="#">Home</a>
<div class="navbar-item has-dropdown is-hoverable">
<a class="navbar-link" href="#">Products</a>
<div class="navbar-dropdown">
<a class="navbar-item" target ="hybridgit" href="https://git.swarmlab.io:3000/zeus/swarmlab-hybrid">Hybrid</a>
<a class="navbar-item" target ="venusgit" href="https://git.swarmlab.io:3000/swarmlab/venus-client">Venus</a>
</div>
</div>
<div class="navbar-item has-dropdown is-hoverable">
<a class="navbar-link" href="#">Services</a>
<div class="navbar-dropdown">
<a class="navbar-item" target ="hybrid" href="https://api-client.swarmlab.io:8088/">Hybrid</a>
<a class="navbar-item" target ="venus" href="https://api-client.swarmlab.io:8088/">Venus</a>
</div>
</div>
</div>
</div>
</nav>
</header>
<div class="body">
<div class="nav-container" data-component="swarmlab_all" data-version="docs">
<aside class="nav">
<div class="panels">
<div class="nav-panel-menu is-active" data-panel="menu">
<nav class="nav-menu">
<h3 class="title"><a href="index.html">swarmlab_all</a></h3>
<ul class="nav-list">
<li class="nav-item" data-depth="0">
<ul class="nav-list">
<li class="nav-item is-current-page" data-depth="1">
<a class="nav-link" href="index.html">faq</a>
</li>
</ul>
</li>
</ul>
</nav>
</div>
<div class="nav-panel-explore" data-panel="explore">
<div class="context">
<span class="title">swarmlab_all</span>
<span class="version">docs</span>
</div>
<ul class="components">
<li class="component is-current">
<a class="title" href="index.html">swarmlab_all</a>
<ul class="versions">
<li class="version is-current is-latest">
<a href="index.html">docs</a>
</li>
</ul>
</li>
<li class="component">
<a class="title" href="../../swarmlab_poc-datacollector/docs/index.html">swarmlab_poc-datacollector</a>
<ul class="versions">
<li class="version is-latest">
<a href="../../swarmlab_poc-datacollector/docs/index.html">docs</a>
</li>
</ul>
</li>
</ul>
</div>
</div>
</aside>
</div>
<main class="article">
<div class="toolbar" role="navigation">
<button class="nav-toggle"></button>
<a href="index.html" class="home-link is-current"></a>
<nav class="breadcrumbs" aria-label="breadcrumbs">
<ul>
<li><a href="index.html">swarmlab_all</a></li>
<li><a href="index.html">faq</a></li>
</ul>
</nav>
</div>
<div class="content">
<aside class="toc sidebar" data-title="Contents" data-levels="2">
<div class="toc-menu"></div>
</aside>
<article class="doc">
<h1 class="page">FAQ!</h1>
<div id="preamble">
<div class="sectionbody">
<div id="How_to_get_the_path_of_current_script0" class="ulist">
<ul>
<li>
<p><a href="#How_to_get_the_path_of_current_script">How to get the path of current script</a></p>
</li>
</ul>
</div>
<div id="Fix_x509_certificate_signed_by_unknown_authority_issue0" class="ulist">
<ul>
<li>
<p><a href="#Fix_x509_certificate_signed_by_unknown_authority_issue">How to Fix "x509: certificate signed by unknown authority" issue</a></p>
</li>
</ul>
</div>
<div id="Add_current_user_to_the_docker_group0" class="ulist">
<ul>
<li>
<p><a href="#Add_current_user_to_the_docker_group">Homw to Add current user to the docker group</a></p>
</li>
</ul>
</div>
</div>
</div>
<div class="sect1 text-right">
<h2 id="How_to_get_the_path_of_current_script"><a class="anchor" href="#How_to_get_the_path_of_current_script"></a>How to get the path of current script <a href="#How_to_get_the_path_of_current_script0"><span class="image right"><img src="_images/up-1.png" alt="28" width="28"></span></a></h2>
<div class="sectionbody">
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code class="language-bash hljs" data-lang="bash">#!/bin/bash
SOURCE="${BASH_SOURCE[0]}"
while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink
TARGET="$(readlink "$SOURCE")"
if [[ $TARGET == /* ]]; then
SOURCE="$TARGET"
else
DIR="$( dirname "$SOURCE" )"
SOURCE="$DIR/$TARGET" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located
fi
done
SRPATH="$( dirname "$SOURCE" )"
SFPATH="$( cd -P "$( dirname "$SOURCE" )" &amp;&amp; pwd )"
if [ "$SFPATH" != "$SRPATH" ]; then
RDIR=$SRPATH # relativ path directory
fi
#echo "full path file $SOURCE"
#echo "full path dir $SFPATH"
#echo "relativ path dir $SRPATH"
cwdir=$PWD
wdir=$SFPATH
cd $wdir
echo "current working directory,"
echo $cwdir
echo "dir of running program"
echo $wdir</code></pre>
</div>
</div>
</div>
</div>
<div class="sect1 text-right">
<h2 id="Fix_x509_certificate_signed_by_unknown_authority_issue"><a class="anchor" href="#Fix_x509_certificate_signed_by_unknown_authority_issue"></a>How to Fix "x509: certificate signed by unknown authority" issue <a href="#Fix_x509_certificate_signed_by_unknown_authority_issue0"><span class="image right"><img src="_images/up-1.png" alt="28" width="28"></span></a></h2>
<div class="sectionbody">
<div class="literalblock">
<div class="content">
<pre>run with sudo</pre>
</div>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code class="language-bash hljs" data-lang="bash">#!/bin/bash
registry_address=hub.swarmlab.io
registry_port=5443
mkdir -p /etc/docker/certs.d/$registry_address:$registry_port
openssl s_client -showcerts -connect $registry_address:$registry_port &lt; /dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' &gt; /etc/docker/certs.d/$registry_address:$registry_port/ca.crt
registry_port=5480
mkdir -p /etc/docker/certs.d/$registry_address:$registry_port
openssl s_client -showcerts -connect $registry_address:$registry_port &lt; /dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' &gt; /etc/docker/certs.d/$registry_address:$registry_port/ca.crt</code></pre>
</div>
</div>
</div>
</div>
<div class="sect1 text-right">
<h2 id="Add_current_user_to_the_docker_group"><a class="anchor" href="#Add_current_user_to_the_docker_group"></a>Homw to Add current user to the docker group <a href="#Fix_x509_certificate_signed_by_unknown_authority_issue0"><span class="image right"><img src="_images/up-1.png" alt="28" width="28"></span></a></h2>
<div class="sectionbody">
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code class="language-bash hljs" data-lang="bash">sudo usermod -aG docker $USER</code></pre>
</div>
</div>
</div>
</div>
</article>
</div>
</main>
</div>
<footer class="footer">
<p>This page was built using the Antora <a href="https://gitlab.com/antora/antora-ui-default" target="antora">default UI</a> </p>
</footer>
<script src="../../_/js/site.js"></script>
<script async src="../../_/js/vendor/highlight.js"></script>
</body>
</html>

BIN
build/site/swarmlab_faq/docs/_images/adhoc.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 146 KiB

BIN
build/site/swarmlab_faq/docs/_images/swarmlab.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 80 KiB

BIN
build/site/swarmlab_faq/docs/_images/up-1.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 983 B

BIN
build/site/swarmlab_faq/docs/_images/up-2.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 601 B

BIN
build/site/swarmlab_faq/docs/_images/up.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 415 B

221
build/site/swarmlab_faq/docs/index.html

@ -1,221 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>FAQ! :: Swarmlab faq</title>
<link rel="canonical" href="http://docs.swarmlab.io/SwarmLab-HowTos/swarmlab/docs/swarmlab_faq/docs/index.html">
<meta name="generator" content="Antora 2.3.4">
<link rel="stylesheet" href="../../_/css/site.css">
<link rel="stylesheet" href="../../_/css/search.css">
<script>var uiRootPath = '../../_'</script>
</head>
<body class="article">
<header class="header">
<nav class="navbar">
<div class="navbar-brand">
<a class="navbar-item" href="http://docs.swarmlab.io/SwarmLab-HowTos/swarmlab/docs">Swarmlab faq</a>
<button class="navbar-burger" data-target="topbar-nav">
<span></span>
<span></span>
<span></span>
</button>
</div>
<div id="topbar-nav" class="navbar-menu">
<div class="navbar-end">
<a class="navbar-item" href="#">Home</a>
<div class="navbar-item has-dropdown is-hoverable">
<a class="navbar-link" href="#">Products</a>
<div class="navbar-dropdown">
<a class="navbar-item" target ="hybridgit" href="https://git.swarmlab.io:3000/zeus/swarmlab-hybrid">Hybrid</a>
<a class="navbar-item" target ="venusgit" href="https://git.swarmlab.io:3000/swarmlab/venus-client">Venus</a>
</div>
</div>
<div class="navbar-item has-dropdown is-hoverable">
<a class="navbar-link" href="#">Services</a>
<div class="navbar-dropdown">
<a class="navbar-item" target ="hybrid" href="https://api-client.swarmlab.io:8088/">Hybrid</a>
<a class="navbar-item" target ="venus" href="https://api-client.swarmlab.io:8088/">Venus</a>
</div>
</div>
<div class="navbar-item">
<input id="search-input" type="text" placeholder="Search docs">
</div>
</div>
</div>
</nav>
</header>
<div class="body">
<div class="nav-container" data-component="swarmlab_faq" data-version="docs">
<aside class="nav">
<div class="panels">
<div class="nav-panel-menu is-active" data-panel="menu">
<nav class="nav-menu">
<h3 class="title"><a href="index.html">swarmlab_faq</a></h3>
<ul class="nav-list">
<li class="nav-item" data-depth="0">
<ul class="nav-list">
<li class="nav-item is-current-page" data-depth="1">
<a class="nav-link" href="index.html">faq</a>
</li>
</ul>
</li>
</ul>
</nav>
</div>
<div class="nav-panel-explore" data-panel="explore">
<div class="context">
<span class="title">swarmlab_faq</span>
<span class="version">docs</span>
</div>
<ul class="components">
<li class="component is-current">
<a class="title" href="index.html">swarmlab_faq</a>
<ul class="versions">
<li class="version is-current is-latest">
<a href="index.html">docs</a>
</li>
</ul>
</li>
<li class="component">
<a class="title" href="../../swarmlab_poc-datacollector/docs/index.html">swarmlab_poc-datacollector</a>
<ul class="versions">
<li class="version is-latest">
<a href="../../swarmlab_poc-datacollector/docs/index.html">docs</a>
</li>
</ul>
</li>
</ul>
</div>
</div>
</aside>
</div>
<main class="article">
<div class="toolbar" role="navigation">
<button class="nav-toggle"></button>
<a href="index.html" class="home-link is-current"></a>
<nav class="breadcrumbs" aria-label="breadcrumbs">
<ul>
<li><a href="index.html">swarmlab_faq</a></li>
<li><a href="index.html">faq</a></li>
</ul>
</nav>
</div>
<div class="content">
<aside class="toc sidebar" data-title="Contents" data-levels="2">
<div class="toc-menu"></div>
</aside>
<article class="doc">
<h1 class="page">FAQ!</h1>
<div id="preamble">
<div class="sectionbody">
<div id="How_to_get_the_path_of_current_script0" class="ulist">
<ul>
<li>
<p><a href="#How_to_get_the_path_of_current_script">How to get the path of current script</a></p>
</li>
</ul>
</div>
<div id="Fix_x509_certificate_signed_by_unknown_authority_issue0" class="ulist">
<ul>
<li>
<p><a href="#Fix_x509_certificate_signed_by_unknown_authority_issue">How to Fix "x509: certificate signed by unknown authority" issue</a></p>
</li>
</ul>
</div>
<div id="Add_current_user_to_the_docker_group0" class="ulist">
<ul>
<li>
<p><a href="#Add_current_user_to_the_docker_group">Homw to Add current user to the docker group</a></p>
</li>
</ul>
</div>
</div>
</div>
<div class="sect1 text-right">
<h2 id="How_to_get_the_path_of_current_script"><a class="anchor" href="#How_to_get_the_path_of_current_script"></a>How to get the path of current script <a href="#How_to_get_the_path_of_current_script0"><span class="image right"><img src="_images/up-1.png" alt="28" width="28"></span></a></h2>
<div class="sectionbody">
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code class="language-bash hljs" data-lang="bash">#!/bin/bash
SOURCE="${BASH_SOURCE[0]}"
while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink
TARGET="$(readlink "$SOURCE")"
if [[ $TARGET == /* ]]; then
SOURCE="$TARGET"
else
DIR="$( dirname "$SOURCE" )"
SOURCE="$DIR/$TARGET" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located
fi
done
SRPATH="$( dirname "$SOURCE" )"
SFPATH="$( cd -P "$( dirname "$SOURCE" )" &amp;&amp; pwd )"
if [ "$SFPATH" != "$SRPATH" ]; then
RDIR=$SRPATH # relativ path directory
fi
#echo "full path file $SOURCE"
#echo "full path dir $SFPATH"
#echo "relativ path dir $SRPATH"
cwdir=$PWD
wdir=$SFPATH
cd $wdir
echo "current working directory,"
echo $cwdir
echo "dir of running program"
echo $wdir</code></pre>
</div>
</div>
</div>
</div>
<div class="sect1 text-right">
<h2 id="Fix_x509_certificate_signed_by_unknown_authority_issue"><a class="anchor" href="#Fix_x509_certificate_signed_by_unknown_authority_issue"></a>How to Fix "x509: certificate signed by unknown authority" issue <a href="#Fix_x509_certificate_signed_by_unknown_authority_issue0"><span class="image right"><img src="_images/up-1.png" alt="28" width="28"></span></a></h2>
<div class="sectionbody">
<div class="literalblock">
<div class="content">
<pre>run with sudo</pre>
</div>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code class="language-bash hljs" data-lang="bash">#!/bin/bash
registry_address=hub.swarmlab.io
registry_port=5443
mkdir -p /etc/docker/certs.d/$registry_address:$registry_port
openssl s_client -showcerts -connect $registry_address:$registry_port &lt; /dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' &gt; /etc/docker/certs.d/$registry_address:$registry_port/ca.crt
registry_port=5480
mkdir -p /etc/docker/certs.d/$registry_address:$registry_port
openssl s_client -showcerts -connect $registry_address:$registry_port &lt; /dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' &gt; /etc/docker/certs.d/$registry_address:$registry_port/ca.crt</code></pre>
</div>
</div>
</div>
</div>
<div class="sect1 text-right">
<h2 id="Add_current_user_to_the_docker_group"><a class="anchor" href="#Add_current_user_to_the_docker_group"></a>Homw to Add current user to the docker group <a href="#Fix_x509_certificate_signed_by_unknown_authority_issue0"><span class="image right"><img src="_images/up-1.png" alt="28" width="28"></span></a></h2>
<div class="sectionbody">
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code class="language-bash hljs" data-lang="bash">sudo usermod -aG docker $USER</code></pre>
</div>
</div>
</div>
</div>
</article>
</div>
</main>
</div>
<footer class="footer">
<p>This page was built using the Antora <a href="https://gitlab.com/antora/antora-ui-default" target="antora">default UI</a> </p>
</footer>
<script src="../../_/js/site.js"></script>
<script src="../../_/js/vendor/lunr.js"></script>
<script src="../../_/js/vendor/search.js" id="search-script" data-base-path="../.." data-page-path="/swarmlab_faq/docs/index.html"></script>
<script async src="../../_/../search-index.js"></script>
<script async src="../../_/js/vendor/highlight.js"></script>
</body>
</html>

BIN
build/site/swarmlab_poc-datacollector/docs/_images/bidirectional-communication.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

BIN
build/site/swarmlab_poc-datacollector/docs/_images/docker-images.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 125 KiB

BIN
build/site/swarmlab_poc-datacollector/docs/_images/fluent-mongo.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

BIN
build/site/swarmlab_poc-datacollector/docs/_images/gynamic-swarm.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

BIN
build/site/swarmlab_poc-datacollector/docs/_images/intro.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 KiB

BIN
build/site/swarmlab_poc-datacollector/docs/_images/nvc.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

BIN
build/site/swarmlab_poc-datacollector/docs/_images/nvc1.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.9 KiB

BIN
build/site/swarmlab_poc-datacollector/docs/_images/openweb.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

1
build/site/swarmlab_poc-datacollector/docs/_images/replica-set-primary-with-two-secondaries.bakedsvg.svg

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 12 KiB

BIN
build/site/swarmlab_poc-datacollector/docs/_images/swarm-poc.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

BIN
build/site/swarmlab_poc-datacollector/docs/_images/swarm-poc1.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

BIN
build/site/swarmlab_poc-datacollector/docs/_images/swarmlab-connect.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 216 KiB

BIN
build/site/swarmlab_poc-datacollector/docs/_images/swarmlab.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 80 KiB

BIN
build/site/swarmlab_poc-datacollector/docs/_images/types-of-mounts-bind.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

BIN
build/site/swarmlab_poc-datacollector/docs/_images/vue-modules.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 KiB

BIN
build/site/swarmlab_poc-datacollector/docs/_images/vue.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 KiB

360
build/site/swarmlab_poc-datacollector/docs/doc-dummy_service.html

@ -1,360 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>dummy_service :: Swarmlab faq</title>
<link rel="canonical" href="http://docs.swarmlab.io/SwarmLab-HowTos/swarmlab/docs/swarmlab_poc-datacollector/docs/doc-dummy_service.html">
<meta name="generator" content="Antora 2.3.4">
<link rel="stylesheet" href="../../_/css/site.css">
<link rel="stylesheet" href="../../_/css/search.css">
<script>var uiRootPath = '../../_'</script>
</head>
<body class="article">
<header class="header">
<nav class="navbar">
<div class="navbar-brand">
<a class="navbar-item" href="http://docs.swarmlab.io/SwarmLab-HowTos/swarmlab/docs">Swarmlab faq</a>
<button class="navbar-burger" data-target="topbar-nav">
<span></span>
<span></span>
<span></span>
</button>
</div>
<div id="topbar-nav" class="navbar-menu">
<div class="navbar-end">
<a class="navbar-item" href="#">Home</a>
<div class="navbar-item has-dropdown is-hoverable">
<a class="navbar-link" href="#">Products</a>
<div class="navbar-dropdown">
<a class="navbar-item" target ="hybridgit" href="https://git.swarmlab.io:3000/zeus/swarmlab-hybrid">Hybrid</a>
<a class="navbar-item" target ="venusgit" href="https://git.swarmlab.io:3000/swarmlab/venus-client">Venus</a>
</div>
</div>
<div class="navbar-item has-dropdown is-hoverable">
<a class="navbar-link" href="#">Services</a>
<div class="navbar-dropdown">
<a class="navbar-item" target ="hybrid" href="https://api-client.swarmlab.io:8088/">Hybrid</a>
<a class="navbar-item" target ="venus" href="https://api-client.swarmlab.io:8088/">Venus</a>
</div>
</div>
<div class="navbar-item">
<input id="search-input" type="text" placeholder="Search docs">
</div>
</div>
</div>
</nav>
</header>
<div class="body">
<div class="nav-container" data-component="swarmlab_poc-datacollector" data-version="docs">
<aside class="nav">
<div class="panels">
<div class="nav-panel-menu is-active" data-panel="menu">
<nav class="nav-menu">
<h3 class="title"><a href="index.html">swarmlab_poc-datacollector</a></h3>
<ul class="nav-list">
<li class="nav-item" data-depth="0">
<ul class="nav-list">
<li class="nav-item" data-depth="1">
<a class="nav-link" href="index.html">datacollector</a>
</li>
<li class="nav-item" data-depth="1">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="index-structure.html">project structure</a>
<ul class="nav-list">
<li class="nav-item" data-depth="2">
<a class="nav-link" href="index-vuejs.html">Vue.JS</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="index-nodejs.html">Node JS</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="index-mongo.html">Mongo</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="index-redis.html">Redis</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="1">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="index-src.html">src-files</a>
<ul class="nav-list">
<li class="nav-item is-current-page" data-depth="2">
<a class="nav-link" href="doc-dummy_service.html">dummy_service</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="doc-readmongo_service.html">readmongo_service</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="1">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="index-usage.html">Usage</a>
<ul class="nav-list">
<li class="nav-item" data-depth="2">
<a class="nav-link" href="index-dummy_service.html">dummy_service</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="1">
<a class="nav-link" href="index-microservice.html">Add Microservice</a>
</li>
</ul>
</li>
</ul>
</nav>
</div>
<div class="nav-panel-explore" data-panel="explore">
<div class="context">
<span class="title">swarmlab_poc-datacollector</span>
<span class="version">docs</span>
</div>
<ul class="components">
<li class="component">
<a class="title" href="../../swarmlab_faq/docs/index.html">swarmlab_faq</a>
<ul class="versions">
<li class="version is-latest">
<a href="../../swarmlab_faq/docs/index.html">docs</a>
</li>
</ul>
</li>
<li class="component is-current">
<a class="title" href="index.html">swarmlab_poc-datacollector</a>
<ul class="versions">
<li class="version is-current is-latest">
<a href="index.html">docs</a>
</li>
</ul>
</li>
</ul>
</div>
</div>
</aside>
</div>
<main class="article">
<div class="toolbar" role="navigation">
<button class="nav-toggle"></button>
<a href="../../swarmlab_faq/docs/index.html" class="home-link"></a>
<nav class="breadcrumbs" aria-label="breadcrumbs">
<ul>
<li><a href="index.html">swarmlab_poc-datacollector</a></li>
<li><a href="index-src.html">src-files</a></li>
<li><a href="doc-dummy_service.html">dummy_service</a></li>
</ul>
</nav>
</div>
<div class="content">
<aside class="toc sidebar" data-title="Contents" data-levels="2">
<div class="toc-menu"></div>
</aside>
<article class="doc">
<h1 class="page">dummy_service</h1>
<div class="sect1">
<h2 id="_fluent_conf"><a class="anchor" href="#_fluent_conf"></a>fluent.conf</h2>
<div class="sectionbody">
<div class="literalblock">
<div class="content">
<pre>config file: WriteToMongo/fluent/fluent.conf</pre>
</div>
</div>
<div class="sect2">
<h3 id="_edit"><a class="anchor" href="#_edit"></a>edit</h3>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code class="language-c hljs" data-lang="c">&lt;match debug.*&gt;
@type stdout
&lt;/match&gt;
&lt;source&gt; <i class="conum" data-value="1"></i><b>(1)</b>
@type tail
path /var/log/*.log
path_key tailed_path
pos_file /tmp/fluentd--1605454018.pos
pos_file_compaction_interval 30s
refresh_interval 30s
skip_refresh_on_startup
tag stats.node
enable_stat_watcher false
enable_watch_timer true
read_from_head true
follow_inodes true # Without this parameter, file rotation causes log duplication
&lt;parse&gt;
@type none
keep_time_key true
&lt;/parse&gt;
&lt;/source&gt;
# define the source which will provide log events
&lt;source&gt; <i class="conum" data-value="1"></i><b>(1)</b>
@type tail <i class="conum" data-value="2"></i><b>(2)</b>
path /var/log-in/*/* <i class="conum" data-value="3"></i><b>(3)</b>
path_key tailed_path
pos_file /tmp/fluentd--1605454014.pos <i class="conum" data-value="4"></i><b>(4)</b>
pos_file_compaction_interval 10s
refresh_interval 30s
skip_refresh_on_startup
tag log.node <i class="conum" data-value="5"></i><b>(5)</b>
enable_stat_watcher false <i class="conum" data-value="6"></i><b>(6)</b>
enable_watch_timer true <i class="conum" data-value="7"></i><b>(7)</b>
read_from_head true
follow_inodes true # Without this parameter, file rotation causes log duplication
&lt;parse&gt;
@type none <i class="conum" data-value="8"></i><b>(8)</b>
keep_time_key true
&lt;/parse&gt;
&lt;/source&gt;
## match tag=log.* and write to mongo
&lt;match log.*&gt; <i class="conum" data-value="9"></i><b>(9)</b>
@type copy
copy_mode deep <i class="conum" data-value="10"></i><b>(10)</b>
&lt;store ignore_error&gt; <i class="conum" data-value="11"></i><b>(11)</b>
@type mongo <i class="conum" data-value="12"></i><b>(12)</b>
connection_string mongodb://mongo.poc-datacollector_datacollector-net:27017/fluentdb <i class="conum" data-value="13"></i><b>(13)</b>
#database fluentdb
collection test
#host mongo.poc-datacollector_datacollector-net
#port 27017
num_retries 60
capped <i class="conum" data-value="14"></i><b>(14)</b>
capped_size 100m
&lt;inject&gt;
# key name of timestamp
time_key time
&lt;/inject&gt;
&lt;buffer&gt;
retry_wait 50s
flush_mode immediate <i class="conum" data-value="15"></i><b>(15)</b>
#flush_interval 10s
&lt;/buffer&gt;
&lt;/store&gt;
&lt;store ignore_error&gt;
@type stdout
&lt;/store&gt;
&lt;store ignore_error&gt;
@type file
path /tmp/mylog
&lt;buffer&gt;
timekey 1d
timekey_use_utc true
timekey_wait 10s
&lt;/buffer&gt;
&lt;/store&gt;
&lt;/match&gt;</code></pre>
</div>
</div>
<div class="colist arabic">
<table>
<tr>
<td><i class="conum" data-value="1"></i><b>1</b></td>
<td><strong>&lt;source&gt;</strong> directives determine the input sources. The source submits events to the Fluentd routing engine. An event consists of three entities: <strong>tag</strong>, <strong>time</strong> and <strong>record</strong>.</td>
</tr>
<tr>
<td><i class="conum" data-value="2"></i><b>2</b></td>
<td>The <strong>tail Input plugin</strong> allows Fluentd to read events from the tail of text files. Its behavior is similar to the tail -F command. <a href="#tailmongo">see image: type tai</a></td>
</tr>
<tr>
<td><i class="conum" data-value="3"></i><b>3</b></td>
<td>The <strong>path(s) to read</strong>. Multiple paths can be specified, separated by comma ','. '*' format can be included to add/remove the watch file dynamically. At the interval of refresh_interval, Fluentd refreshes the list of watch files.</td>
</tr>
<tr>
<td><i class="conum" data-value="4"></i><b>4</b></td>
<td><strong>pos_file</strong> handles multiple positions in one file so no need to have multiple pos_file parameters per source. Don&#8217;t share <strong>pos_file</strong> between <strong>tail</strong> configurations. It causes unexpected behavior e.g. corrupt pos_file content.</td>
</tr>
<tr>
<td><i class="conum" data-value="5"></i><b>5</b></td>
<td>The <strong>tag</strong> of the event.</td>
</tr>
<tr>
<td><i class="conum" data-value="6"></i><b>6</b></td>
<td>Enables the additional inotify-based watcher. <strong>Either of enable_watch_timer or enable_stat_watcher must be true</strong></td>
</tr>
<tr>
<td><i class="conum" data-value="7"></i><b>7</b></td>
<td>Enables the additional watch timer. <strong>Either of enable_watch_timer or enable_stat_watcher must be true</strong></td>
</tr>
<tr>
<td><i class="conum" data-value="8"></i><b>8</b></td>
<td>The <strong>none parser plugin</strong> parses the line as-is with the single field. This format is to defer the parsing/structuring of the data.</td>
</tr>
<tr>
<td><i class="conum" data-value="9"></i><b>9</b></td>
<td><strong>&lt;match&gt;</strong> directives determine the output destinations. The match directive looks for events with matching tags and processes them. The most common use of the match directive is to <strong>output events to other systems</strong>.</td>
</tr>
<tr>
<td><i class="conum" data-value="10"></i><b>10</b></td>
<td>Chooses how to pass the events to &lt;store&gt; plugins. <strong>deep</strong> copied events to each store plugin. This mode is useful when you modify the nested field after out_copy, e.g. Docker Swarm/Kubernetes related fields.</td>
</tr>
<tr>
<td><i class="conum" data-value="11"></i><b>11</b></td>
<td>Specifies the <strong>storage destinations</strong>. The format is the same as the &lt;match&gt; directive. This section is required at least once.</td>
</tr>
<tr>
<td><i class="conum" data-value="12"></i><b>12</b></td>
<td>The <strong>mongo Output plugin</strong> writes records into , the document-oriented database system.</td>
</tr>
<tr>
<td><i class="conum" data-value="13"></i><b>13</b></td>
<td>The <a href="https://docs.mongodb.com/manual/reference/connection-string/#std-label-connections-standard-connection-string-format" target="_blank" rel="noopener">MongoDB connection string</a> for URI.</td>
</tr>
<tr>
<td><i class="conum" data-value="14"></i><b>14</b></td>
<td>This option enables the <strong>capped collection</strong>. This is always recommended. <a href="https://docs.mongodb.com/manual/core/capped-collections/" target="_blank" rel="noopener">Capped collections</a> are fixed-size collections that support high-throughput operations that insert and retrieve documents based on insertion order. Capped collections work in a way similar to circular buffers: once a collection fills its allocated space, it makes room for new documents by overwriting the oldest documents in the collection.</td>
</tr>
<tr>
<td><i class="conum" data-value="15"></i><b>15</b></td>
<td><strong>Flushing</strong> Parameters:</td>
</tr>
</table>
</div>
<div id="tailmongo" class="imageblock right">
<div class="content">
<img src="_images/fluent-mongo.png" alt="fluent mongo">
</div>
<div class="title">Figure 1. type tail</div>
</div>
</div>
<div class="sect2">
<h3 id="_restart"><a class="anchor" href="#_restart"></a>restart</h3>
<div class="paragraph">
<p>To make changes become effective a restart is required</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code class="language-bash hljs" data-lang="bash">./tools/poc-service-restart-dummy</code></pre>
</div>
</div>
</div>
</div>
</div>
</article>
</div>
</main>
</div>
<footer class="footer">
<p>This page was built using the Antora <a href="https://gitlab.com/antora/antora-ui-default" target="antora">default UI</a> </p>
</footer>
<script src="../../_/js/site.js"></script>
<script src="../../_/js/vendor/lunr.js"></script>
<script src="../../_/js/vendor/search.js" id="search-script" data-base-path="../.." data-page-path="/swarmlab_poc-datacollector/docs/doc-dummy_service.html"></script>
<script async src="../../_/../search-index.js"></script>
<script async src="../../_/js/vendor/highlight.js"></script>
</body>
</html>

342
build/site/swarmlab_poc-datacollector/docs/doc-readmongo_service.html

@ -1,342 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>readmongo_service :: Swarmlab faq</title>
<link rel="canonical" href="http://docs.swarmlab.io/SwarmLab-HowTos/swarmlab/docs/swarmlab_poc-datacollector/docs/doc-readmongo_service.html">
<meta name="generator" content="Antora 2.3.4">
<link rel="stylesheet" href="../../_/css/site.css">
<link rel="stylesheet" href="../../_/css/search.css">
<script>var uiRootPath = '../../_'</script>
</head>
<body class="article">
<header class="header">
<nav class="navbar">
<div class="navbar-brand">
<a class="navbar-item" href="http://docs.swarmlab.io/SwarmLab-HowTos/swarmlab/docs">Swarmlab faq</a>
<button class="navbar-burger" data-target="topbar-nav">
<span></span>
<span></span>
<span></span>
</button>
</div>
<div id="topbar-nav" class="navbar-menu">
<div class="navbar-end">
<a class="navbar-item" href="#">Home</a>
<div class="navbar-item has-dropdown is-hoverable">
<a class="navbar-link" href="#">Products</a>
<div class="navbar-dropdown">
<a class="navbar-item" target ="hybridgit" href="https://git.swarmlab.io:3000/zeus/swarmlab-hybrid">Hybrid</a>
<a class="navbar-item" target ="venusgit" href="https://git.swarmlab.io:3000/swarmlab/venus-client">Venus</a>
</div>
</div>
<div class="navbar-item has-dropdown is-hoverable">
<a class="navbar-link" href="#">Services</a>
<div class="navbar-dropdown">
<a class="navbar-item" target ="hybrid" href="https://api-client.swarmlab.io:8088/">Hybrid</a>
<a class="navbar-item" target ="venus" href="https://api-client.swarmlab.io:8088/">Venus</a>
</div>
</div>
<div class="navbar-item">
<input id="search-input" type="text" placeholder="Search docs">
</div>
</div>
</div>
</nav>
</header>
<div class="body">
<div class="nav-container" data-component="swarmlab_poc-datacollector" data-version="docs">
<aside class="nav">
<div class="panels">
<div class="nav-panel-menu is-active" data-panel="menu">
<nav class="nav-menu">
<h3 class="title"><a href="index.html">swarmlab_poc-datacollector</a></h3>
<ul class="nav-list">
<li class="nav-item" data-depth="0">
<ul class="nav-list">
<li class="nav-item" data-depth="1">
<a class="nav-link" href="index.html">datacollector</a>
</li>
<li class="nav-item" data-depth="1">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="index-structure.html">project structure</a>
<ul class="nav-list">
<li class="nav-item" data-depth="2">
<a class="nav-link" href="index-vuejs.html">Vue.JS</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="index-nodejs.html">Node JS</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="index-mongo.html">Mongo</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="index-redis.html">Redis</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="1">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="index-src.html">src-files</a>
<ul class="nav-list">
<li class="nav-item" data-depth="2">
<a class="nav-link" href="doc-dummy_service.html">dummy_service</a>
</li>
<li class="nav-item is-current-page" data-depth="2">
<a class="nav-link" href="doc-readmongo_service.html">readmongo_service</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="1">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="index-usage.html">Usage</a>
<ul class="nav-list">
<li class="nav-item" data-depth="2">
<a class="nav-link" href="index-dummy_service.html">dummy_service</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="1">
<a class="nav-link" href="index-microservice.html">Add Microservice</a>
</li>
</ul>
</li>
</ul>
</nav>
</div>
<div class="nav-panel-explore" data-panel="explore">
<div class="context">
<span class="title">swarmlab_poc-datacollector</span>
<span class="version">docs</span>
</div>
<ul class="components">
<li class="component">
<a class="title" href="../../swarmlab_faq/docs/index.html">swarmlab_faq</a>
<ul class="versions">
<li class="version is-latest">
<a href="../../swarmlab_faq/docs/index.html">docs</a>
</li>
</ul>
</li>
<li class="component is-current">
<a class="title" href="index.html">swarmlab_poc-datacollector</a>
<ul class="versions">
<li class="version is-current is-latest">
<a href="index.html">docs</a>
</li>
</ul>
</li>
</ul>
</div>
</div>
</aside>
</div>
<main class="article">
<div class="toolbar" role="navigation">
<button class="nav-toggle"></button>
<a href="../../swarmlab_faq/docs/index.html" class="home-link"></a>
<nav class="breadcrumbs" aria-label="breadcrumbs">
<ul>
<li><a href="index.html">swarmlab_poc-datacollector</a></li>
<li><a href="index-src.html">src-files</a></li>
<li><a href="doc-readmongo_service.html">readmongo_service</a></li>
</ul>
</nav>
</div>
<div class="content">
<aside class="toc sidebar" data-title="Contents" data-levels="2">
<div class="toc-menu"></div>
</aside>
<article class="doc">
<h1 class="page">readmongo_service</h1>
<div class="sect1">
<h2 id="_app"><a class="anchor" href="#_app"></a>App</h2>
<div class="sectionbody">
<div class="literalblock">
<div class="content">
<pre>src: readmongo/swarmlab-app/src/run/</pre>
</div>
</div>
<div class="sect2">
<h3 id="_stream2mongo"><a class="anchor" href="#_stream2mongo"></a>stream2mongo</h3>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code class="language-javascript hljs" data-lang="javascript">async function onCollectionNew(err, collection) {
let options = {
tailable: true,
awaitdata: true,
numberOfRetries: -1,
tailableRetryInterval: 500,
};
var cursor = collection.find({}, options).stream();
var itemsProcessed = 0;
var room = this.user;
var sid = this.id;
console.log("Inside callback: " + room + " Id: " + sid);
var rep = setUser(sid, room);
cursor.on("data", async function (data) {
cursor.pause();
var res = await getkey(sid);
if (res == "1") {
cursor.resume();
var obj = JSON.parse(JSON.stringify(data));
io.in(room).emit("logsend", obj);
} else if (res == "2") {
cursor.resume();
console.log("Cursor is closing...");
cursor.close();
}
});
}</code></pre>
</div>
</div>
<div class="literalblock">
<div class="content">
<pre>var cursor = collection.find({}, options).stream();</pre>
</div>
</div>
<div class="paragraph">
<p>A Tailable Cursor <strong>remains open</strong> after the client exhausts the results in the initial cursor.</p>
</div>
<div class="paragraph">
<p>Tailable cursors are conceptually equivalent to the <strong>tail</strong> Unix command with the <strong>-f</strong> option (i.e. with "follow" mode).</p>
</div>
<div class="paragraph">
<p>After clients insert new additional documents into a capped collection, the tailable cursor will continue to retrieve documents.</p>
</div>
</div>
<div class="sect2">
<h3 id="_socket_opencheckstreamevent"><a class="anchor" href="#_socket_opencheckstreamevent"></a>socket (open,checkstream,event)</h3>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code class="language-javascript hljs" data-lang="javascript">const pubClient = new Redis({
host: REDIS,
port: REDIS_PORT,
});
// ------------------------------
// read from redis
// ------------------------------
async function getkey(id) {
return new Promise((resolve) =&gt; {
pubClient.get(id, function (err, reply) {
if (err) {
resolve(null);
} else {
if (reply) {
//console.log("---------fount----------");
resolve(1);
} else {
console.log("----------not fount------------");
resolve(2);
}
}
});
});
}
// ------------------------------
// check if stream exists
// ------------------------------
async function checkstream(data) {
var res = await getkey(data.id);
if (res == "1") {
console.log("Stream is on!");
} else {
console.log("Creating Stream....");
var url = URL;
MongoClient.connect(
url,
{ useNewUrlParser: true, useUnifiedTopology: true },
function (err, db) {
if (err) throw err;
var dbo = db.db(DATABASE);
dbo.collection(COLLECTION, onCollectionNew.bind(data));
}
);
}
}
// ------------------------------
// --- open socket -------------
// ------------------------------
io.on("connection", (s) =&gt; {
console.error("socket connection");
var usersession = new Object();
usersession.SOCKET = {};
usersession.SOCKET.error = {};
console.error("socket ...");
s.auth = false;
// ------------------------------
// --- authenticate
// ------------------------------
s.on("authenticate", function (data) {
const token = data;
(async () =&gt; {
var isvalid = await checkToken(token);
if (isvalid.action == "ok") {
usersession.SOCKET.user = isvalid.user;
usersession.SOCKET.scope = isvalid.scope; // space delimeter
usersession.SOCKET.token = isvalid.token;
usersession.SOCKET.id = s.id;
s.auth = true;
} else {
s.auth = false;
}
})();
});
// ------------------------------
// --- event ----------------
// ------------------------------
s.on("onevent", function (data) {
var binddata = {
user: data,
id: s.id,
};
checkstream(binddata);
});
}</code></pre>
</div>
</div>
</div>
<div class="sect2">
<h3 id="_restart"><a class="anchor" href="#_restart"></a>restart</h3>
<div class="paragraph">
<p>To make changes become effective a restart is <strong>not</strong> required</p>
</div>
<div class="admonitionblock note">
<table>
<tr>
<td class="icon">
<i class="fa icon-note" title="Note"></i>
</td>
<td class="content">
You may have to wait (couple of minutes) for the system to fully provision resources. You may have to refresh the web interface a couple of times!
</td>
</tr>
</table>
</div>
</div>
</div>
</div>
</article>
</div>
</main>
</div>
<footer class="footer">
<p>This page was built using the Antora <a href="https://gitlab.com/antora/antora-ui-default" target="antora">default UI</a> </p>
</footer>
<script src="../../_/js/site.js"></script>
<script src="../../_/js/vendor/lunr.js"></script>
<script src="../../_/js/vendor/search.js" id="search-script" data-base-path="../.." data-page-path="/swarmlab_poc-datacollector/docs/doc-readmongo_service.html"></script>
<script async src="../../_/../search-index.js"></script>
<script async src="../../_/js/vendor/highlight.js"></script>
</body>
</html>

270
build/site/swarmlab_poc-datacollector/docs/index-dummy_service.html

@ -1,270 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Usage dummy_service :: Swarmlab faq</title>
<link rel="canonical" href="http://docs.swarmlab.io/SwarmLab-HowTos/swarmlab/docs/swarmlab_poc-datacollector/docs/index-dummy_service.html">
<meta name="generator" content="Antora 2.3.4">
<link rel="stylesheet" href="../../_/css/site.css">
<link rel="stylesheet" href="../../_/css/search.css">
<script>var uiRootPath = '../../_'</script>
</head>
<body class="article">
<header class="header">
<nav class="navbar">
<div class="navbar-brand">
<a class="navbar-item" href="http://docs.swarmlab.io/SwarmLab-HowTos/swarmlab/docs">Swarmlab faq</a>
<button class="navbar-burger" data-target="topbar-nav">
<span></span>
<span></span>
<span></span>
</button>
</div>
<div id="topbar-nav" class="navbar-menu">
<div class="navbar-end">
<a class="navbar-item" href="#">Home</a>
<div class="navbar-item has-dropdown is-hoverable">
<a class="navbar-link" href="#">Products</a>
<div class="navbar-dropdown">
<a class="navbar-item" target ="hybridgit" href="https://git.swarmlab.io:3000/zeus/swarmlab-hybrid">Hybrid</a>
<a class="navbar-item" target ="venusgit" href="https://git.swarmlab.io:3000/swarmlab/venus-client">Venus</a>
</div>
</div>
<div class="navbar-item has-dropdown is-hoverable">
<a class="navbar-link" href="#">Services</a>
<div class="navbar-dropdown">
<a class="navbar-item" target ="hybrid" href="https://api-client.swarmlab.io:8088/">Hybrid</a>
<a class="navbar-item" target ="venus" href="https://api-client.swarmlab.io:8088/">Venus</a>
</div>
</div>
<div class="navbar-item">
<input id="search-input" type="text" placeholder="Search docs">
</div>
</div>
</div>
</nav>
</header>
<div class="body">
<div class="nav-container" data-component="swarmlab_poc-datacollector" data-version="docs">
<aside class="nav">
<div class="panels">
<div class="nav-panel-menu is-active" data-panel="menu">
<nav class="nav-menu">
<h3 class="title"><a href="index.html">swarmlab_poc-datacollector</a></h3>
<ul class="nav-list">
<li class="nav-item" data-depth="0">
<ul class="nav-list">
<li class="nav-item" data-depth="1">
<a class="nav-link" href="index.html">datacollector</a>
</li>
<li class="nav-item" data-depth="1">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="index-structure.html">project structure</a>
<ul class="nav-list">
<li class="nav-item" data-depth="2">
<a class="nav-link" href="index-vuejs.html">Vue.JS</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="index-nodejs.html">Node JS</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="index-mongo.html">Mongo</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="index-redis.html">Redis</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="1">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="index-src.html">src-files</a>
<ul class="nav-list">
<li class="nav-item" data-depth="2">
<a class="nav-link" href="doc-dummy_service.html">dummy_service</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="doc-readmongo_service.html">readmongo_service</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="1">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="index-usage.html">Usage</a>
<ul class="nav-list">
<li class="nav-item is-current-page" data-depth="2">
<a class="nav-link" href="index-dummy_service.html">dummy_service</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="1">
<a class="nav-link" href="index-microservice.html">Add Microservice</a>
</li>
</ul>
</li>
</ul>
</nav>
</div>
<div class="nav-panel-explore" data-panel="explore">
<div class="context">
<span class="title">swarmlab_poc-datacollector</span>
<span class="version">docs</span>
</div>
<ul class="components">
<li class="component">
<a class="title" href="../../swarmlab_faq/docs/index.html">swarmlab_faq</a>
<ul class="versions">
<li class="version is-latest">
<a href="../../swarmlab_faq/docs/index.html">docs</a>
</li>
</ul>
</li>
<li class="component is-current">
<a class="title" href="index.html">swarmlab_poc-datacollector</a>
<ul class="versions">
<li class="version is-current is-latest">
<a href="index.html">docs</a>
</li>
</ul>
</li>
</ul>
</div>
</div>
</aside>
</div>
<main class="article">
<div class="toolbar" role="navigation">
<button class="nav-toggle"></button>
<a href="../../swarmlab_faq/docs/index.html" class="home-link"></a>
<nav class="breadcrumbs" aria-label="breadcrumbs">
<ul>
<li><a href="index.html">swarmlab_poc-datacollector</a></li>
<li><a href="index-usage.html">Usage</a></li>
<li><a href="index-dummy_service.html">dummy_service</a></li>
</ul>
</nav>
</div>
<div class="content">
<aside class="toc sidebar" data-title="Contents" data-levels="2">
<div class="toc-menu"></div>
</aside>
<article class="doc">
<h1 class="page">Usage dummy_service</h1>
<div class="sect1">
<h2 id="_usage_dummy_service"><a class="anchor" href="#_usage_dummy_service"></a>usage dummy_service</h2>
<div class="sectionbody">
<div class="admonitionblock warning">
<table>
<tr>
<td class="icon">
<i class="fa icon-warning" title="Warning"></i>
</td>
<td class="content">
Change to project root directory. You can find this here: Instances &#8594; [Select Instance] &#8594; Connect -&#8594; "<strong>Project BaseDir</strong>"
</td>
</tr>
</table>
</div>
<div class="sect2">
<h3 id="_list_devices"><a class="anchor" href="#_list_devices"></a>List devices</h3>
<div class="ulist">
<ul>
<li>
<p>Open a terminal and Run:</p>
</li>
</ul>
</div>
<div class="listingblock bash">
<div class="content">
<pre class="highlightjs highlight"><code>./tools/poc-dummy-ls</code></pre>
</div>
</div>
</div>
<div class="sect2">
<h3 id="_add_device"><a class="anchor" href="#_add_device"></a>Add device</h3>
<div class="ulist">
<ul>
<li>
<p>Open a terminal and Run:</p>
</li>
</ul>
</div>
<div class="listingblock bash">
<div class="content">
<pre class="highlightjs highlight"><code>./tools/poc-dummy-create device-name</code></pre>
</div>
</div>
</div>
<div class="sect2">
<h3 id="_remove_device"><a class="anchor" href="#_remove_device"></a>Remove device</h3>
<div class="ulist">
<ul>
<li>
<p>Open a terminal and Run:</p>
</li>
</ul>
</div>
<div class="listingblock bash">
<div class="content">
<pre class="highlightjs highlight"><code>./tools/poc-dummy-rm device-name</code></pre>
</div>
</div>
</div>
<div class="sect2">
<h3 id="_send_data_from_device"><a class="anchor" href="#_send_data_from_device"></a>Send data from device</h3>
<div class="ulist">
<ul>
<li>
<p>Open a terminal and Run:</p>
</li>
</ul>
</div>
<div class="listingblock bash">
<div class="content">
<pre class="highlightjs highlight"><code>./tools/poc-dummy-send device-name "data test"</code></pre>
</div>
</div>
<div class="admonitionblock tip">
<table>
<tr>
<td class="icon">
<i class="fa icon-tip" title="Tip"></i>
</td>
<td class="content">
Always use double quotes around data
</td>
</tr>
</table>
</div>
</div>
<div class="sect2">
<h3 id="_device_history"><a class="anchor" href="#_device_history"></a>Device history</h3>
<div class="ulist">
<ul>
<li>
<p>Open a terminal and Run:</p>
</li>
</ul>
</div>
<div class="listingblock bash">
<div class="content">
<pre class="highlightjs highlight"><code>./tools/poc-dummy-log device-name</code></pre>
</div>
</div>
</div>
</div>
</div>
</article>
</div>
</main>
</div>
<footer class="footer">
<p>This page was built using the Antora <a href="https://gitlab.com/antora/antora-ui-default" target="antora">default UI</a> </p>
</footer>
<script src="../../_/js/site.js"></script>
<script src="../../_/js/vendor/lunr.js"></script>
<script src="../../_/js/vendor/search.js" id="search-script" data-base-path="../.." data-page-path="/swarmlab_poc-datacollector/docs/index-dummy_service.html"></script>
<script async src="../../_/../search-index.js"></script>
<script async src="../../_/js/vendor/highlight.js"></script>
</body>
</html>

217
build/site/swarmlab_poc-datacollector/docs/index-microservice.html

@ -1,217 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Add microservice :: Swarmlab faq</title>
<link rel="canonical" href="http://docs.swarmlab.io/SwarmLab-HowTos/swarmlab/docs/swarmlab_poc-datacollector/docs/index-microservice.html">
<meta name="generator" content="Antora 2.3.4">
<link rel="stylesheet" href="../../_/css/site.css">
<link rel="stylesheet" href="../../_/css/search.css">
<script>var uiRootPath = '../../_'</script>
</head>
<body class="article">
<header class="header">
<nav class="navbar">
<div class="navbar-brand">
<a class="navbar-item" href="http://docs.swarmlab.io/SwarmLab-HowTos/swarmlab/docs">Swarmlab faq</a>
<button class="navbar-burger" data-target="topbar-nav">
<span></span>
<span></span>
<span></span>
</button>
</div>
<div id="topbar-nav" class="navbar-menu">
<div class="navbar-end">
<a class="navbar-item" href="#">Home</a>
<div class="navbar-item has-dropdown is-hoverable">
<a class="navbar-link" href="#">Products</a>
<div class="navbar-dropdown">
<a class="navbar-item" target ="hybridgit" href="https://git.swarmlab.io:3000/zeus/swarmlab-hybrid">Hybrid</a>
<a class="navbar-item" target ="venusgit" href="https://git.swarmlab.io:3000/swarmlab/venus-client">Venus</a>
</div>
</div>
<div class="navbar-item has-dropdown is-hoverable">
<a class="navbar-link" href="#">Services</a>
<div class="navbar-dropdown">
<a class="navbar-item" target ="hybrid" href="https://api-client.swarmlab.io:8088/">Hybrid</a>
<a class="navbar-item" target ="venus" href="https://api-client.swarmlab.io:8088/">Venus</a>
</div>
</div>
<div class="navbar-item">
<input id="search-input" type="text" placeholder="Search docs">
</div>
</div>
</div>
</nav>
</header>
<div class="body">
<div class="nav-container" data-component="swarmlab_poc-datacollector" data-version="docs">
<aside class="nav">
<div class="panels">
<div class="nav-panel-menu is-active" data-panel="menu">
<nav class="nav-menu">
<h3 class="title"><a href="index.html">swarmlab_poc-datacollector</a></h3>
<ul class="nav-list">
<li class="nav-item" data-depth="0">
<ul class="nav-list">
<li class="nav-item" data-depth="1">
<a class="nav-link" href="index.html">datacollector</a>
</li>
<li class="nav-item" data-depth="1">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="index-structure.html">project structure</a>
<ul class="nav-list">
<li class="nav-item" data-depth="2">
<a class="nav-link" href="index-vuejs.html">Vue.JS</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="index-nodejs.html">Node JS</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="index-mongo.html">Mongo</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="index-redis.html">Redis</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="1">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="index-src.html">src-files</a>
<ul class="nav-list">
<li class="nav-item" data-depth="2">
<a class="nav-link" href="doc-dummy_service.html">dummy_service</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="doc-readmongo_service.html">readmongo_service</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="1">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="index-usage.html">Usage</a>
<ul class="nav-list">
<li class="nav-item" data-depth="2">
<a class="nav-link" href="index-dummy_service.html">dummy_service</a>
</li>
</ul>
</li>
<li class="nav-item is-current-page" data-depth="1">
<a class="nav-link" href="index-microservice.html">Add Microservice</a>
</li>
</ul>
</li>
</ul>
</nav>
</div>
<div class="nav-panel-explore" data-panel="explore">
<div class="context">
<span class="title">swarmlab_poc-datacollector</span>
<span class="version">docs</span>
</div>
<ul class="components">
<li class="component">
<a class="title" href="../../swarmlab_faq/docs/index.html">swarmlab_faq</a>
<ul class="versions">
<li class="version is-latest">
<a href="../../swarmlab_faq/docs/index.html">docs</a>
</li>
</ul>
</li>
<li class="component is-current">
<a class="title" href="index.html">swarmlab_poc-datacollector</a>
<ul class="versions">
<li class="version is-current is-latest">
<a href="index.html">docs</a>
</li>
</ul>
</li>
</ul>
</div>
</div>
</aside>
</div>
<main class="article">
<div class="toolbar" role="navigation">
<button class="nav-toggle"></button>
<a href="../../swarmlab_faq/docs/index.html" class="home-link"></a>
<nav class="breadcrumbs" aria-label="breadcrumbs">
<ul>
<li><a href="index.html">swarmlab_poc-datacollector</a></li>
<li><a href="index-microservice.html">Add Microservice</a></li>
</ul>
</nav>
</div>
<div class="content">
<aside class="toc sidebar" data-title="Contents" data-levels="2">
<div class="toc-menu"></div>
</aside>
<article class="doc">
<h1 class="page">Add microservice</h1>
<div class="sect1">
<h2 id="_start_microservice"><a class="anchor" href="#_start_microservice"></a>start microservice</h2>
<div class="sectionbody">
<div class="sidebarblock">
<div class="content">
<div class="admonitionblock tip">
<table>
<tr>
<td class="icon">
<i class="fa icon-tip" title="Tip"></i>
</td>
<td class="content">
Start microservice
</td>
</tr>
</table>
</div>
<div class="videoblock">
<div class="content">
<iframe src="https://player.vimeo.com/video/650885828" frameborder="0" allowfullscreen></iframe>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_add_microservice"><a class="anchor" href="#_add_microservice"></a>add microservice</h2>
<div class="sectionbody">
<div class="sidebarblock">
<div class="content">
<div class="admonitionblock tip">
<table>
<tr>
<td class="icon">
<i class="fa icon-tip" title="Tip"></i>
</td>
<td class="content">
Add microservice2poc network
</td>
</tr>
</table>
</div>
<div class="videoblock">
<div class="content">
<iframe src="https://player.vimeo.com/video/650885828#at=48" frameborder="0" allowfullscreen></iframe>
</div>
</div>
</div>
</div>
</div>
</div>
</article>
</div>
</main>
</div>
<footer class="footer">
<p>This page was built using the Antora <a href="https://gitlab.com/antora/antora-ui-default" target="antora">default UI</a> </p>
</footer>
<script src="../../_/js/site.js"></script>
<script src="../../_/js/vendor/lunr.js"></script>
<script src="../../_/js/vendor/search.js" id="search-script" data-base-path="../.." data-page-path="/swarmlab_poc-datacollector/docs/index-microservice.html"></script>
<script async src="../../_/../search-index.js"></script>
<script async src="../../_/js/vendor/highlight.js"></script>
</body>
</html>

323
build/site/swarmlab_poc-datacollector/docs/index-mongo.html

@ -1,323 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Mongo &#8594; services mongo :: Swarmlab faq</title>
<link rel="canonical" href="http://docs.swarmlab.io/SwarmLab-HowTos/swarmlab/docs/swarmlab_poc-datacollector/docs/index-mongo.html">
<meta name="generator" content="Antora 2.3.4">
<link rel="stylesheet" href="../../_/css/site.css">
<link rel="stylesheet" href="../../_/css/search.css">
<script>var uiRootPath = '../../_'</script>
</head>
<body class="article">
<header class="header">
<nav class="navbar">
<div class="navbar-brand">
<a class="navbar-item" href="http://docs.swarmlab.io/SwarmLab-HowTos/swarmlab/docs">Swarmlab faq</a>
<button class="navbar-burger" data-target="topbar-nav">
<span></span>
<span></span>
<span></span>
</button>
</div>
<div id="topbar-nav" class="navbar-menu">
<div class="navbar-end">
<a class="navbar-item" href="#">Home</a>
<div class="navbar-item has-dropdown is-hoverable">
<a class="navbar-link" href="#">Products</a>
<div class="navbar-dropdown">
<a class="navbar-item" target ="hybridgit" href="https://git.swarmlab.io:3000/zeus/swarmlab-hybrid">Hybrid</a>
<a class="navbar-item" target ="venusgit" href="https://git.swarmlab.io:3000/swarmlab/venus-client">Venus</a>
</div>
</div>
<div class="navbar-item has-dropdown is-hoverable">
<a class="navbar-link" href="#">Services</a>
<div class="navbar-dropdown">
<a class="navbar-item" target ="hybrid" href="https://api-client.swarmlab.io:8088/">Hybrid</a>
<a class="navbar-item" target ="venus" href="https://api-client.swarmlab.io:8088/">Venus</a>
</div>
</div>
<div class="navbar-item">
<input id="search-input" type="text" placeholder="Search docs">
</div>
</div>
</div>
</nav>
</header>
<div class="body">
<div class="nav-container" data-component="swarmlab_poc-datacollector" data-version="docs">
<aside class="nav">
<div class="panels">
<div class="nav-panel-menu is-active" data-panel="menu">
<nav class="nav-menu">
<h3 class="title"><a href="index.html">swarmlab_poc-datacollector</a></h3>
<ul class="nav-list">
<li class="nav-item" data-depth="0">
<ul class="nav-list">
<li class="nav-item" data-depth="1">
<a class="nav-link" href="index.html">datacollector</a>
</li>
<li class="nav-item" data-depth="1">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="index-structure.html">project structure</a>
<ul class="nav-list">
<li class="nav-item" data-depth="2">
<a class="nav-link" href="index-vuejs.html">Vue.JS</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="index-nodejs.html">Node JS</a>
</li>
<li class="nav-item is-current-page" data-depth="2">
<a class="nav-link" href="index-mongo.html">Mongo</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="index-redis.html">Redis</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="1">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="index-src.html">src-files</a>
<ul class="nav-list">
<li class="nav-item" data-depth="2">
<a class="nav-link" href="doc-dummy_service.html">dummy_service</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="doc-readmongo_service.html">readmongo_service</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="1">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="index-usage.html">Usage</a>
<ul class="nav-list">
<li class="nav-item" data-depth="2">
<a class="nav-link" href="index-dummy_service.html">dummy_service</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="1">
<a class="nav-link" href="index-microservice.html">Add Microservice</a>
</li>
</ul>
</li>
</ul>
</nav>
</div>
<div class="nav-panel-explore" data-panel="explore">
<div class="context">
<span class="title">swarmlab_poc-datacollector</span>
<span class="version">docs</span>
</div>
<ul class="components">
<li class="component">
<a class="title" href="../../swarmlab_faq/docs/index.html">swarmlab_faq</a>
<ul class="versions">
<li class="version is-latest">
<a href="../../swarmlab_faq/docs/index.html">docs</a>
</li>
</ul>
</li>
<li class="component is-current">
<a class="title" href="index.html">swarmlab_poc-datacollector</a>
<ul class="versions">
<li class="version is-current is-latest">
<a href="index.html">docs</a>
</li>
</ul>
</li>
</ul>
</div>
</div>
</aside>
</div>
<main class="article">
<div class="toolbar" role="navigation">
<button class="nav-toggle"></button>
<a href="../../swarmlab_faq/docs/index.html" class="home-link"></a>
<nav class="breadcrumbs" aria-label="breadcrumbs">
<ul>
<li><a href="index.html">swarmlab_poc-datacollector</a></li>
<li><a href="index-structure.html">project structure</a></li>
<li><a href="index-mongo.html">Mongo</a></li>
</ul>
</nav>
</div>
<div class="content">
<aside class="toc sidebar" data-title="Contents" data-levels="2">
<div class="toc-menu"></div>
</aside>
<article class="doc">
<h1 class="page">Mongo &#8594; services mongo</h1>
<div id="preamble">
<div class="sectionbody">
<div class="paragraph">
<p><strong>MongoDB</strong> is a document database with the scalability and flexibility that you want with the querying and indexing that you need</p>
</div>
<div class="paragraph">
<p>Classified as a NoSQL database program, MongoDB uses JSON-like documents with optional schemas.
MongoDB is developed by MongoDB Inc. and licensed under the Server Side Public License (SSPL).</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_main_features"><a class="anchor" href="#_main_features"></a>Main features</h2>
<div class="sectionbody">
<div class="ulist">
<ul>
<li>
<p>Ad-hoc queries</p>
<div class="ulist">
<ul>
<li>
<p>MongoDB supports field, range query, and regular-expression searches.</p>
</li>
</ul>
</div>
</li>
<li>
<p>Indexing</p>
<div class="ulist">
<ul>
<li>
<p>Fields in a MongoDB document can be indexed with primary and secondary indices or index.</p>
</li>
</ul>
</div>
</li>
<li>
<p>Replication</p>
<div class="ulist">
<ul>
<li>
<p>MongoDB provides high availability with replica sets.</p>
</li>
</ul>
</div>
</li>
<li>
<p>Load balancing</p>
<div class="ulist">
<ul>
<li>
<p>MongoDB scales horizontally using sharding.</p>
</li>
</ul>
</div>
</li>
<li>
<p>File storage</p>
<div class="ulist">
<ul>
<li>
<p>MongoDB can be used as a file system, called GridFS, with load balancing and data replication features over multiple machines for storing files.</p>
</li>
</ul>
</div>
</li>
<li>
<p>Aggregation</p>
<div class="ulist">
<ul>
<li>
<p>MongoDB provides three ways to perform aggregation: the aggregation pipeline, the map-reduce function, and single-purpose aggregation methods.</p>
</li>
<li>
<p>Map-reduce can be used for batch processing of data and aggregation operations.</p>
</li>
</ul>
</div>
</li>
<li>
<p>Server-side JavaScript execution</p>
<div class="ulist">
<ul>
<li>
<p>JavaScript can be used in queries, aggregation functions (such as MapReduce), and sent directly to the database to be executed.</p>
</li>
</ul>
</div>
</li>
<li>
<p>Capped collections</p>
<div class="ulist">
<ul>
<li>
<p>MongoDB supports fixed-size collections called capped collections. This type of collection maintains insertion order and, once the specified size has been reached, behaves like a circular queue.</p>
</li>
</ul>
</div>
</li>
</ul>
</div>
<div class="paragraph">
<p>Doc origin <a href="https://en.wikipedia.org/wiki/MongoDB#Main_features">wikipedia</a></p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_replication_in_mongodb"><a class="anchor" href="#_replication_in_mongodb"></a>Replication in MongoDB</h2>
<div class="sectionbody">
<div class="literalblock">
<div class="content">
<pre>replica set is a group of mongod instances that maintain the same data set. A replica set contains several data bearing nodes and optionally one arbiter node.</pre>
</div>
</div>
<div class="imageblock right">
<div class="content">
<img src="_images/replica-set-primary-with-two-secondaries.bakedsvg.svg" alt="replica set primary with two secondaries.bakedsvg">
</div>
</div>
<div class="admonitionblock tip">
<table>
<tr>
<td class="icon">
<i class="fa icon-tip" title="Tip"></i>
</td>
<td class="content">
<a href="http://docs.swarmlab.io/SwarmLab-HowTos/swarmlab/docs/swarmlab/docs/hybrid/start-storage.html" target="_blank" rel="noopener">swarmlab provide storage options</a>
</td>
</tr>
</table>
</div>
<div class="sect2">
<h3 id="_video_intro"><a class="anchor" href="#_video_intro"></a>Video = intro</h3>
<div class="sidebarblock">
<div class="content">
<div class="admonitionblock tip">
<table>
<tr>
<td class="icon">
<i class="fa icon-tip" title="Tip"></i>
</td>
<td class="content">
Mongo in 100 Seconds
</td>
</tr>
</table>
</div>
<div class="videoblock">
<div class="content">
<iframe src="https://www.youtube.com/embed/-bt_y4Loofg?rel=0" frameborder="0" allowfullscreen></iframe>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</article>
</div>
</main>
</div>
<footer class="footer">
<p>This page was built using the Antora <a href="https://gitlab.com/antora/antora-ui-default" target="antora">default UI</a> </p>
</footer>
<script src="../../_/js/site.js"></script>
<script src="../../_/js/vendor/lunr.js"></script>
<script src="../../_/js/vendor/search.js" id="search-script" data-base-path="../.." data-page-path="/swarmlab_poc-datacollector/docs/index-mongo.html"></script>
<script async src="../../_/../search-index.js"></script>
<script async src="../../_/js/vendor/highlight.js"></script>
</body>
</html>

360
build/site/swarmlab_poc-datacollector/docs/index-nodejs.html

@ -1,360 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>NodeJS &#8594; services readmongo_service, dummy_service :: Swarmlab faq</title>
<link rel="canonical" href="http://docs.swarmlab.io/SwarmLab-HowTos/swarmlab/docs/swarmlab_poc-datacollector/docs/index-nodejs.html">
<meta name="generator" content="Antora 2.3.4">
<link rel="stylesheet" href="../../_/css/site.css">
<link rel="stylesheet" href="../../_/css/search.css">
<script>var uiRootPath = '../../_'</script>
</head>
<body class="article">
<header class="header">
<nav class="navbar">
<div class="navbar-brand">
<a class="navbar-item" href="http://docs.swarmlab.io/SwarmLab-HowTos/swarmlab/docs">Swarmlab faq</a>
<button class="navbar-burger" data-target="topbar-nav">
<span></span>
<span></span>
<span></span>
</button>
</div>
<div id="topbar-nav" class="navbar-menu">
<div class="navbar-end">
<a class="navbar-item" href="#">Home</a>
<div class="navbar-item has-dropdown is-hoverable">
<a class="navbar-link" href="#">Products</a>
<div class="navbar-dropdown">
<a class="navbar-item" target ="hybridgit" href="https://git.swarmlab.io:3000/zeus/swarmlab-hybrid">Hybrid</a>
<a class="navbar-item" target ="venusgit" href="https://git.swarmlab.io:3000/swarmlab/venus-client">Venus</a>
</div>
</div>
<div class="navbar-item has-dropdown is-hoverable">
<a class="navbar-link" href="#">Services</a>
<div class="navbar-dropdown">
<a class="navbar-item" target ="hybrid" href="https://api-client.swarmlab.io:8088/">Hybrid</a>
<a class="navbar-item" target ="venus" href="https://api-client.swarmlab.io:8088/">Venus</a>
</div>
</div>
<div class="navbar-item">
<input id="search-input" type="text" placeholder="Search docs">
</div>
</div>
</div>
</nav>
</header>
<div class="body">
<div class="nav-container" data-component="swarmlab_poc-datacollector" data-version="docs">
<aside class="nav">
<div class="panels">
<div class="nav-panel-menu is-active" data-panel="menu">
<nav class="nav-menu">
<h3 class="title"><a href="index.html">swarmlab_poc-datacollector</a></h3>
<ul class="nav-list">
<li class="nav-item" data-depth="0">
<ul class="nav-list">
<li class="nav-item" data-depth="1">
<a class="nav-link" href="index.html">datacollector</a>
</li>
<li class="nav-item" data-depth="1">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="index-structure.html">project structure</a>
<ul class="nav-list">
<li class="nav-item" data-depth="2">
<a class="nav-link" href="index-vuejs.html">Vue.JS</a>
</li>
<li class="nav-item is-current-page" data-depth="2">
<a class="nav-link" href="index-nodejs.html">Node JS</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="index-mongo.html">Mongo</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="index-redis.html">Redis</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="1">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="index-src.html">src-files</a>
<ul class="nav-list">
<li class="nav-item" data-depth="2">
<a class="nav-link" href="doc-dummy_service.html">dummy_service</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="doc-readmongo_service.html">readmongo_service</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="1">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="index-usage.html">Usage</a>
<ul class="nav-list">
<li class="nav-item" data-depth="2">
<a class="nav-link" href="index-dummy_service.html">dummy_service</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="1">
<a class="nav-link" href="index-microservice.html">Add Microservice</a>
</li>
</ul>
</li>
</ul>
</nav>
</div>
<div class="nav-panel-explore" data-panel="explore">
<div class="context">
<span class="title">swarmlab_poc-datacollector</span>
<span class="version">docs</span>
</div>
<ul class="components">
<li class="component">
<a class="title" href="../../swarmlab_faq/docs/index.html">swarmlab_faq</a>
<ul class="versions">
<li class="version is-latest">
<a href="../../swarmlab_faq/docs/index.html">docs</a>
</li>
</ul>
</li>
<li class="component is-current">
<a class="title" href="index.html">swarmlab_poc-datacollector</a>
<ul class="versions">
<li class="version is-current is-latest">
<a href="index.html">docs</a>
</li>
</ul>
</li>
</ul>
</div>
</div>
</aside>
</div>
<main class="article">
<div class="toolbar" role="navigation">
<button class="nav-toggle"></button>
<a href="../../swarmlab_faq/docs/index.html" class="home-link"></a>
<nav class="breadcrumbs" aria-label="breadcrumbs">
<ul>
<li><a href="index.html">swarmlab_poc-datacollector</a></li>
<li><a href="index-structure.html">project structure</a></li>
<li><a href="index-nodejs.html">Node JS</a></li>
</ul>
</nav>
</div>
<div class="content">
<aside class="toc sidebar" data-title="Contents" data-levels="2">
<div class="toc-menu"></div>
</aside>
<article class="doc">
<h1 class="page">NodeJS &#8594; services readmongo_service, dummy_service</h1>
<div class="sect1">
<h2 id="_asynchronous_event_driven"><a class="anchor" href="#_asynchronous_event_driven"></a>asynchronous event-driven</h2>
<div class="sectionbody">
<div class="admonitionblock tip">
<table>
<tr>
<td class="icon">
<i class="fa icon-tip" title="Tip"></i>
</td>
<td class="content">
As an asynchronous event-driven JavaScript runtime, Node.js is designed to build scalable network applications.
</td>
</tr>
</table>
</div>
<div class="paragraph">
<p>Almost no function in Node.js directly performs I/O, so the process never blocks. Thanks to this, scalable systems is very reasonable to be developed in Node.js.</p>
</div>
<div class="paragraph">
<p><a href="https://nodejs.org/en/docs/guides/blocking-vs-non-blocking/" target="_blank" rel="noopener">Overview of Blocking vs Non-Blocking</a></p>
</div>
<div class="admonitionblock tip">
<table>
<tr>
<td class="icon">
<i class="fa icon-tip" title="Tip"></i>
</td>
<td class="content">
<strong>Node.js</strong> is similar in design to, and influenced by, systems like <strong>Ruby&#8217;s Event Machine</strong> and <strong>Python&#8217;s Twisted.</strong>
</td>
</tr>
</table>
</div>
<div class="paragraph">
<p>Node.js takes the event model a bit further. It presents an <strong>event loop as a runtime construct</strong> instead of a library.</p>
</div>
<div class="paragraph">
<p><strong>In other systems, there is always a blocking call to start the event-loop.</strong></p>
</div>
<div class="paragraph">
<p>Typically,</p>
</div>
<div class="ulist">
<ul>
<li>
<p>behavior is defined through callbacks at the beginning of a script,</p>
</li>
<li>
<p>and at the end a server is started through a blocking call like <strong>EventMachine::run().</strong></p>
</li>
</ul>
</div>
<div class="admonitionblock note">
<table>
<tr>
<td class="icon">
<i class="fa icon-note" title="Note"></i>
</td>
<td class="content">
<div class="paragraph">
<p>In Node.js, there is no such start-the-event-loop call.</p>
</div>
<div class="ulist">
<ul>
<li>
<p><strong>Node.js</strong> simply <strong>enters the event loop after executing the input script.</strong></p>
</li>
<li>
<p><strong>Node.js exits the event loop</strong> when there are <strong>no more callbacks to perform.</strong></p>
</li>
</ul>
</div>
</td>
</tr>
</table>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_threads"><a class="anchor" href="#_threads"></a>threads</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Node.js being <strong>designed without threads</strong> doesn&#8217;t mean you can&#8217;t take advantage of multiple cores in your environment.</p>
</div>
<div class="paragraph">
<p>Child processes can be spawned by using our <strong>child_process.fork() API,</strong> and are designed to be easy to communicate with.</p>
</div>
<div class="admonitionblock tip">
<table>
<tr>
<td class="icon">
<i class="fa icon-tip" title="Tip"></i>
</td>
<td class="content">
Built upon that same interface is the cluster module, which <strong>allows you to share sockets between processes</strong> to enable load balancing over your cores.
</td>
</tr>
</table>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_socket_io"><a class="anchor" href="#_socket_io"></a>socket.io</h2>
<div class="sectionbody">
<div class="paragraph">
<p><strong>Socket.IO</strong> is a library that enables <strong>real-time</strong>, <strong>bidirectional</strong> and <strong>event-based</strong> communication between the browser and the server.</p>
</div>
<div class="paragraph">
<p>It consists of:</p>
</div>
<div class="ulist">
<ul>
<li>
<p>a Node.js server: Source | API</p>
</li>
<li>
<p>a Javascript client library for the browser (which can be also run from Node.js): Source | API</p>
</li>
</ul>
</div>
<div class="imageblock">
<div class="content">
<img src="_images/bidirectional-communication.png" alt="bidirectional communication">
</div>
</div>
<div class="paragraph">
<p><a href="https://socket.io/" target="_blank" rel="noopener">See more info here: Socket.io</a></p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_express"><a class="anchor" href="#_express"></a>express</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Express is a minimal and flexible Node.js web application framework that provides a robust set of features for web and mobile applications.</p>
</div>
<div class="paragraph">
<p><strong>Fast, unopinionated, minimalist web framework for Node.js</strong></p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_video_intro"><a class="anchor" href="#_video_intro"></a>Video = intro</h2>
<div class="sectionbody">
<div class="sidebarblock">
<div class="content">
<div class="admonitionblock tip">
<table>
<tr>
<td class="icon">
<i class="fa icon-tip" title="Tip"></i>
</td>
<td class="content">
NodeJS in 10 Minutes and Netflix
</td>
</tr>
</table>
</div>
<div class="videoblock">
<div class="content">
<iframe src="https://www.youtube.com/embed/2gQG4cFjahw?rel=0" frameborder="0" allowfullscreen></iframe>
</div>
</div>
<div class="videoblock">
<div class="content">
<iframe src="https://www.youtube.com/embed/CZ3wIuvmHeM?rel=0" frameborder="0" allowfullscreen></iframe>
</div>
</div>
</div>
</div>
<div class="paragraph">
<p>netflix</p>
</div>
<div class="ulist">
<ul>
<li>
<p>6:50 monolithic</p>
</li>
<li>
<p>8:24 minroservices</p>
</li>
<li>
<p>19:00 microservice</p>
</li>
<li>
<p>37:00</p>
</li>
</ul>
</div>
<div class="paragraph">
<p><a href="https://netflix.github.io">Netflix on Github</a></p>
</div>
</div>
</div>
</article>
</div>
</main>
</div>
<footer class="footer">
<p>This page was built using the Antora <a href="https://gitlab.com/antora/antora-ui-default" target="antora">default UI</a> </p>
</footer>
<script src="../../_/js/site.js"></script>
<script src="../../_/js/vendor/lunr.js"></script>
<script src="../../_/js/vendor/search.js" id="search-script" data-base-path="../.." data-page-path="/swarmlab_poc-datacollector/docs/index-nodejs.html"></script>
<script async src="../../_/../search-index.js"></script>
<script async src="../../_/js/vendor/highlight.js"></script>
</body>
</html>

223
build/site/swarmlab_poc-datacollector/docs/index-redis.html

@ -1,223 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Redis &#8594; services redisserver :: Swarmlab faq</title>
<link rel="canonical" href="http://docs.swarmlab.io/SwarmLab-HowTos/swarmlab/docs/swarmlab_poc-datacollector/docs/index-redis.html">
<meta name="generator" content="Antora 2.3.4">
<link rel="stylesheet" href="../../_/css/site.css">
<link rel="stylesheet" href="../../_/css/search.css">
<script>var uiRootPath = '../../_'</script>
</head>
<body class="article">
<header class="header">
<nav class="navbar">
<div class="navbar-brand">
<a class="navbar-item" href="http://docs.swarmlab.io/SwarmLab-HowTos/swarmlab/docs">Swarmlab faq</a>
<button class="navbar-burger" data-target="topbar-nav">
<span></span>
<span></span>
<span></span>
</button>
</div>
<div id="topbar-nav" class="navbar-menu">
<div class="navbar-end">
<a class="navbar-item" href="#">Home</a>
<div class="navbar-item has-dropdown is-hoverable">
<a class="navbar-link" href="#">Products</a>
<div class="navbar-dropdown">
<a class="navbar-item" target ="hybridgit" href="https://git.swarmlab.io:3000/zeus/swarmlab-hybrid">Hybrid</a>
<a class="navbar-item" target ="venusgit" href="https://git.swarmlab.io:3000/swarmlab/venus-client">Venus</a>
</div>
</div>
<div class="navbar-item has-dropdown is-hoverable">
<a class="navbar-link" href="#">Services</a>
<div class="navbar-dropdown">
<a class="navbar-item" target ="hybrid" href="https://api-client.swarmlab.io:8088/">Hybrid</a>
<a class="navbar-item" target ="venus" href="https://api-client.swarmlab.io:8088/">Venus</a>
</div>
</div>
<div class="navbar-item">
<input id="search-input" type="text" placeholder="Search docs">
</div>
</div>
</div>
</nav>
</header>
<div class="body">
<div class="nav-container" data-component="swarmlab_poc-datacollector" data-version="docs">
<aside class="nav">
<div class="panels">
<div class="nav-panel-menu is-active" data-panel="menu">
<nav class="nav-menu">
<h3 class="title"><a href="index.html">swarmlab_poc-datacollector</a></h3>
<ul class="nav-list">
<li class="nav-item" data-depth="0">
<ul class="nav-list">
<li class="nav-item" data-depth="1">
<a class="nav-link" href="index.html">datacollector</a>
</li>
<li class="nav-item" data-depth="1">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="index-structure.html">project structure</a>
<ul class="nav-list">
<li class="nav-item" data-depth="2">
<a class="nav-link" href="index-vuejs.html">Vue.JS</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="index-nodejs.html">Node JS</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="index-mongo.html">Mongo</a>
</li>
<li class="nav-item is-current-page" data-depth="2">
<a class="nav-link" href="index-redis.html">Redis</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="1">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="index-src.html">src-files</a>
<ul class="nav-list">
<li class="nav-item" data-depth="2">
<a class="nav-link" href="doc-dummy_service.html">dummy_service</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="doc-readmongo_service.html">readmongo_service</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="1">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="index-usage.html">Usage</a>
<ul class="nav-list">
<li class="nav-item" data-depth="2">
<a class="nav-link" href="index-dummy_service.html">dummy_service</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="1">
<a class="nav-link" href="index-microservice.html">Add Microservice</a>
</li>
</ul>
</li>
</ul>
</nav>
</div>
<div class="nav-panel-explore" data-panel="explore">
<div class="context">
<span class="title">swarmlab_poc-datacollector</span>
<span class="version">docs</span>
</div>
<ul class="components">
<li class="component">
<a class="title" href="../../swarmlab_faq/docs/index.html">swarmlab_faq</a>
<ul class="versions">
<li class="version is-latest">
<a href="../../swarmlab_faq/docs/index.html">docs</a>
</li>
</ul>
</li>
<li class="component is-current">
<a class="title" href="index.html">swarmlab_poc-datacollector</a>
<ul class="versions">
<li class="version is-current is-latest">
<a href="index.html">docs</a>
</li>
</ul>
</li>
</ul>
</div>
</div>
</aside>
</div>
<main class="article">
<div class="toolbar" role="navigation">
<button class="nav-toggle"></button>
<a href="../../swarmlab_faq/docs/index.html" class="home-link"></a>
<nav class="breadcrumbs" aria-label="breadcrumbs">
<ul>
<li><a href="index.html">swarmlab_poc-datacollector</a></li>
<li><a href="index-structure.html">project structure</a></li>
<li><a href="index-redis.html">Redis</a></li>
</ul>
</nav>
</div>
<div class="content">
<aside class="toc sidebar" data-title="Contents" data-levels="2">
<div class="toc-menu"></div>
</aside>
<article class="doc">
<h1 class="page">Redis &#8594; services redisserver</h1>
<div id="preamble">
<div class="sectionbody">
<div class="paragraph">
<p><strong>Redis</strong> is an open source (BSD licensed), in-memory data structure store, used as a database, cache, and message broker. Redis provides data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, geospatial indexes, and streams.</p>
</div>
<div class="paragraph">
<p>The project was developed and maintained by ihttps://github.com/antirez[Salvatore Sanfilippo^]</p>
</div>
<div class="admonitionblock tip">
<table>
<tr>
<td class="icon">
<i class="fa icon-tip" title="Tip"></i>
</td>
<td class="content">
The name Redis means *Re*mote *Di*ctionary *S*erver.
</td>
</tr>
</table>
</div>
<div class="paragraph">
<p>MongoDB is developed by MongoDB Inc. and licensed under the Server Side Public License (SSPL).</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_main_features"><a class="anchor" href="#_main_features"></a>Main features</h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="https://en.wikipedia.org/wiki/Redis" target="_blank" rel="noopener">Wikipedia</a></p>
</div>
<div class="sect2">
<h3 id="_video_intro"><a class="anchor" href="#_video_intro"></a>Video = intro</h3>
<div class="sidebarblock">
<div class="content">
<div class="admonitionblock tip">
<table>
<tr>
<td class="icon">
<i class="fa icon-tip" title="Tip"></i>
</td>
<td class="content">
Redis in 100 Seconds
</td>
</tr>
</table>
</div>
<div class="videoblock">
<div class="content">
<iframe src="https://www.youtube.com/embed/G1rOthIU-uo?rel=0" frameborder="0" allowfullscreen></iframe>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</article>
</div>
</main>
</div>
<footer class="footer">
<p>This page was built using the Antora <a href="https://gitlab.com/antora/antora-ui-default" target="antora">default UI</a> </p>
</footer>
<script src="../../_/js/site.js"></script>
<script src="../../_/js/vendor/lunr.js"></script>
<script src="../../_/js/vendor/search.js" id="search-script" data-base-path="../.." data-page-path="/swarmlab_poc-datacollector/docs/index-redis.html"></script>
<script async src="../../_/../search-index.js"></script>
<script async src="../../_/js/vendor/highlight.js"></script>
</body>
</html>

266
build/site/swarmlab_poc-datacollector/docs/index-src.html

@ -1,266 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Source and config files :: Swarmlab faq</title>
<link rel="canonical" href="http://docs.swarmlab.io/SwarmLab-HowTos/swarmlab/docs/swarmlab_poc-datacollector/docs/index-src.html">
<meta name="generator" content="Antora 2.3.4">
<link rel="stylesheet" href="../../_/css/site.css">
<link rel="stylesheet" href="../../_/css/search.css">
<script>var uiRootPath = '../../_'</script>
</head>
<body class="article">
<header class="header">
<nav class="navbar">
<div class="navbar-brand">
<a class="navbar-item" href="http://docs.swarmlab.io/SwarmLab-HowTos/swarmlab/docs">Swarmlab faq</a>
<button class="navbar-burger" data-target="topbar-nav">
<span></span>
<span></span>
<span></span>
</button>
</div>
<div id="topbar-nav" class="navbar-menu">
<div class="navbar-end">
<a class="navbar-item" href="#">Home</a>
<div class="navbar-item has-dropdown is-hoverable">
<a class="navbar-link" href="#">Products</a>
<div class="navbar-dropdown">
<a class="navbar-item" target ="hybridgit" href="https://git.swarmlab.io:3000/zeus/swarmlab-hybrid">Hybrid</a>
<a class="navbar-item" target ="venusgit" href="https://git.swarmlab.io:3000/swarmlab/venus-client">Venus</a>
</div>
</div>
<div class="navbar-item has-dropdown is-hoverable">
<a class="navbar-link" href="#">Services</a>
<div class="navbar-dropdown">
<a class="navbar-item" target ="hybrid" href="https://api-client.swarmlab.io:8088/">Hybrid</a>
<a class="navbar-item" target ="venus" href="https://api-client.swarmlab.io:8088/">Venus</a>
</div>
</div>
<div class="navbar-item">
<input id="search-input" type="text" placeholder="Search docs">
</div>
</div>
</div>
</nav>
</header>
<div class="body">
<div class="nav-container" data-component="swarmlab_poc-datacollector" data-version="docs">
<aside class="nav">
<div class="panels">
<div class="nav-panel-menu is-active" data-panel="menu">
<nav class="nav-menu">
<h3 class="title"><a href="index.html">swarmlab_poc-datacollector</a></h3>
<ul class="nav-list">
<li class="nav-item" data-depth="0">
<ul class="nav-list">
<li class="nav-item" data-depth="1">
<a class="nav-link" href="index.html">datacollector</a>
</li>
<li class="nav-item" data-depth="1">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="index-structure.html">project structure</a>
<ul class="nav-list">
<li class="nav-item" data-depth="2">
<a class="nav-link" href="index-vuejs.html">Vue.JS</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="index-nodejs.html">Node JS</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="index-mongo.html">Mongo</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="index-redis.html">Redis</a>
</li>
</ul>
</li>
<li class="nav-item is-current-page" data-depth="1">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="index-src.html">src-files</a>
<ul class="nav-list">
<li class="nav-item" data-depth="2">
<a class="nav-link" href="doc-dummy_service.html">dummy_service</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="doc-readmongo_service.html">readmongo_service</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="1">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="index-usage.html">Usage</a>
<ul class="nav-list">
<li class="nav-item" data-depth="2">
<a class="nav-link" href="index-dummy_service.html">dummy_service</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="1">
<a class="nav-link" href="index-microservice.html">Add Microservice</a>
</li>
</ul>
</li>
</ul>
</nav>
</div>
<div class="nav-panel-explore" data-panel="explore">
<div class="context">
<span class="title">swarmlab_poc-datacollector</span>
<span class="version">docs</span>
</div>
<ul class="components">
<li class="component">
<a class="title" href="../../swarmlab_faq/docs/index.html">swarmlab_faq</a>
<ul class="versions">
<li class="version is-latest">
<a href="../../swarmlab_faq/docs/index.html">docs</a>
</li>
</ul>
</li>
<li class="component is-current">
<a class="title" href="index.html">swarmlab_poc-datacollector</a>
<ul class="versions">
<li class="version is-current is-latest">
<a href="index.html">docs</a>
</li>
</ul>
</li>
</ul>
</div>
</div>
</aside>
</div>
<main class="article">
<div class="toolbar" role="navigation">
<button class="nav-toggle"></button>
<a href="../../swarmlab_faq/docs/index.html" class="home-link"></a>
<nav class="breadcrumbs" aria-label="breadcrumbs">
<ul>
<li><a href="index.html">swarmlab_poc-datacollector</a></li>
<li><a href="index-src.html">src-files</a></li>
</ul>
</nav>
</div>
<div class="content">
<aside class="toc sidebar" data-title="Contents" data-levels="2">
<div class="toc-menu"></div>
</aside>
<article class="doc">
<h1 class="page">Source and config files</h1>
<div id="preamble">
<div class="sectionbody">
<div class="imageblock right">
<div class="content">
<img src="_images/swarmlab-connect.png" alt="swarmlab connect">
</div>
</div>
<div class="ulist">
<ul>
<li>
<p>(1) Opens the info menu</p>
</li>
<li>
<p>(2) Run a shell in a running container</p>
</li>
<li>
<p>(3) Opens web interface</p>
</li>
<li>
<p>(4),(5) Source directory - Directory Maps</p>
</li>
</ul>
</div>
<div class="imageblock right">
<div class="content">
<img src="_images/types-of-mounts-bind.png" alt="types of mounts bind" width="250">
</div>
</div>
<div class="paragraph">
<p><strong>"Directory Maps"</strong> are the preferred mechanism for persisting data generated by and used by Docker containers. We use here "bind mounts" and they are dependent on the directory structure and OS of the host machine.</p>
</div>
<div class="admonitionblock warning">
<table>
<tr>
<td class="icon">
<i class="fa icon-warning" title="Warning"></i>
</td>
<td class="content">
Your local changes to the files will be overwritten by click on "Download" button. You should always <strong>take a full backup</strong> first (simple copy the directory tree)
</td>
</tr>
</table>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_webclient"><a class="anchor" href="#_webclient"></a>webclient</h2>
<div class="sectionbody">
<div class="paragraph">
<p><strong>Source code:</strong> playground-client/src</p>
</div>
<div class="paragraph">
<p><strong>environment variables</strong>: playground-client/.env</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_dummy_service"><a class="anchor" href="#_dummy_service"></a>dummy_service</h2>
<div class="sectionbody">
<div class="paragraph">
<p><strong>Source code:</strong> dummyservice/swarmlab-app/src/run</p>
</div>
<div class="paragraph">
<p><strong>config file</strong>: WriteToMongo/fluent/fluent.conf</p>
</div>
<div class="ulist">
<ul>
<li>
<p>Unified data collector layer</p>
</li>
</ul>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_readmongo_service"><a class="anchor" href="#_readmongo_service"></a>readmongo_service</h2>
<div class="sectionbody">
<div class="paragraph">
<p><strong>Source code:</strong> readmongo/swarmlab-app/src/run</p>
</div>
<div class="paragraph">
<p><strong>environment variables</strong>: readmongo/swarmlab-app/src/.env</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_redisserver"><a class="anchor" href="#_redisserver"></a>redisserver</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Redis is <strong>automatically started</strong> for you. We use nodeJS to interact with Redis. Setup config etc, on the fly from dummy_service and readmongo_service services.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_mongo"><a class="anchor" href="#_mongo"></a>mongo</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Mongo is <strong>automatically started</strong> for you. We use nodeJS to interact with Mongo. Setup config etc, on the fly from dummy_service and readmongo_service services.</p>
</div>
</div>
</div>
</article>
</div>
</main>
</div>
<footer class="footer">
<p>This page was built using the Antora <a href="https://gitlab.com/antora/antora-ui-default" target="antora">default UI</a> </p>
</footer>
<script src="../../_/js/site.js"></script>
<script src="../../_/js/vendor/lunr.js"></script>
<script src="../../_/js/vendor/search.js" id="search-script" data-base-path="../.." data-page-path="/swarmlab_poc-datacollector/docs/index-src.html"></script>
<script async src="../../_/../search-index.js"></script>
<script async src="../../_/js/vendor/highlight.js"></script>
</body>
</html>

376
build/site/swarmlab_poc-datacollector/docs/index-structure.html

@ -1,376 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>project structure and technologies used :: Swarmlab faq</title>
<link rel="canonical" href="http://docs.swarmlab.io/SwarmLab-HowTos/swarmlab/docs/swarmlab_poc-datacollector/docs/index-structure.html">
<meta name="generator" content="Antora 2.3.4">
<link rel="stylesheet" href="../../_/css/site.css">
<link rel="stylesheet" href="../../_/css/search.css">
<script>var uiRootPath = '../../_'</script>
</head>
<body class="article">
<header class="header">
<nav class="navbar">
<div class="navbar-brand">
<a class="navbar-item" href="http://docs.swarmlab.io/SwarmLab-HowTos/swarmlab/docs">Swarmlab faq</a>
<button class="navbar-burger" data-target="topbar-nav">
<span></span>
<span></span>
<span></span>
</button>
</div>
<div id="topbar-nav" class="navbar-menu">
<div class="navbar-end">
<a class="navbar-item" href="#">Home</a>
<div class="navbar-item has-dropdown is-hoverable">
<a class="navbar-link" href="#">Products</a>
<div class="navbar-dropdown">
<a class="navbar-item" target ="hybridgit" href="https://git.swarmlab.io:3000/zeus/swarmlab-hybrid">Hybrid</a>
<a class="navbar-item" target ="venusgit" href="https://git.swarmlab.io:3000/swarmlab/venus-client">Venus</a>
</div>
</div>
<div class="navbar-item has-dropdown is-hoverable">
<a class="navbar-link" href="#">Services</a>
<div class="navbar-dropdown">
<a class="navbar-item" target ="hybrid" href="https://api-client.swarmlab.io:8088/">Hybrid</a>
<a class="navbar-item" target ="venus" href="https://api-client.swarmlab.io:8088/">Venus</a>
</div>
</div>
<div class="navbar-item">
<input id="search-input" type="text" placeholder="Search docs">
</div>
</div>
</div>
</nav>
</header>
<div class="body">
<div class="nav-container" data-component="swarmlab_poc-datacollector" data-version="docs">
<aside class="nav">
<div class="panels">
<div class="nav-panel-menu is-active" data-panel="menu">
<nav class="nav-menu">
<h3 class="title"><a href="index.html">swarmlab_poc-datacollector</a></h3>
<ul class="nav-list">
<li class="nav-item" data-depth="0">
<ul class="nav-list">
<li class="nav-item" data-depth="1">
<a class="nav-link" href="index.html">datacollector</a>
</li>
<li class="nav-item is-current-page" data-depth="1">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="index-structure.html">project structure</a>
<ul class="nav-list">
<li class="nav-item" data-depth="2">
<a class="nav-link" href="index-vuejs.html">Vue.JS</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="index-nodejs.html">Node JS</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="index-mongo.html">Mongo</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="index-redis.html">Redis</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="1">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="index-src.html">src-files</a>
<ul class="nav-list">
<li class="nav-item" data-depth="2">
<a class="nav-link" href="doc-dummy_service.html">dummy_service</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="doc-readmongo_service.html">readmongo_service</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="1">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="index-usage.html">Usage</a>
<ul class="nav-list">
<li class="nav-item" data-depth="2">
<a class="nav-link" href="index-dummy_service.html">dummy_service</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="1">
<a class="nav-link" href="index-microservice.html">Add Microservice</a>
</li>
</ul>
</li>
</ul>
</nav>
</div>
<div class="nav-panel-explore" data-panel="explore">
<div class="context">
<span class="title">swarmlab_poc-datacollector</span>
<span class="version">docs</span>
</div>
<ul class="components">
<li class="component">
<a class="title" href="../../swarmlab_faq/docs/index.html">swarmlab_faq</a>
<ul class="versions">
<li class="version is-latest">
<a href="../../swarmlab_faq/docs/index.html">docs</a>
</li>
</ul>
</li>
<li class="component is-current">
<a class="title" href="index.html">swarmlab_poc-datacollector</a>
<ul class="versions">
<li class="version is-current is-latest">
<a href="index.html">docs</a>
</li>
</ul>
</li>
</ul>
</div>
</div>
</aside>
</div>
<main class="article">
<div class="toolbar" role="navigation">
<button class="nav-toggle"></button>
<a href="../../swarmlab_faq/docs/index.html" class="home-link"></a>
<nav class="breadcrumbs" aria-label="breadcrumbs">
<ul>
<li><a href="index.html">swarmlab_poc-datacollector</a></li>
<li><a href="index-structure.html">project structure</a></li>
</ul>
</nav>
</div>
<div class="content">
<aside class="toc sidebar" data-title="Contents" data-levels="2">
<div class="toc-menu"></div>
</aside>
<article class="doc">
<h1 class="page">project structure and technologies used</h1>
<div class="sect1">
<h2 id="_dynamic_structure"><a class="anchor" href="#_dynamic_structure"></a>Dynamic Structure</h2>
<div class="sectionbody">
<div class="openblock float-group">
<div class="content">
<div class="imageblock right right">
<div class="content">
<img src="_images/swarm-poc.png" alt="swarm poc">
</div>
</div>
<div class="paragraph">
<p><br>
</p>
</div>
<div class="ulist checklist">
<div class="title">From &#8594; To</div>
<ul class="checklist">
<li>
<p><i class="fa fa-check-square-o"></i> monolithic &#8594; networking architecture</p>
</li>
<li>
<p><i class="fa fa-check-square-o"></i> static &#8594; Dynamic</p>
</li>
<li>
<p><i class="fa fa-check-square-o"></i> host based &#8594; Service based</p>
</li>
<li>
<p><i class="fa fa-check-square-o"></i> linear &#8594; agile</p>
</li>
</ul>
</div>
</div>
</div>
<div class="admonitionblock tip">
<table>
<tr>
<td class="icon">
<i class="fa icon-tip" title="Tip"></i>
</td>
<td class="content">
You will learn to code, coordinate and orchestrate a swarm of self-acting nodes.
</td>
</tr>
</table>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_dynamic_instaces"><a class="anchor" href="#_dynamic_instaces"></a>Dynamic Instaces</h2>
<div class="sectionbody">
<div class="openblock float-group">
<div class="content">
<div class="imageblock right right">
<div class="content">
<img src="_images/docker-images.png" alt="210" width="260">
</div>
</div>
<div class="paragraph">
<p><br>
</p>
</div>
<div class="paragraph">
<p>Server instances are <strong>platform agnostic container-based applications.</strong></p>
</div>
<div class="paragraph">
<p>To build a large - scale distributed application we take advantage of standardized code deployments using Docker containers.</p>
</div>
<div class="paragraph">
<p>Docker-based applications can be seamlessly moved from local development machines to production deployments</p>
</div>
<div class="paragraph">
<p><br></p>
</div>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_dynamic_networks_swarm"><a class="anchor" href="#_dynamic_networks_swarm"></a>Dynamic networks - Swarm</h2>
<div class="sectionbody">
<div class="openblock float-group">
<div class="content">
<div class="imageblock right left">
<div class="content">
<img src="_images/gynamic-swarm.png" alt="320" width="540">
</div>
</div>
<div class="paragraph">
<p><br></p>
</div>
<div class="paragraph">
<p><strong>From Code to full-blown systems</strong></p>
</div>
<div class="ulist">
<ul>
<li>
<p>from a single container on your local machine</p>
</li>
<li>
<p>to a running cloud native - container-based environment</p>
</li>
<li>
<p>in the simplest and most logical format as possible.</p>
</li>
</ul>
</div>
<div class="paragraph">
<p><br>
<br>
<br>
<br>
</p>
</div>
<div class="literalblock">
<div class="content">
<pre>Services in a dynamic and Scalable Distributed Architecture</pre>
</div>
</div>
<div class="paragraph">
<p></p>
</div>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_datacollector_structure"><a class="anchor" href="#_datacollector_structure"></a>Datacollector structure</h2>
<div class="sectionbody">
<div class="openblock float-group">
<div class="content">
<div class="imageblock right right">
<div class="content">
<img src="_images/swarm-poc1.png" alt="230" width="280">
</div>
</div>
<div class="paragraph">
<p></p>
</div>
<div class="ulist">
<ul>
<li>
<p>(red) Redisserver</p>
<div class="ulist">
<ul>
<li>
<p>redis sync for readmongo_service and dummy_service</p>
</li>
</ul>
</div>
</li>
<li>
<p>(blue) readmongo_service</p>
<div class="ulist">
<ul>
<li>
<p>reads data from mongodb (Rest api)</p>
<div class="ulist">
<ul>
<li>
<p>1. Webclient &#8594; readmongo_service</p>
</li>
<li>
<p>2. readmongo_service &#8592; mongo</p>
</li>
<li>
<p>3. webclient &#8592; readmongo_service</p>
</li>
</ul>
</div>
</li>
<li>
<p>reads data from mongodb (socket)</p>
<div class="ulist">
<ul>
<li>
<p>Webclient &#8592;&#8594; readmongo_service &#8592;&#8594; redis &#8592;&#8594; readmongo_service &#8592;&#8594; mongo</p>
</li>
</ul>
</div>
</li>
</ul>
</div>
</li>
<li>
<p>(green) dummy_service</p>
<div class="ulist">
<ul>
<li>
<p>IoT devive or App &#8594; mongo</p>
</li>
</ul>
</div>
</li>
</ul>
</div>
<div class="admonitionblock tip">
<table>
<tr>
<td class="icon">
<i class="fa icon-tip" title="Tip"></i>
</td>
<td class="content">
<strong>(red), (blue) and (green) are scalable microservices</strong>
</td>
</tr>
</table>
</div>
</div>
</div>
</div>
</div>
</article>
</div>
</main>
</div>
<footer class="footer">
<p>This page was built using the Antora <a href="https://gitlab.com/antora/antora-ui-default" target="antora">default UI</a> </p>
</footer>
<script src="../../_/js/site.js"></script>
<script src="../../_/js/vendor/lunr.js"></script>
<script src="../../_/js/vendor/search.js" id="search-script" data-base-path="../.." data-page-path="/swarmlab_poc-datacollector/docs/index-structure.html"></script>
<script async src="../../_/../search-index.js"></script>
<script async src="../../_/js/vendor/highlight.js"></script>
</body>
</html>

243
build/site/swarmlab_poc-datacollector/docs/index-usage.html

@ -1,243 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Usage datacollector :: Swarmlab faq</title>
<link rel="canonical" href="http://docs.swarmlab.io/SwarmLab-HowTos/swarmlab/docs/swarmlab_poc-datacollector/docs/index-usage.html">
<meta name="generator" content="Antora 2.3.4">
<link rel="stylesheet" href="../../_/css/site.css">
<link rel="stylesheet" href="../../_/css/search.css">
<script>var uiRootPath = '../../_'</script>
</head>
<body class="article">
<header class="header">
<nav class="navbar">
<div class="navbar-brand">
<a class="navbar-item" href="http://docs.swarmlab.io/SwarmLab-HowTos/swarmlab/docs">Swarmlab faq</a>
<button class="navbar-burger" data-target="topbar-nav">
<span></span>
<span></span>
<span></span>
</button>
</div>
<div id="topbar-nav" class="navbar-menu">
<div class="navbar-end">
<a class="navbar-item" href="#">Home</a>
<div class="navbar-item has-dropdown is-hoverable">
<a class="navbar-link" href="#">Products</a>
<div class="navbar-dropdown">
<a class="navbar-item" target ="hybridgit" href="https://git.swarmlab.io:3000/zeus/swarmlab-hybrid">Hybrid</a>
<a class="navbar-item" target ="venusgit" href="https://git.swarmlab.io:3000/swarmlab/venus-client">Venus</a>
</div>
</div>
<div class="navbar-item has-dropdown is-hoverable">
<a class="navbar-link" href="#">Services</a>
<div class="navbar-dropdown">
<a class="navbar-item" target ="hybrid" href="https://api-client.swarmlab.io:8088/">Hybrid</a>
<a class="navbar-item" target ="venus" href="https://api-client.swarmlab.io:8088/">Venus</a>
</div>
</div>
<div class="navbar-item">
<input id="search-input" type="text" placeholder="Search docs">
</div>
</div>
</div>
</nav>
</header>
<div class="body">
<div class="nav-container" data-component="swarmlab_poc-datacollector" data-version="docs">
<aside class="nav">
<div class="panels">
<div class="nav-panel-menu is-active" data-panel="menu">
<nav class="nav-menu">
<h3 class="title"><a href="index.html">swarmlab_poc-datacollector</a></h3>
<ul class="nav-list">
<li class="nav-item" data-depth="0">
<ul class="nav-list">
<li class="nav-item" data-depth="1">
<a class="nav-link" href="index.html">datacollector</a>
</li>
<li class="nav-item" data-depth="1">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="index-structure.html">project structure</a>
<ul class="nav-list">
<li class="nav-item" data-depth="2">
<a class="nav-link" href="index-vuejs.html">Vue.JS</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="index-nodejs.html">Node JS</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="index-mongo.html">Mongo</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="index-redis.html">Redis</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="1">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="index-src.html">src-files</a>
<ul class="nav-list">
<li class="nav-item" data-depth="2">
<a class="nav-link" href="doc-dummy_service.html">dummy_service</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="doc-readmongo_service.html">readmongo_service</a>
</li>
</ul>
</li>
<li class="nav-item is-current-page" data-depth="1">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="index-usage.html">Usage</a>
<ul class="nav-list">
<li class="nav-item" data-depth="2">
<a class="nav-link" href="index-dummy_service.html">dummy_service</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="1">
<a class="nav-link" href="index-microservice.html">Add Microservice</a>
</li>
</ul>
</li>
</ul>
</nav>
</div>
<div class="nav-panel-explore" data-panel="explore">
<div class="context">
<span class="title">swarmlab_poc-datacollector</span>
<span class="version">docs</span>
</div>
<ul class="components">
<li class="component">
<a class="title" href="../../swarmlab_faq/docs/index.html">swarmlab_faq</a>
<ul class="versions">
<li class="version is-latest">
<a href="../../swarmlab_faq/docs/index.html">docs</a>
</li>
</ul>
</li>
<li class="component is-current">
<a class="title" href="index.html">swarmlab_poc-datacollector</a>
<ul class="versions">
<li class="version is-current is-latest">
<a href="index.html">docs</a>
</li>
</ul>
</li>
</ul>
</div>
</div>
</aside>
</div>
<main class="article">
<div class="toolbar" role="navigation">
<button class="nav-toggle"></button>
<a href="../../swarmlab_faq/docs/index.html" class="home-link"></a>
<nav class="breadcrumbs" aria-label="breadcrumbs">
<ul>
<li><a href="index.html">swarmlab_poc-datacollector</a></li>
<li><a href="index-usage.html">Usage</a></li>
</ul>
</nav>
</div>
<div class="content">
<aside class="toc sidebar" data-title="Contents" data-levels="2">
<div class="toc-menu"></div>
</aside>
<article class="doc">
<h1 class="page">Usage datacollector</h1>
<div class="sect1">
<h2 id="_start_datacollector"><a class="anchor" href="#_start_datacollector"></a>start datacollector</h2>
<div class="sectionbody">
<div class="sidebarblock">
<div class="content">
<div class="admonitionblock tip">
<table>
<tr>
<td class="icon">
<i class="fa icon-tip" title="Tip"></i>
</td>
<td class="content">
Start poc-datacollector
</td>
</tr>
</table>
</div>
<div class="videoblock">
<div class="content">
<iframe src="https://player.vimeo.com/video/650056224" frameborder="0" allowfullscreen></iframe>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_stop_datacollector"><a class="anchor" href="#_stop_datacollector"></a>stop datacollector</h2>
<div class="sectionbody">
<div class="sidebarblock">
<div class="content">
<div class="admonitionblock tip">
<table>
<tr>
<td class="icon">
<i class="fa icon-tip" title="Tip"></i>
</td>
<td class="content">
Stop poc-datacollector
</td>
</tr>
</table>
</div>
<div class="videoblock">
<div class="content">
<iframe src="https://player.vimeo.com/video/650388472" frameborder="0" allowfullscreen></iframe>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_open_web_interface_webclient"><a class="anchor" href="#_open_web_interface_webclient"></a>Open Web interface webclient</h2>
<div class="sectionbody">
<div class="sidebarblock">
<div class="content">
<div class="admonitionblock tip">
<table>
<tr>
<td class="icon">
<i class="fa icon-tip" title="Tip"></i>
</td>
<td class="content">
Start poc-datacollector
</td>
</tr>
</table>
</div>
<div class="videoblock">
<div class="content">
<iframe src="https://player.vimeo.com/video/650056224#at=48" frameborder="0" allowfullscreen></iframe>
</div>
</div>
</div>
</div>
</div>
</div>
</article>
</div>
</main>
</div>
<footer class="footer">
<p>This page was built using the Antora <a href="https://gitlab.com/antora/antora-ui-default" target="antora">default UI</a> </p>
</footer>
<script src="../../_/js/site.js"></script>
<script src="../../_/js/vendor/lunr.js"></script>
<script src="../../_/js/vendor/search.js" id="search-script" data-base-path="../.." data-page-path="/swarmlab_poc-datacollector/docs/index-usage.html"></script>
<script async src="../../_/../search-index.js"></script>
<script async src="../../_/js/vendor/highlight.js"></script>
</body>
</html>

464
build/site/swarmlab_poc-datacollector/docs/index-vuejs.html

@ -1,464 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Vue.js &#8594; service webclient :: Swarmlab faq</title>
<link rel="canonical" href="http://docs.swarmlab.io/SwarmLab-HowTos/swarmlab/docs/swarmlab_poc-datacollector/docs/index-vuejs.html">
<meta name="generator" content="Antora 2.3.4">
<link rel="stylesheet" href="../../_/css/site.css">
<link rel="stylesheet" href="../../_/css/search.css">
<script>var uiRootPath = '../../_'</script>
</head>
<body class="article">
<header class="header">
<nav class="navbar">
<div class="navbar-brand">
<a class="navbar-item" href="http://docs.swarmlab.io/SwarmLab-HowTos/swarmlab/docs">Swarmlab faq</a>
<button class="navbar-burger" data-target="topbar-nav">
<span></span>
<span></span>
<span></span>
</button>
</div>
<div id="topbar-nav" class="navbar-menu">
<div class="navbar-end">
<a class="navbar-item" href="#">Home</a>
<div class="navbar-item has-dropdown is-hoverable">
<a class="navbar-link" href="#">Products</a>
<div class="navbar-dropdown">
<a class="navbar-item" target ="hybridgit" href="https://git.swarmlab.io:3000/zeus/swarmlab-hybrid">Hybrid</a>
<a class="navbar-item" target ="venusgit" href="https://git.swarmlab.io:3000/swarmlab/venus-client">Venus</a>
</div>
</div>
<div class="navbar-item has-dropdown is-hoverable">
<a class="navbar-link" href="#">Services</a>
<div class="navbar-dropdown">
<a class="navbar-item" target ="hybrid" href="https://api-client.swarmlab.io:8088/">Hybrid</a>
<a class="navbar-item" target ="venus" href="https://api-client.swarmlab.io:8088/">Venus</a>
</div>
</div>
<div class="navbar-item">
<input id="search-input" type="text" placeholder="Search docs">
</div>
</div>
</div>
</nav>
</header>
<div class="body">
<div class="nav-container" data-component="swarmlab_poc-datacollector" data-version="docs">
<aside class="nav">
<div class="panels">
<div class="nav-panel-menu is-active" data-panel="menu">
<nav class="nav-menu">
<h3 class="title"><a href="index.html">swarmlab_poc-datacollector</a></h3>
<ul class="nav-list">
<li class="nav-item" data-depth="0">
<ul class="nav-list">
<li class="nav-item" data-depth="1">
<a class="nav-link" href="index.html">datacollector</a>
</li>
<li class="nav-item" data-depth="1">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="index-structure.html">project structure</a>
<ul class="nav-list">
<li class="nav-item is-current-page" data-depth="2">
<a class="nav-link" href="index-vuejs.html">Vue.JS</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="index-nodejs.html">Node JS</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="index-mongo.html">Mongo</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="index-redis.html">Redis</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="1">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="index-src.html">src-files</a>
<ul class="nav-list">
<li class="nav-item" data-depth="2">
<a class="nav-link" href="doc-dummy_service.html">dummy_service</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="doc-readmongo_service.html">readmongo_service</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="1">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="index-usage.html">Usage</a>
<ul class="nav-list">
<li class="nav-item" data-depth="2">
<a class="nav-link" href="index-dummy_service.html">dummy_service</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="1">
<a class="nav-link" href="index-microservice.html">Add Microservice</a>
</li>
</ul>
</li>
</ul>
</nav>
</div>
<div class="nav-panel-explore" data-panel="explore">
<div class="context">
<span class="title">swarmlab_poc-datacollector</span>
<span class="version">docs</span>
</div>
<ul class="components">
<li class="component">
<a class="title" href="../../swarmlab_faq/docs/index.html">swarmlab_faq</a>
<ul class="versions">
<li class="version is-latest">
<a href="../../swarmlab_faq/docs/index.html">docs</a>
</li>
</ul>
</li>
<li class="component is-current">
<a class="title" href="index.html">swarmlab_poc-datacollector</a>
<ul class="versions">
<li class="version is-current is-latest">
<a href="index.html">docs</a>
</li>
</ul>
</li>
</ul>
</div>
</div>
</aside>
</div>
<main class="article">
<div class="toolbar" role="navigation">
<button class="nav-toggle"></button>
<a href="../../swarmlab_faq/docs/index.html" class="home-link"></a>
<nav class="breadcrumbs" aria-label="breadcrumbs">
<ul>
<li><a href="index.html">swarmlab_poc-datacollector</a></li>
<li><a href="index-structure.html">project structure</a></li>
<li><a href="index-vuejs.html">Vue.JS</a></li>
</ul>
</nav>
</div>
<div class="content">
<aside class="toc sidebar" data-title="Contents" data-levels="2">
<div class="toc-menu"></div>
</aside>
<article class="doc">
<h1 class="page">Vue.js &#8594; service webclient</h1>
<div id="preamble">
<div class="sectionbody">
<div class="admonitionblock note">
<table>
<tr>
<td class="icon">
<i class="fa icon-note" title="Note"></i>
</td>
<td class="content">
<div class="paragraph">
<p>Vue.js is an open-source, progressive JavaScript framework for building user interfaces (UIs) and single-page applications.</p>
</div>
</td>
</tr>
</table>
</div>
<div class="paragraph">
<p><strong>Library modularization</strong> using a framework is common in frontend development.</p>
</div>
<div class="paragraph">
<p>What differentiates Vue.js from other alternatives is:</p>
</div>
<div class="ulist">
<ul>
<li>
<p>its <strong>“high decoupling”</strong>,This means it is very simple to extend its functionalities as modules are included to an application.</p>
</li>
</ul>
</div>
<div class="paragraph">
<p>For example, if we want to organize and render small visual components, all we need is Vue.js’s ‘core’ library.
It is not necessary to include additional libraries.</p>
</div>
<div class="paragraph">
<p>As the application grows,</p>
</div>
<div class="ulist">
<ul>
<li>
<p>we have libraries to manage <strong>routes</strong> such as <strong>‘vue-router’</strong>,</p>
</li>
<li>
<p>libraries to manage the global state such as <strong>‘vuex’</strong></p>
</li>
<li>
<p>and libraries to build responsive web applications such as <strong>‘bootstrap-vue’</strong>.</p>
</li>
<li>
<p>Additionally, if our application needs to be optimized or needs good SEO, we can include the <strong>‘vue-server-rendering’</strong> library.</p>
</li>
</ul>
</div>
<div class="paragraph">
<p>In the following figure, we can see how the libraries we just mentioned are progressively included, from a small SPA to multi-page applications (MPA).</p>
</div>
<div class="imageblock">
<div class="content">
<img src="_images/intro.png" alt="intro">
</div>
</div>
<div class="admonitionblock tip">
<table>
<tr>
<td class="icon">
<i class="fa icon-tip" title="Tip"></i>
</td>
<td class="content">
The name of the framework – Vue – is the same phonetically in English as view, and it corresponds to the traditional Model-View-Controller (MVC) architecture
</td>
</tr>
</table>
</div>
<div class="paragraph">
<p>React and Angular are other Frameworks similar to vuejs</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_why_vue_js"><a class="anchor" href="#_why_vue_js"></a>why Vue js</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Below are the reasons stating why Vue js is gaining more popularity:</p>
</div>
<div class="ulist">
<ul>
<li>
<p>Easy To Understand And Learn</p>
</li>
<li>
<p>Easy Customization</p>
</li>
<li>
<p>Readability And Single-file Components</p>
</li>
<li>
<p>Lightweight</p>
</li>
<li>
<p>Robust Tooling Ecosystem</p>
</li>
<li>
<p>Flexibility And Integration Capabilities</p>
</li>
<li>
<p>Much Advanced</p>
</li>
<li>
<p>High Performance</p>
</li>
<li>
<p>LAST BUT NOT LEAST, Documentation</p>
</li>
</ul>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_vuex"><a class="anchor" href="#_vuex"></a>Vuex</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Vuex is a state management pattern + library for Vue.js applications.</p>
</div>
<div class="ulist">
<ul>
<li>
<p>It serves as a centralized store for all the components in an application, with rules ensuring that the state can only be mutated in a predictable fashion.</p>
</li>
<li>
<p>It also integrates with Vue&#8217;s official devtools extension
to provide advanced features such as zero-config time-travel debugging and state snapshot export / import.</p>
</li>
</ul>
</div>
<div class="admonitionblock note">
<table>
<tr>
<td class="icon">
<i class="fa icon-note" title="Note"></i>
</td>
<td class="content">
<div class="title">What is a "State Management Pattern"?</div>
<div class="paragraph">
<p><strong>Let&#8217;s start with a simple Vue counter app:</strong></p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code class="language-javascript hljs" data-lang="javascript">new Vue({
// state
data () { <i class="conum" data-value="1"></i><b>(1)</b>
return {
count: 0
}
},
// view
template: ` <i class="conum" data-value="2"></i><b>(2)</b>
&lt;div&gt;{{ count }}&lt;/div&gt;
`,
// actions
methods: { <i class="conum" data-value="3"></i><b>(3)</b>
increment () {
this.count++
}
}
})</code></pre>
</div>
</div>
<div class="colist arabic">
<table>
<tr>
<td><i class="conum" data-value="1"></i><b>1</b></td>
<td>The state, the source of truth that drives our app;</td>
</tr>
<tr>
<td><i class="conum" data-value="2"></i><b>2</b></td>
<td>The view, a declarative mapping of the state;</td>
</tr>
<tr>
<td><i class="conum" data-value="3"></i><b>3</b></td>
<td>The actions, the possible ways the state could change in reaction to user inputs from the view.</td>
</tr>
</table>
</div>
<div class="paragraph">
<p>This is a simple representation of the concept of "one-way data flow":</p>
</div>
</td>
</tr>
</table>
</div>
<div class="imageblock right">
<div class="content">
<img src="_images/nvc.png" alt="nvc">
</div>
</div>
<div class="imageblock right">
<div class="content">
<img src="_images/nvc1.png" alt="nvc1">
</div>
</div>
<div class="admonitionblock tip">
<table>
<tr>
<td class="icon">
<i class="fa icon-tip" title="Tip"></i>
</td>
<td class="content">
<a href="https://scrimba.com/learn/vuex" target="_blank" rel="noopener">Online Vuex cources</a>
</td>
</tr>
</table>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_using_axios_to_consume_apis"><a class="anchor" href="#_using_axios_to_consume_apis"></a>Using Axios to Consume APIs</h2>
<div class="sectionbody">
<div class="admonitionblock tip">
<table>
<tr>
<td class="icon">
<i class="fa icon-tip" title="Tip"></i>
</td>
<td class="content">
Axios is a library for http communication, making ajax requests, and so on.
</td>
</tr>
</table>
</div>
<div class="paragraph">
<p><a href="https://github.com/axios/axios" target="_blank" rel="noopener">See more</a></p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_using_socket_io_to_consume_websocket"><a class="anchor" href="#_using_socket_io_to_consume_websocket"></a>Using socket.io to Consume Websocket</h2>
<div class="sectionbody">
<div class="imageblock">
<div class="content">
<img src="_images/bidirectional-communication.png" alt="bidirectional communication">
</div>
</div>
<div class="paragraph">
<p>Socket.IO aims to make realtime apps possible in every browser and mobile device, blurring the differences between the different transport mechanisms. It supports multiple transports, such as WebSockets, Flash sockets, long polling and more, automatically falling back when a transport fails</p>
</div>
<div class="paragraph">
<p><a href="https://socket.io/" target="_blank" rel="noopener">See more info here: Socket.io</a></p>
</div>
<div class="paragraph">
<p>Vue Packages</p>
</div>
<div class="ulist">
<ul>
<li>
<p><a href="https://www.npmjs.com/package/vue-socket.io-extended" target="_blank" rel="noopener">socket.io client</a></p>
</li>
<li>
<p><a href="https://www.npmjs.com/package/vue-socket.io">socket.io</a></p>
</li>
</ul>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_video_intro"><a class="anchor" href="#_video_intro"></a>Video = intro</h2>
<div class="sectionbody">
<div class="sidebarblock">
<div class="content">
<div class="admonitionblock tip">
<table>
<tr>
<td class="icon">
<i class="fa icon-tip" title="Tip"></i>
</td>
<td class="content">
REST API and Socket
</td>
</tr>
</table>
</div>
<div class="videoblock">
<div class="content">
<iframe src="https://www.youtube.com/embed/s7wmiS2mSXY?rel=0" frameborder="0" allowfullscreen></iframe>
</div>
</div>
<div class="videoblock">
<div class="content">
<iframe src="https://www.youtube.com/embed/SLwpqD8n3d0?rel=0" frameborder="0" allowfullscreen></iframe>
</div>
</div>
<div class="videoblock">
<div class="content">
<iframe src="https://www.youtube.com/embed/1BfCnjr_Vjg?rel=0" frameborder="0" allowfullscreen></iframe>
</div>
</div>
</div>
</div>
</div>
</div>
</article>
</div>
</main>
</div>
<footer class="footer">
<p>This page was built using the Antora <a href="https://gitlab.com/antora/antora-ui-default" target="antora">default UI</a> </p>
</footer>
<script src="../../_/js/site.js"></script>
<script src="../../_/js/vendor/lunr.js"></script>
<script src="../../_/js/vendor/search.js" id="search-script" data-base-path="../.." data-page-path="/swarmlab_poc-datacollector/docs/index-vuejs.html"></script>
<script async src="../../_/../search-index.js"></script>
<script async src="../../_/js/vendor/highlight.js"></script>
</body>
</html>

393
build/site/swarmlab_poc-datacollector/docs/index.html

@ -1,393 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Data collector! :: Swarmlab faq</title>
<link rel="canonical" href="http://docs.swarmlab.io/SwarmLab-HowTos/swarmlab/docs/swarmlab_poc-datacollector/docs/index.html">
<meta name="generator" content="Antora 2.3.4">
<link rel="stylesheet" href="../../_/css/site.css">
<link rel="stylesheet" href="../../_/css/search.css">
<script>var uiRootPath = '../../_'</script>
</head>
<body class="article">
<header class="header">
<nav class="navbar">
<div class="navbar-brand">
<a class="navbar-item" href="http://docs.swarmlab.io/SwarmLab-HowTos/swarmlab/docs">Swarmlab faq</a>
<button class="navbar-burger" data-target="topbar-nav">
<span></span>
<span></span>
<span></span>
</button>
</div>
<div id="topbar-nav" class="navbar-menu">
<div class="navbar-end">
<a class="navbar-item" href="#">Home</a>
<div class="navbar-item has-dropdown is-hoverable">
<a class="navbar-link" href="#">Products</a>
<div class="navbar-dropdown">
<a class="navbar-item" target ="hybridgit" href="https://git.swarmlab.io:3000/zeus/swarmlab-hybrid">Hybrid</a>
<a class="navbar-item" target ="venusgit" href="https://git.swarmlab.io:3000/swarmlab/venus-client">Venus</a>
</div>
</div>
<div class="navbar-item has-dropdown is-hoverable">
<a class="navbar-link" href="#">Services</a>
<div class="navbar-dropdown">
<a class="navbar-item" target ="hybrid" href="https://api-client.swarmlab.io:8088/">Hybrid</a>
<a class="navbar-item" target ="venus" href="https://api-client.swarmlab.io:8088/">Venus</a>
</div>
</div>
<div class="navbar-item">
<input id="search-input" type="text" placeholder="Search docs">
</div>
</div>
</div>
</nav>
</header>
<div class="body">
<div class="nav-container" data-component="swarmlab_poc-datacollector" data-version="docs">
<aside class="nav">
<div class="panels">
<div class="nav-panel-menu is-active" data-panel="menu">
<nav class="nav-menu">
<h3 class="title"><a href="index.html">swarmlab_poc-datacollector</a></h3>
<ul class="nav-list">
<li class="nav-item" data-depth="0">
<ul class="nav-list">
<li class="nav-item is-current-page" data-depth="1">
<a class="nav-link" href="index.html">datacollector</a>
</li>
<li class="nav-item" data-depth="1">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="index-structure.html">project structure</a>
<ul class="nav-list">
<li class="nav-item" data-depth="2">
<a class="nav-link" href="index-vuejs.html">Vue.JS</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="index-nodejs.html">Node JS</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="index-mongo.html">Mongo</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="index-redis.html">Redis</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="1">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="index-src.html">src-files</a>
<ul class="nav-list">
<li class="nav-item" data-depth="2">
<a class="nav-link" href="doc-dummy_service.html">dummy_service</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="doc-readmongo_service.html">readmongo_service</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="1">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="index-usage.html">Usage</a>
<ul class="nav-list">
<li class="nav-item" data-depth="2">
<a class="nav-link" href="index-dummy_service.html">dummy_service</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="1">
<a class="nav-link" href="index-microservice.html">Add Microservice</a>
</li>
</ul>
</li>
</ul>
</nav>
</div>
<div class="nav-panel-explore" data-panel="explore">
<div class="context">
<span class="title">swarmlab_poc-datacollector</span>
<span class="version">docs</span>
</div>
<ul class="components">
<li class="component">
<a class="title" href="../../swarmlab_faq/docs/index.html">swarmlab_faq</a>
<ul class="versions">
<li class="version is-latest">
<a href="../../swarmlab_faq/docs/index.html">docs</a>
</li>
</ul>
</li>
<li class="component is-current">
<a class="title" href="index.html">swarmlab_poc-datacollector</a>
<ul class="versions">
<li class="version is-current is-latest">
<a href="index.html">docs</a>
</li>
</ul>
</li>
</ul>
</div>
</div>
</aside>
</div>
<main class="article">
<div class="toolbar" role="navigation">
<button class="nav-toggle"></button>
<a href="../../swarmlab_faq/docs/index.html" class="home-link"></a>
<nav class="breadcrumbs" aria-label="breadcrumbs">
<ul>
<li><a href="index.html">swarmlab_poc-datacollector</a></li>
<li><a href="index.html">datacollector</a></li>
</ul>
</nav>
</div>
<div class="content">
<aside class="toc sidebar" data-title="Contents" data-levels="2">
<div class="toc-menu"></div>
</aside>
<article class="doc">
<h1 class="page">Data collector!</h1>
<div id="preamble">
<div class="sectionbody">
<div class="imageblock right">
<div class="content">
<img src="_images/swarmlab.png" alt="swarmlab" width="150">
</div>
</div>
<div class="paragraph">
<p>The "data collector" is a lightweight microservice application that collect and sends metadata, collected from a system, such as an IoT network, distributed system, data center, etc to a storage system.</p>
</div>
<div class="ulist">
<ul>
<li>
<p>The data are transmitted, stored, and can be retrieved at any time.</p>
</li>
</ul>
</div>
<div class="paragraph">
<p><strong>"data collector"</strong> are developed with a platform agnostic"container-based application strategy</p>
</div>
<div class="admonitionblock note">
<table>
<tr>
<td class="icon">
<i class="fa icon-note" title="Note"></i>
</td>
<td class="content">
<div class="paragraph">
<p>A platform-agnostic approach offers many choices</p>
</div>
<div class="ulist">
<ul>
<li>
<p>Can be seamlessly moved from local development machine to production deployments</p>
</li>
<li>
<p>Flexibility, Reliability</p>
<div class="ulist">
<ul>
<li>
<p>Avoiding Vendor Lock-In</p>
</li>
</ul>
</div>
</li>
<li>
<p>From Code to full-blown systems</p>
<div class="ulist">
<ul>
<li>
<p>from a single container on your local machine</p>
</li>
<li>
<p>to a running cloud native - container-based environment</p>
</li>
</ul>
</div>
</li>
</ul>
</div>
</td>
</tr>
</table>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_start"><a class="anchor" href="#_start"></a>Start</h2>
<div class="sectionbody">
<div class="paragraph">
<p>You can start it in the same way as you start any other application.</p>
</div>
<div class="admonitionblock tip">
<table>
<tr>
<td class="icon">
<i class="fa icon-tip" title="Tip"></i>
</td>
<td class="content">
You can find more information <a href="http://docs.swarmlab.io/SwarmLab-HowTos/swarmlab/docs/swarmlab/docs/hybrid/start-microservices.html" target="_blank" rel="noopener">here</a>
</td>
</tr>
</table>
</div>
<div class="admonitionblock note">
<table>
<tr>
<td class="icon">
<i class="fa icon-note" title="Note"></i>
</td>
<td class="content">
You may have to <strong>wait</strong> (couple of minutes) for the system to fully provision resources. You may have to <strong>refresh</strong> the web interface a couple of times!
</td>
</tr>
</table>
</div>
<div class="sect2">
<h3 id="_on_error"><a class="anchor" href="#_on_error"></a>on Error:</h3>
<div class="admonitionblock note">
<table>
<tr>
<td class="icon">
<i class="fa icon-note" title="Note"></i>
</td>
<td class="content">
<div class="paragraph">
<p><strong>on Error:</strong></p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code class="language-bash hljs" data-lang="bash">UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeout=60)</code></pre>
</div>
</div>
<div class="paragraph">
<p>Run:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code class="language-bash hljs" data-lang="bash">export DOCKER_CLIENT_TIMEOUT=120
export COMPOSE_HTTP_TIMEOUT=120</code></pre>
</div>
</div>
<div class="paragraph">
<p><strong>onError:</strong></p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code class="language-bash hljs" data-lang="bash">could not find an available, non-overlapping IPv4 address pool among the defaults to assign to the network</code></pre>
</div>
</div>
<div class="paragraph">
<p><strong>Do you have a VPN connected?</strong></p>
</div>
<div class="ulist">
<ul>
<li>
<p>Turn off VPN</p>
</li>
<li>
<p>Start POC</p>
</li>
<li>
<p>After that, you can enable VPN again</p>
</li>
</ul>
</div>
</td>
</tr>
</table>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_open_web_interface"><a class="anchor" href="#_open_web_interface"></a>Open web interface</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Find "webclient" Instance from menou:</p>
</div>
<div class="ulist">
<ul>
<li>
<p><strong>Instances</strong> - &gt; click <strong>more</strong></p>
</li>
<li>
<p><strong>connect</strong> &#8594; "Click here to open the Web_App"</p>
</li>
</ul>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_open_console"><a class="anchor" href="#_open_console"></a>Open console</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Find "webclient" Instance and <strong>run</strong></p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code class="language-c hljs" data-lang="c">docker exec ... Command</code></pre>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_source_directory"><a class="anchor" href="#_source_directory"></a>Source directory</h2>
<div class="sectionbody">
<div class="paragraph">
<p>The directory that contains the source is in "Directory Maps &#8594; Local" column.</p>
</div>
<div class="imageblock right">
<div class="content">
<img src="_images/swarmlab-connect.png" alt="swarmlab connect">
</div>
</div>
<div class="ulist">
<ul>
<li>
<p>(1) Opens the info menu</p>
</li>
<li>
<p>(2) Run a shell in a running container</p>
</li>
<li>
<p>(3) Opens web interface</p>
</li>
<li>
<p>(4),(5) Source directory - Directory Maps</p>
</li>
</ul>
</div>
<div class="paragraph">
<p><strong>"Directory Maps"</strong> are the preferred mechanism for persisting data generated and used by Docker containers. We use here "bind mounts" and they are dependent on the directory structure and OS of the host machine.</p>
</div>
<div class="admonitionblock warning">
<table>
<tr>
<td class="icon">
<i class="fa icon-warning" title="Warning"></i>
</td>
<td class="content">
Your local changes to the files will be overwritten by clicking the "Download" button. You should always <strong>take a full backup</strong> first (simple copy the directory tree)
</td>
</tr>
</table>
</div>
</div>
</div>
</article>
</div>
</main>
</div>
<footer class="footer">
<p>This page was built using the Antora <a href="https://gitlab.com/antora/antora-ui-default" target="antora">default UI</a> </p>
</footer>
<script src="../../_/js/site.js"></script>
<script src="../../_/js/vendor/lunr.js"></script>
<script src="../../_/js/vendor/search.js" id="search-script" data-base-path="../.." data-page-path="/swarmlab_poc-datacollector/docs/index.html"></script>
<script async src="../../_/../search-index.js"></script>
<script async src="../../_/js/vendor/highlight.js"></script>
</body>
</html>
Loading…
Cancel
Save