@@ -53,6 +53,30 @@ Choose your preferred approach:
53532 . ** For CI/CD reliability** : Use [ LXD configuration] ( config/tofu/lxd/README.md )
54543 . ** For testing both** : Try both approaches to compare
5555
56+ ## 🎭 ** Ansible Configuration Management**
57+
58+ Once VMs are provisioned by OpenTofu, we use ** Ansible** to execute tasks and manage configuration on the running instances.
59+
60+ ### ⚙️ ** Ansible Setup (` config/ansible/ ` )**
61+
62+ - ** Technology** : Agentless configuration management and task automation
63+ - ** Purpose** : Execute tasks on OpenTofu-provisioned VMs
64+ - ** Features** : Cloud-init verification, system configuration, application deployment
65+
66+ ** [ 📖 See detailed Ansible documentation →] ( config/ansible/README.md ) **
67+
68+ ### 🔄 ** Infrastructure Workflow**
69+
70+ 1 . ** Provision** : OpenTofu creates and configures VMs with cloud-init
71+ 2 . ** Configure** : Ansible connects to VMs and executes management tasks
72+ 3 . ** Verify** : Automated checks ensure proper setup and functionality
73+
74+ | Phase | Tool | Purpose |
75+ | ------------------ | ------------------ | ------------------------------------------- |
76+ | ** Infrastructure** | OpenTofu/Terraform | VM provisioning and cloud-init setup |
77+ | ** Configuration** | Ansible | Task execution and configuration management |
78+ | ** Verification** | Ansible Playbooks | System checks and validation |
79+
5680## 🧪 ** Testing in GitHub Actions**
5781
5882Both configurations include GitHub Actions workflows for CI testing:
@@ -68,10 +92,13 @@ Both configurations include GitHub Actions workflows for CI testing:
6892- [x] LXD container provisioning (local + GitHub Actions)
6993- [x] Cloud-init support in both approaches
7094- [x] OpenTofu infrastructure as code
95+ - [x] Ansible configuration management setup
96+ - [x] Basic cloud-init verification playbook
7197- [x] Automated testing workflows
7298
7399### 🔄 ** In Progress**
74100
101+ - [ ] Extended Ansible playbooks for application deployment
75102- [ ] Docker Compose integration testing
76103- [ ] Performance benchmarking
77104- [ ] Official GitHub Actions nested virtualization clarification
@@ -86,15 +113,20 @@ Both configurations include GitHub Actions workflows for CI testing:
86113
87114``` text
88115├── config/
89- │ └── tofu/
90- │ ├── multipass/
91- │ │ ├── main.tf # OpenTofu configuration for Multipass VMs
92- │ │ ├── cloud-init.yml # Cloud-init configuration
93- │ │ └── README.md # Multipass-specific documentation
94- │ └── lxd/
95- │ ├── main.tf # OpenTofu configuration for LXD containers
96- │ ├── cloud-init.yml # Cloud-init configuration (same as multipass)
97- │ └── README.md # LXD-specific documentation
116+ │ ├── tofu/
117+ │ │ ├── multipass/
118+ │ │ │ ├── main.tf # OpenTofu configuration for Multipass VMs
119+ │ │ │ ├── cloud-init.yml # Cloud-init configuration
120+ │ │ │ └── README.md # Multipass-specific documentation
121+ │ │ └── lxd/
122+ │ │ ├── main.tf # OpenTofu configuration for LXD containers
123+ │ │ ├── cloud-init.yml # Cloud-init configuration (same as multipass)
124+ │ │ └── README.md # LXD-specific documentation
125+ │ └── ansible/
126+ │ ├── ansible.cfg # Ansible configuration
127+ │ ├── inventory.yml # Host inventory for provisioned VMs
128+ │ ├── wait-cloud-init.yml # Playbook to wait for cloud-init completion
129+ │ └── README.md # Ansible-specific documentation
98130├── .github/
99131│ └── workflows/
100132│ ├── test-multipass-provision.yml # Tests Multipass VMs
0 commit comments