Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/abdelalidousbah/ansible-development-env
A development environment setup for Ansible using Vagrant and Libvirt, featuring Ubuntu and CentOS VMs for testing and configuration management.
https://github.com/abdelalidousbah/ansible-development-env
ansible centos development iac libvirt testing ubuntu vagrant
Last synced: 18 days ago
JSON representation
A development environment setup for Ansible using Vagrant and Libvirt, featuring Ubuntu and CentOS VMs for testing and configuration management.
- Host: GitHub
- URL: https://github.com/abdelalidousbah/ansible-development-env
- Owner: AbdelaliDousbah
- Created: 2024-09-11T14:41:51.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-09-17T17:10:12.000Z (3 months ago)
- Last Synced: 2024-10-16T19:25:07.494Z (2 months ago)
- Topics: ansible, centos, development, iac, libvirt, testing, ubuntu, vagrant
- Language: Python
- Homepage:
- Size: 22.5 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## Overview
This project is designed to establish an Ansible development environment using Vagrant and Libvirt. The setup includes a host machine operating as the Ansible control node and two virtual machines (VMs) that are managed via Vagrant.
### Description of the Environment
- **Host Machine**: The control node for Ansible, which executes playbooks and manages configuration tasks across the VMs.
- **Virtual Machines**: Includes an Ubuntu 20.04 VM and a CentOS 8 VM, provisioned with specified resource allocations.
- **Vagrant with Libvirt**: Manages VM provisioning and lifecycle, with configurations defined in the `Vagrantfile` and VM management handled by Libvirt.The VMs are configured to enable Ansible to manage them through SSH. A dynamic inventory script, `vagrant_inventory.py`, generates the inventory file for Ansible.
### Purpose of the Setup
- **Development and Testing**: Provides a controlled environment for developing and testing Ansible playbooks and configurations.
- **Learning and Experimentation**: Offers a practical environment for experimenting with Ansible without impacting your primary system.
- **Configuration Management**: Demonstrates the use of Ansible in conjunction with Vagrant-managed VMs for automated setup and node management.### Topics Covered
- **Ansible Basics**: Introduction to Ansible, its architecture, workflow, and installation.
- **Ad-Hoc Commands**: Practical examples of using Ansible ad-hoc commands, categorized into system management, file operations, package management, service management, user management, resource management, log management, network management, application deployment, and scheduled tasks.### Project Status
**This project is actively in progress.** The current structure includes foundational topics and practical examples, but ongoing updates will introduce additional sections and more comprehensive instructions as the project evolves.
### Installation and Setup Instructions
- **Host Machine Details**:
- **Operating System**: Ubuntu- **Software Versions**:
- **libvirt**: `libvirtd (libvirt) 10.0.0`
- **Vagrant**: `Vagrant 2.4.1`
- **Vagrant Plugin**: `vagrant-libvirt (0.12.2, global)`
- **Python**: `Python 3.12.3`