Lab Overview
Document Control
TODO:
- Overall structure.
 - Initial draft complete
 - Testing
 - Ready
 
User Story: Lab Overview
As a: Ansible Developer
I want: a development environment that follows DevOps principles
So that: develop, test and deploy ansible roles and playbooks, apply best practices and setup CI/CD tooling.
Environment Diagram
The development environment consists of a workstation running Linux - to edit ansible roles and playbooks, a controller (running ansible), supporting systems (Jekins, AWX and Gitlab) - and a variety of managed nodes for testing across multiple operating systems.
Development
- workstation.lab.local - Development Workstation running Fedora 31. Development IDEs (VS Code, VIM). Feel free to use your own - see Linux setup for guidance.
 
Infrastructure
- controller.lab.local - Ansible engine controller. Runs ansible.
 - gitlab.lab.local - gitlab environment.
 - jenkins.lab.local - ansible CI/CD system.
 - awx.lab.local - ansible AWX.
 
Managed Hosts
- centos7.lab.local - ansible managed host.
 - centos8.lab.local - ansible managed host.
 - rhel7.lab.local - ansible managed host.
 - rhel81.lab.local - ansible manged host.
 - debian10.lab.local - ansible manged host.
 - ubuntu1804.lab.local - ansible managed host.
 
Workflow / Environment Diagram
graph TD; DE[Development Workstation: Fedora 31]-->GIT[GitLab]; GIT-->CICD[Jenkins: CI/CD]; CICD-->A[Ansible Controller: Ansible / Tower]; A[Ansible Controller]-->B[Fedora 31]; A[Ansible Controller]-->C[CentOS 8]; A[Ansible Controller]-->D[CentOS 7]; A[Ansible Controller]-->E[RHEL 7]; A[Ansible Controller]-->F[RHEL 8]; A[Ansible Controller]-->G[Debian 10]; A[Ansible Controller]-->H[Ubuntu 18.04];
   Last update: 2020-01-26