= SwarmlabHybrid !
Apostolos rootApostolos@swarmlab.io
// Metadata:
:description: Intro and Install
:keywords: ubuntu install
:data-uri:
:toc: right
:toc-title: Table of contents
:toclevels: 4
:source-highlighter: highlight
:icons: font
:sectnums: 



{empty} +

image:./images/hybrid.png[alt="SwarmlabHybrid"]

== Install


=== Prerequisites Hardware

[NOTE]
.Remember
====
Before you create and configure a hybrid deployment using the swarmlab-agent client, your Local Machines need to meet certain requirements.

If you don't meet those requirements, you won't be able to complete the steps within the swarmlab-agent client
and you won't be able to configure a hybrid deployment between your Local Enviroment and Swarmlab Online Enviroment.
====

* A Linux Server (Virtual or Physical)  
** You must have super user privileges (sudo)

* Docker Engine- Community version 18 or later is required.   
** Docker Engine is supported on x86_64 (or amd64), armhf, and arm64 architectures.

* RAM
** Absolute minimum to run the daemon and some very light containers - 512MB
** Minimum for “comfortable” usage – 2GB

* CPU
** Minimum: 2; Recommended 4+.

* Disk Space
** 10 GB for internal requirements.
** The amount of additional disk space required for load file staging, persistence, or backups depends on the size of the data to be loaded.

TIP: Docker uses a hypervisor with a VM, and the host server must support virtualization. 

=== Prerequisites Keys

* Create an Hybrid Swarmlab Key
** Connect to https://api-client.swarmlab.io:8088/ and click on the Dashboard->Profile Menou
* After creating Keys for your project, you will be informed with an email and it will also become visible in the Swarmlab-agent clients corresponding menu.

=== Download and install

* Download the swarmlab-agent client
** git clone https://git.swarmlab.io:3000/zeus/swarmlab-hybrid.git 

* Run sudo ./install.sh
** See also ./install directory

== Start/Stop Agent

=== Start Agent
* Navigate to the dir you have installed the agent
** run ./start.sh

=== Stop Agent
* Navigate to the dir you have installed the agent
** run ./stop.sh

=== Login

Connect to https://api-client.swarmlab.io:8088/ and click on "Hybrid->OpenSwarmlab Hybrid" Menou

TIP: This is the way to have a fully functional Swarmlab Cloud. You HAVE to connect this way to be Authorized for the session.

== Config

* Use the "Profile->Settings” menu on swarmlab-agent client to configure a hybrid agent
** add also a zone for your agent


** Connect to https://api-client.swarmlab.io:8088/ and click on the Dashboard->Profile Menou

== Deploy



=== Local

* intro swarmlab  0    - 1:10

video::507040807[vimeo,width=640,start=0,end=110,opts=autoplay,title=.Intro swarmlab,lang=us]

* intro hybrid    1:10 - 2:20

video::507040807[vimeo,width=640,start=110,end=220,opts=autoplay,title=.Intro hybrid,lang=us]

* intro agent     2:20 - 4:15

video::507040807[vimeo,width=640,start=220,end=415,opts=autoplay,title=.Intro agent,lang=us]

*bootstrap image         4:15 - 7:25

video::507040807[vimeo,width=640,start=415,end=725,opts=autoplay,title=.Bootstrap image,lang=us]



=== Hybrid

* deploy        0:20    - 11:17 
** deploy field description (image)        1:03    - 1:30
** deploy field description (stack)        1:30    - 3:10
** deploy field description (network)      3:10    - 5:35
** deploy field description (Limits)       5:35    - 6:17
** deploy field description (Port Expose)  6:17    - 7:20
** deploy field description (Readme URL)   7:20    - 8:32

video::507090167[vimeo,width=640,start=0,end=11:17,opts=autoplay,title=.Deploy,lang=us]

== Join

* join        11:17    -  17:41

video::507090167[vimeo,width=640,start=11:17,end=17:41,opts=autoplay,title=.Join,lang=us]


== Connect to Container


*Connect to container (Host->container)  7:25 - 12:20

video::507040807[vimeo,width=640,start=725,end=12:20,opts=autoplay,title=.Connect container (Host -> Container),lang=us]

*Connect to container (Container->container)     12:20 - 13:50

video::507040807[vimeo,width=640,start=12:20,end=13:50,opts=autoplay,title=.Connect container (Container -> Container),lang=us]

*Mount DIR container     13:50 - 7:15

video::507040807[vimeo,width=640,start=13:50,end=7:15,opts=autoplay,title=.Mount Directory -> Container,lang=us]


