From 8d688e54a1d68b2f02b397a193a05c5762e691d7 Mon Sep 17 00:00:00 2001 From: Alan Pearce Date: Fri, 2 May 2014 19:16:50 +0100 Subject: Add vagrant configuration with ansible provisioning --- tag-vagrant/vagrant.d/Vagrantfile | 7 +++++++ tag-vagrant/vagrant.d/ansible/centos.yml | 31 +++++++++++++++++++++++++++++++ tag-vagrant/vagrant.d/ansible/debian.yml | 15 +++++++++++++++ tag-vagrant/vagrant.d/ansible/site.yml | 32 ++++++++++++++++++++++++++++++++ 4 files changed, 85 insertions(+) create mode 100644 tag-vagrant/vagrant.d/Vagrantfile create mode 100644 tag-vagrant/vagrant.d/ansible/centos.yml create mode 100644 tag-vagrant/vagrant.d/ansible/debian.yml create mode 100644 tag-vagrant/vagrant.d/ansible/site.yml (limited to 'tag-vagrant') diff --git a/tag-vagrant/vagrant.d/Vagrantfile b/tag-vagrant/vagrant.d/Vagrantfile new file mode 100644 index 0000000..4c69c88 --- /dev/null +++ b/tag-vagrant/vagrant.d/Vagrantfile @@ -0,0 +1,7 @@ +# -*- mode: ruby -*- +Vagrant.configure(2) do |config| + config.vm.provision "ansible" do |ansible| + ansible.playbook = "#{File.dirname(__FILE__)}/ansible/site.yml" + ansible.limit = "all" + end +end diff --git a/tag-vagrant/vagrant.d/ansible/centos.yml b/tag-vagrant/vagrant.d/ansible/centos.yml new file mode 100644 index 0000000..1a6759a --- /dev/null +++ b/tag-vagrant/vagrant.d/ansible/centos.yml @@ -0,0 +1,31 @@ +- name: Ensure EPEL repository package is present + register: centos_repos + get_url: + url: "{{ item.url }}" + dest: "/root/{{ item.dest }}" + with_items: + - url: http://lon.mirror.rackspace.com/ius/stable/CentOS/6/x86_64/epel-release-6-5.noarch.rpm + dest: epel-repo.rpm + - url: http://lon.mirror.rackspace.com/ius/stable/CentOS/6/x86_64/ius-release-1.0-11.ius.centos6.noarch.rpm + dest: ius-repo.rpm + +- name: Fetch utilities repo + get_url: + url: http://download.opensuse.org/repositories/utilities/CentOS_6/utilities.repo + dest: /etc/yum.repos.d/utilities.repo + +- name: Ensure IUS and EPEL repositories are installed + when: centos_repos.changed + yum: + name: "{{ item }}" + state: installed + with_items: + - /root/epel-repo.rpm + - /root/ius-repo.rpm + + +- name: Ensure that tools are installed + with_items: packages + yum: + name: "{{ item }}" + state: present diff --git a/tag-vagrant/vagrant.d/ansible/debian.yml b/tag-vagrant/vagrant.d/ansible/debian.yml new file mode 100644 index 0000000..9e06af6 --- /dev/null +++ b/tag-vagrant/vagrant.d/ansible/debian.yml @@ -0,0 +1,15 @@ +- get_url: + url: https://thoughtbot.github.io/rcm/debs/rcm_1.2.2-2_all.deb + dest: /tmp/rcm.deb + +- command: dpkg --skip-same-version -i /tmp/rcm.deb + register: dpkg + changed_when: "dpkg.stdout.startswith('Selecting')" + +- name: Ensure that tools are installed + with_items: packages + apt: + pkg: "{{ item }}" + state: present + cache_valid_time: 86400 + update_cache: yes \ No newline at end of file diff --git a/tag-vagrant/vagrant.d/ansible/site.yml b/tag-vagrant/vagrant.d/ansible/site.yml new file mode 100644 index 0000000..1338455 --- /dev/null +++ b/tag-vagrant/vagrant.d/ansible/site.yml @@ -0,0 +1,32 @@ +--- +- hosts: all + sudo: yes + vars: + packages: + - zsh + - htop + - lsof + - git + - rcm + tasks: + - include: centos.yml + when: ansible_distribution == "CentOS" + + - include: debian.yml + when: ansible_distribution == "Debian" + + - name: Ensure that dotfiles are checked out + sudo: no + git: + repo: git://github.com/alanpearce/dotfiles + dest: ~/dotfiles + update: yes + + - name: Change shell to zsh + user: + name: vagrant + shell: /bin/zsh + + - name: Install dotfiles + sudo: no + command: /usr/bin/rcup -d dotfiles -t zsh -t git -x README.org -x Brewfile -x LaunchAgents chdir=/home/vagrant \ No newline at end of file -- cgit 1.4.1