Vagrant files to build some service boxes
All Vagrant Files are configured to use https://atlas.hashicorp.com/icalvete/boxes/ubuntu-16.04-64-puppet as box. Feel free to customize files
Box version (config.vm.box_version) must be <= 0.0.1
- hiera
- https://github.com/smartpurposes/puppet-modules
[Common]
- Install Virtual Box => 4.3.6 from https://www.virtualbox.org/wiki/Downloads
- Install Vagrant 1.6.5 from http://www.vagrantup.com/downloads
[*NIX]
- Install git
[Windows]
- Install cygwin from http://cygwin.com/install.html ( No mandatory but really usefull )
- Install git on cygwin
Reboot if don't did it after Virtual Box and Vagrant
[Common]
- Download boxes
Choose the right backend (In this case, virtualbox) See the example at the end of the seccion.
$ vagrant box add icalvete/ubuntu-12.04-64-puppet
$ vagrant box add icalvete/ubuntu-14.04-64-puppet
$ vagrant box add icalvete/ubuntu-16.04-64-puppet
Chossing the right backend (virtualbox)
$ vagrant box add https://vagrantcloud.com/puppetlabs/boxes/centos-7.0-64-puppet
==> box: Loading metadata for box 'https://vagrantcloud.com/puppetlabs/boxes/centos-7.0-64-puppet'
This box can work with multiple providers! The providers that it
can work with are listed below. Please review the list and choose
the provider you will be working with.
1) virtualbox
2) vmware_desktop
3) vmware_fusion
Enter your choice: 1
==> box: Adding box 'puppetlabs/centos-7.0-64-puppet' (v1.0.0) for provider: virtualbox
box: Downloading: https://vagrantcloud.com/puppetlabs/boxes/centos-7.0-64-puppet/versions/1.0.0/providers/virtualbox.box
box:
[Common]
- Download this project:
$ git clone https://github.com/icalvete/vagrantfiles.git
- Download common manifest
(Be aware. There is a final dot at the end of git clone !!!!)
$ cd vagrantfiles
$ rm puppet/modules_sp/.gitkeep
$ cd puppet/modules_sp/
$ git clone https://github.com/smartpurposes/puppet-modules.git .
$ git submodule init
$ git submodule update
- Download any manifest you need
(Be aware. There is a final dot at the end of git clone !!!!)
$ cd ..
$ rm modules/.gitkeep
$ cd modules
$ git clone https://< what ever you need >.git .
- Run any service box (kyototycoon for example)
$ cd vagrantfiles/kyototycoon
$ vagrant up
- Connecting to service box:
$ vagrant ssh
- Create < where ever >vagrantfiles/puppet/modules and put your own puppet manifests here.
- Change any < where ever >/vagrantfiles/< service box >/puppet/manifests/site.pp to extend it.
Some service box (mysql, rabbitmq...) are using manifest who needs hiera.
Put your hiera file in < where ever >/vagrantfiles/puppet/hiera/common.yaml
Israel Calvete Talavera [email protected]