Quantcast
Channel: Active questions tagged vagrant - DevOps Stack Exchange
Viewing all articles
Browse latest Browse all 64

Structuring Ansible playbooks for low volume, purpose-built images

$
0
0

I hope this question is not too vague / opinion-based:

I need to create and maintain a handful of virtual machines that get packaged up and deployed out to thousands of users, depending on specific requirements. Everyone is doing roughly the same job, but different people need different tools. This is important because I don't think I can structure things around roles (though I'm happy to be told I'm wrong).

They way I have things structured now is:

vagrant-directory|-Vagrantfile # Multi-host setup, with one machine per "use-case"|-scripts/ # Shell scripts run by Vagrant (mostly used to install Ansible prereqs)|-ansible/ # All Ansible-related files|----Playbook1.yml # One playbook per use case|----tasks/ # Contains task files for everything I want to do|------install/ # All task files related to installing software|------apt-update.yml # For example, a script to run apt update|------iptables-flush.yml # Disable iptables

With this approach, it basically means that when I get a requirement for a new machine, I have to create a new Playbook42.yml, use import_tasks for the tasks that I need, create any machine-specific tasks, and then provision and export.

Is there a more "Ansible official" or industry standard approach to doing this?


Viewing all articles
Browse latest Browse all 64

Trending Articles