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