diff --git a/.gitignore b/.gitignore index a0a3894..946b7b0 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,3 @@ update-repo.sh +Vagrantfile +box-provisioning/** diff --git a/local.yml b/local.yml index 52c7c6b..93c4475 100644 --- a/local.yml +++ b/local.yml @@ -7,4 +7,5 @@ roles: - init - base + - vagrant - domain diff --git a/roles/vagrantbox/defaults/main.yml b/roles/vagrantbox/defaults/main.yml new file mode 100644 index 0000000..2bf1ae5 --- /dev/null +++ b/roles/vagrantbox/defaults/main.yml @@ -0,0 +1,2 @@ +--- +vagrantbox: False diff --git a/roles/vagrantbox/meta/main.yml b/roles/vagrantbox/meta/main.yml new file mode 100644 index 0000000..72123d9 --- /dev/null +++ b/roles/vagrantbox/meta/main.yml @@ -0,0 +1,3 @@ +--- +dependencies: + - { role: base } diff --git a/roles/vagrantbox/tasks/main.yml b/roles/vagrantbox/tasks/main.yml new file mode 100644 index 0000000..bca3f59 --- /dev/null +++ b/roles/vagrantbox/tasks/main.yml @@ -0,0 +1,4 @@ +--- +- include: vagrantbox.yml + when: ansible_product_name == "VirtualBox" and vagrantbox|bool + tags: vagrantbox diff --git a/roles/vagrantbox/tasks/vagrantbox.yml b/roles/vagrantbox/tasks/vagrantbox.yml new file mode 100644 index 0000000..abf7b44 --- /dev/null +++ b/roles/vagrantbox/tasks/vagrantbox.yml @@ -0,0 +1,42 @@ +--- +# Prepara una vagrant box appena finito di scaricare i pacchetti +- name: Creazione utente Vagrant + user: + name: vagrant + comment: "Vagrant user" + group: users + password: $6$rounds=100000$KsiL/LYcWMS2yE7g$Ti2DyLyhuB6phO255Sx.pNs5OKoiV76g6qXry6JnzL0BxJ7CM4Q0P9HtYEwEsY7QKbENJcvRc3g8Kxw7zvBmm1 + shell: /bin/bash + state: present + generate_ssh_key: yes + sudo: yes + +- name: Concessione diritti sudo all'utente vagrant + lineinfile: + dest: /etc/sudoers.d/vagrant + regexp: "^vagrant.*NOPASSWD" + line: "vagrant ALL=(ALL:ALL) NOPASSWD:ALL" + owner: root + group: root + mode: 0440 + create: yes + state: present + validate: '/usr/sbin/visudo -cf %s' + sudo: yes + +- name: Autorizzo chiave pubblica insicura per vagrant + authorized_key: + user: vagrant + key: "https://raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant.pub" + sudo: yes + +- name: Autorizzo chiave pubblica di amgmt del server + authorized_key: + user: vagrant + key: {{ 'http://' + serverfqdn + ':3000/mgmtkey' }} + sudo: yes + +- name: Utilizzo il task di cleanup della box, prima di spegnere + shell: curl -s http://sys42.eu/downloads/box-cleanup.sh | sudo bash + async: 0 + poll: 0