= Swarmlab Hybrid! 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} + [.right] .Build once, Deploy anywhere! image:./images/hybrid.png[300,300,role="related thumb right"] Swarmlab Hybrid provides a *Modern Application Architecture* * Distributed System * Multiple machines * Each service is a process * Containerized services in Lightweight containers * Auto deploy/delivery of services ==== [TIP] ==== .WireGuard - fast and modern VPN tunnel *All running in a isolated Network Stack with High efficiency and security* ==== == Install === Prerequisites Hardware * 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. [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. ==== === 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 [.float-group] -- [.left] video::507040807[vimeo,width=640,start=0,end=1:10,title=.intro swarmlab 0 - 1:10,lang=us] [.right] image:./images/swarmlab-network.png[300,300,role="related thumb right"] -- video::507040807[vimeo,width=640,start=1:10,end=2:20,title=.intro hybrid 1:10 - 2:20,lang=us] video::507040807[vimeo,width=640,start=2:20,end=4:15,title=.intro agent 2:20 - 4:15,lang=us] video::507040807[vimeo,width=640,start=4:15,end=7:25,title=.bootstrap image 4:15 - 7:25,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,title=.Deploy,lang=us] == Join * join 11:17 - 17:41 video::507090167[vimeo,width=640,start=11:17,end=17:41,title=.Join,lang=us] == Connect to Container video::507040807[vimeo,width=640,start=725,end=12:20,title=.Connect to container (Host->container) 7:25 - 12:20,lang=us] video::507040807[vimeo,width=640,start=12:20,end=13:50,title=.Connect to container (Container->container) 12:20 - 13:50,lang=us] video::507040807[vimeo,width=640,start=13:50,end=7:15,title=.Mount DIR container 13:50 - 7:15,lang=us]