diff --git a/Vagrantfile b/Vagrantfile index 13e86e0675..d0e96206eb 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -20,11 +20,6 @@ def which(cmd) end def config_net(config) - # Configure hostmanager - config.hostmanager.enabled = true - config.hostmanager.manage_host = true - config.hostmanager.ignore_private_ip = false - config.hostmanager.include_offline = true config.hostmanager.aliases = [ $hostname + ".vb", "www." + $hostname + ".vb", @@ -52,10 +47,18 @@ def config_net(config) end # By default, the name of the VM is the project's directory name -$hostname = File.basename($root) +$hostname = File.basename($root).downcase Vagrant.configure("2") do |config| + # Configure hostmanager + config.hostmanager.enabled = true + config.hostmanager.manage_host = true + config.hostmanager.ignore_private_ip = false + config.hostmanager.include_offline = true + + config.vm.hostname = $hostname + config.vm.provider :virtualbox do |v| v.name = $hostname v.customize [ @@ -76,8 +79,8 @@ Vagrant.configure("2") do |config| if which('ansible-playbook') config.vm.provision "ansible" do |ansible| ansible.playbook = "resources/ansible/playbook.yml" - #ansible.inventory_path = "ansible/inventories/dev" ansible.limit = 'all' + ansible.verbose = 'v' ansible.extra_vars = { hostname: $hostname, postfix: { diff --git a/resources/ansible/inventories/dev b/resources/ansible/inventories/dev deleted file mode 100644 index 98175f2f29..0000000000 --- a/resources/ansible/inventories/dev +++ /dev/null @@ -1,2 +0,0 @@ -[phansible-web] -192.168.56.101 diff --git a/resources/ansible/playbook.yml b/resources/ansible/playbook.yml index 8e8622baa5..4c0d445c92 100644 --- a/resources/ansible/playbook.yml +++ b/resources/ansible/playbook.yml @@ -13,3 +13,4 @@ - xdebug - composer - app + - mailcatcher diff --git a/resources/ansible/roles/mailcatcher/defaults/main.yml b/resources/ansible/roles/mailcatcher/defaults/main.yml new file mode 100644 index 0000000000..51a1d6302b --- /dev/null +++ b/resources/ansible/roles/mailcatcher/defaults/main.yml @@ -0,0 +1,2 @@ +--- +mailcatcher_gem: mailcatcher diff --git a/resources/ansible/roles/mailcatcher/tasks/main.yml b/resources/ansible/roles/mailcatcher/tasks/main.yml new file mode 100644 index 0000000000..e69de29bb2 diff --git a/resources/ansible/roles/mariadb/tasks/main.yml b/resources/ansible/roles/mariadb/tasks/main.yml index 9c29cc7d75..d69ae8e10c 100755 --- a/resources/ansible/roles/mariadb/tasks/main.yml +++ b/resources/ansible/roles/mariadb/tasks/main.yml @@ -5,7 +5,8 @@ - name: Add MariaDB-Repository sudo: yes - apt_repository: repo='deb http://mirror3.layerjet.com/mariadb/repo/10.1/ubuntu {{ ansible_distribution_release }} main' state=present + apt_repository: repo='deb http://mirror6.layerjet.com/mariadb/repo/10.1/ubuntu {{ ansible_distribution_release }} main' state=present + register: mariadb_repository - name: Add Key for MariaDB Repository sudo: yes @@ -14,6 +15,7 @@ - name: Update apt sudo: yes apt: update_cache=yes + when: mariadb_repository.changed - name: mariadb | Install MariaDB Packages sudo: yes diff --git a/resources/ansible/roles/nginx/tasks/main.yml b/resources/ansible/roles/nginx/tasks/main.yml index b0371dffd8..f0f27210d1 100644 --- a/resources/ansible/roles/nginx/tasks/main.yml +++ b/resources/ansible/roles/nginx/tasks/main.yml @@ -5,5 +5,5 @@ - name: Change default nginx site sudo: yes - template: src=default.tpl dest=/etc/nginx/sites-available/default + template: src=default.j2 dest=/etc/nginx/sites-available/default notify: restart nginx diff --git a/resources/ansible/roles/nginx/templates/default.tpl b/resources/ansible/roles/nginx/templates/default.j2 similarity index 93% rename from resources/ansible/roles/nginx/templates/default.tpl rename to resources/ansible/roles/nginx/templates/default.j2 index e96f47334c..df4f026d62 100644 --- a/resources/ansible/roles/nginx/templates/default.tpl +++ b/resources/ansible/roles/nginx/templates/default.j2 @@ -4,7 +4,7 @@ server { root {{ nginx.docroot }}; index index.html index.php; - server_name {{ nginx.servername }}; + server_name {{ nginx|to_yaml }}; location / { try_files $uri $uri/ /index.php?$query_string; diff --git a/resources/ansible/roles/php/templates/extension.tpl b/resources/ansible/roles/php/templates/extension.tpl index 1b13534767..69a98af630 100644 --- a/resources/ansible/roles/php/templates/extension.tpl +++ b/resources/ansible/roles/php/templates/extension.tpl @@ -1,2 +1,2 @@ -; Configuration for php PECL {{ item }} extension -extension={{ item }}.so +; Configuration for php PECL {{ item.name }} extension +extension={{ item.name }}.so diff --git a/resources/ansible/roles/server/tasks/main.yml b/resources/ansible/roles/server/tasks/main.yml index f1ffc08660..56d8425377 100644 --- a/resources/ansible/roles/server/tasks/main.yml +++ b/resources/ansible/roles/server/tasks/main.yml @@ -2,6 +2,7 @@ - name: Update apt sudo: yes apt: update_cache=yes + when: server.prevent_update is defined - name: Install System Packages sudo: yes @@ -19,13 +20,13 @@ - name: Configure the timezone sudo: yes - template: src=timezone.tpl dest=/etc/timezone + template: src=timezone.j2 dest=/etc/timezone - name: More Configure the timezone sudo: yes file: src=/usr/share/zoneinfo/{{server.timezone}} dest=/etc/localtime state=link force=yes backup=yes - name: Set default system language pack - shell: locale-gen {{server.locale}} + shell: locale-gen {{server.locales|join(' ')}} sudo: yes diff --git a/resources/ansible/roles/server/templates/timezone.tpl b/resources/ansible/roles/server/templates/timezone.j2 similarity index 100% rename from resources/ansible/roles/server/templates/timezone.tpl rename to resources/ansible/roles/server/templates/timezone.j2 diff --git a/resources/ansible/roles/vagrant_local/tasks/main.yml b/resources/ansible/roles/vagrant_local/tasks/main.yml index cd53609cff..619c3b4260 100644 --- a/resources/ansible/roles/vagrant_local/tasks/main.yml +++ b/resources/ansible/roles/vagrant_local/tasks/main.yml @@ -8,4 +8,5 @@ when: vagrant_local.vm.hostname is defined - name: Update /etc/hosts - lineinfile: dest=/etc/hosts regexp='^127\.0\.0\.1' line='127.0.0.1 localhost {{ vagrant_local.vm.hostname }}' owner=root group=root mode=0644 + lineinfile: dest=/etc/hosts regexp='^127\.0\.0\.1' line='127.0.0.1 localhost {{ vagrant_local.vm.hostname|default('') }}' owner=root group=root mode=0644 + when: vagrant_local.vm.hostname is defined diff --git a/resources/ansible/vars/all.yml b/resources/ansible/vars/all.yml index 687ca0e3cf..527ec6274f 100644 --- a/resources/ansible/vars/all.yml +++ b/resources/ansible/vars/all.yml @@ -1,16 +1,34 @@ --- server: install: '1' - packages: [vim, git, imagemagick, htop, nodejs, npm, iotop, pkg-config, libzmq3-dev] + packages: + - vim + - git + - imagemagick + - htop + - nodejs + - npm + - iotop + - pkg-config + - libzmq3-dev + - supervisor timezone: UTC - locale: fr_FR.UTF-8 + locales: + - en_GB.UTF-8 + - fr_FR.UTF-8 + - de_DE.UTF-8 + - nl_NL.UTF-8 vagrant_local: install: '1' - vm: { base_box: trusty64, hostname: phraseanet.dev, ip: 192.168.56.101, memory: '4096', sharedfolder: ./, useVagrantCloud: '1', syncType: nfs } + vm: + base_box: trusty64 + memory: '4096' + sharedfolder: ./ + useVagrantCloud: '1' + syncType: nfs nginx: install: '1' docroot: /vagrant - servername: master.phraseanet.vb mariadb: install: '1' root_password: toor @@ -21,7 +39,7 @@ mariadb: elasticsearch: install: '1' port: '9200' - version: 1.5.2 + version: '1.7.3' php: install: '1' ppa: php5