diff --git a/drupalbox/drupalbox.yml b/drupalbox/drupalbox.yml index ffd5b46..60d1c2d 100644 --- a/drupalbox/drupalbox.yml +++ b/drupalbox/drupalbox.yml @@ -6,6 +6,13 @@ rvm1_install_path: /home/vagrant/.rvm php_xdebug_enabled: true php_ini_sendmail_path: "/usr/local/bin/mhsendmail" + solr_cores: + - name: drupal7 + module: search_api_solr-7.x-1.12 + subdir: solr-conf/4.x + - name: drupal8 + module: search_api_solr-8.x-1.2 + subdir: solr-conf/4.x vars_files: - vars/default/common.yml - vars/dev/mysql.yml diff --git a/provisioning/roles/geerlingguy.solr-cleanup/tasks/cores.yml b/provisioning/roles/geerlingguy.solr-cleanup/tasks/cores.yml new file mode 100644 index 0000000..8d4ca79 --- /dev/null +++ b/provisioning/roles/geerlingguy.solr-cleanup/tasks/cores.yml @@ -0,0 +1,51 @@ +--- + +- name: Solr | Create core directories + file: + path: "/var/solr/{{ item.name }}" + state: directory + owner: solr + group: solr + with_items: "{{ solr_cores }}" + +- name: Solr | Create data directories + file: + path: "/var/solr/{{ item.name }}/data" + state: directory + owner: solr + group: solr + with_items: "{{ solr_cores }}" + +- name: Solr | Create core.properties + template: + src: core.properties.j2 + dest: "/var/solr/{{ item.name }}/core.properties" + owner: solr + group: solr + with_items: "{{ solr_cores }}" + +- name: Solr | Download Drupal Solr configuration + get_url: + url: "https://ftp.drupal.org/files/projects/{{ item.module }}.tar.gz" + dest: "/var/solr/{{ item.name }}/{{ item.module }}.tar.gz" + with_items: "{{ solr_cores }}" + +- name: Solr | Unarchive Drupal Solr configuration + unarchive: + remote_src: yes + src: "/var/solr/{{ item.name }}/{{ item.module }}.tar.gz" + dest: "/var/solr/{{ item.name }}/" + with_items: "{{ solr_cores }}" + +- name: Solr | Copy Drupal Solr conf directory into place + command: "cp -r /var/solr/{{ item.name }}/search_api_solr/{{ item.subdir }} /var/solr/{{ item.name }}/conf" + with_items: "{{ solr_cores }}" + +- name: Solr | Chmod Solr conf directory + file: + path: "/var/solr/{{ item.name }}/conf" + state: directory + owner: solr + group: solr + recurse: yes + with_items: "{{ solr_cores }}" diff --git a/provisioning/roles/geerlingguy.solr-cleanup/tasks/main.yml b/provisioning/roles/geerlingguy.solr-cleanup/tasks/main.yml index 983377b..bffcb93 100644 --- a/provisioning/roles/geerlingguy.solr-cleanup/tasks/main.yml +++ b/provisioning/roles/geerlingguy.solr-cleanup/tasks/main.yml @@ -27,12 +27,4 @@ name: solr enabled: yes -- name: Solr Cleanup | Download Solr configuration for Drupal 7 - get_url: - url: https://ftp.drupal.org/files/projects/search_api_solr-7.x-1.12.tar.gz - dest: /tmp/search_api_solr-7.x-1.12.tar.gz - -- name: Solr Cleanup | Download Solr configuration for Drupal 8 - get_url: - url: https://ftp.drupal.org/files/projects/search_api_solr-8.x-1.2.tar.gz - dest: /tmp/search_api_solr-8.x-1.2.tar.gz +- include: cores.yml diff --git a/provisioning/roles/geerlingguy.solr-cleanup/templates/core.properties.j2 b/provisioning/roles/geerlingguy.solr-cleanup/templates/core.properties.j2 new file mode 100644 index 0000000..256498e --- /dev/null +++ b/provisioning/roles/geerlingguy.solr-cleanup/templates/core.properties.j2 @@ -0,0 +1 @@ +name={{ item.name }}