No commit activity in last 3 years
No release in over 3 years
Helps defining and building ansible inventory files programatically via configuration and command modules.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.7
~> 10.0
 Project Readme

Vagrant::AnsibleInventory

Join the chat at https://gitter.im/joiggama/vagrant-ansible_inventory

Vagrant plugin for building ansible inventory files.

Helps defining and building ansible inventory files programatically via configuration and command modules.

Installation

First execute:

$ vagrant plugin install vagrant-ansible_inventory

Usage

For a vagrant environment already provisioned with a Vagrantfile like the following:

Vagrant.configure(2) do |config|
  define_vm = ->(name, box, memory) {
    config.vm.define name do |instance|
      instance.vm.box      = box
      instance.vm.hostname = name
      instance.vm.network 'private_network', type: 'dhcp'
      instance.vm.provider :virtualbox do |i|
        i.name   = name
        i.memory = memory
      end
    end
  }

  define_vm.call 'master',  'trusty32', 256
  define_vm.call 'slave-1', 'trusty32', 256
  define_vm.call 'slave-2', 'trusty32', 256

  config.ansible.groups = {
    'cluster:children' => ['master', 'slaves'],
    'slaves'           => ['slave-1', 'slave-2'],
  }
end

Running:

$ vagrant ansible inventory

Will output something like:

# Generated by vagrant-ansible_inventory plugin

[master]
master ansible_ssh_user=vagrant ansible_ssh_host=172.28.128.6 ansible_ssh_port=22
ansible_ssh_private_key_file=/Users/joiggama/Projects/vagrant-ansible_inventory/.vagrant/machines/master/virtualbox/private_key

[slaves]
slave-1 ansible_ssh_user=vagrant ansible_ssh_host=172.28.128.7
ansible_ssh_port=22
ansible_ssh_private_key_file=/Users/joiggama/Projects/vagrant-ansible_inventory/.vagrant/machines/slave-1/virtualbox/private_key
slave-2 ansible_ssh_user=vagrant ansible_ssh_host=172.28.128.8
ansible_ssh_port=22
ansible_ssh_private_key_file=/Users/joiggama/Projects/vagrant-ansible_inventory/.vagrant/machines/slave-2/virtualbox/private_key

[cluster:children]
master
slaves

Contributing

  1. Fork it ( https://github.com/joiggama/vagrant-ansible_inventory/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

License

The MIT licence