= Implementing infrastructure-as-code with Ansible and GIT!
image::ROOT:swarmlab.png[swarmlab,150,float=right]
== What is "infrastructure-as-code"?
Imaging
* one click and you can run a full server
** to include your favorite operating system
** applications
** security rules
** and custom settings
*and this can be reproduced tens, hundreds or even thousands of times, all without human intervention*
====
*Thats the world of infrastructure as code, IaC for short*
IaC is a process where, you define a configuration template with all the required settings and customizations, and a provisioning tool will take care of the rest.
====
== implement infrastructure-as-code
To successfully implement the infrastructure-as-code and to keep the concept simple we will use
* git for "Code Repository and Versioning"
* ansible for "Automation tool" that takes control of the infrastructure configuration and performs the necessary actions to reach the desired end-state.
== Usage
=== run instance
* Run "microservice-ansible"
** Instances->running Containers->Actions [microservice-ansible_masterservice_1]
*** connect [Open a terminal and Run]
=== find examples
* Run "microservice-ansible"
** Instances->running Containers->Actions [microservice-ansible_masterservice_1]
*** connect [Project BaseDir]
cd in [Project BaseDir]/examples
=== Attach network
* Run "microservice-ansible"
** Instances->running Containers->Actions [microservice-ansible_masterservice_1]
*** Networks->"Select Network"
== Scenario
=== run swarm
* Run "hybrid-linux"
** Labroom->"Swarmlab LabRoom Deploy - Local "->Actions [hybrid-linux]
*** Number of Instances (e.g. 5) -> Up
=== run ansible
* Run "microservice-ansible"
** Instances->running Containers->Actions [microservice-ansible_masterservice_1]
*** connect [Open a terminal and Run]
=== Attach network
* Run "microservice-ansible"
** Instances->running Containers->Actions [microservice-ansible_masterservice_1]
*** Networks->"Select Network" [network hybrid linux]
====
Terminal: microservice-ansible
cd /home/docker/project/examples
edit inverntory.yml (ifconfig, nmap etc)
run fluentd.yml.sh
TIP: It's time to relax and have a cup of coffee!
====