--- - name: "Opensearch | Add repository key" ansible.builtin.apt_key: url: "{{ opensearch_apt_key_url }}" - name: "Opensearch | Add repository" ansible.builtin.apt_repository: repo: "deb {{ opensearch_apt_repo }}" update_cache: true - name: "Opensearch | Install opensearch" ansible.builtin.apt: name: opensearch - name: "Opensearch | Install plugins" ansible.builtin.command: cmd: "./opensearch-plugin install {{ item }} --batch" chdir: /usr/share/opensearch/bin/ creates: "/usr/share/opensearch/plugins/{{ item }}" become: true become_user: opensearch loop: "{{ opensearch_plugins }}" - name: "Opensearch | Copy opensearch configuration" ansible.builtin.template: src: opensearch.yml.j2 dest: /etc/opensearch/opensearch.yml mode: "0644" - name: "Opensearch | Add recommendations for JVM options" ansible.builtin.replace: path: /etc/opensearch/jvm.options regexp: "{{ item.regexp }}" replace: "{{ item.replace }}" loop: - regexp: '^-Xms[0-9]*g$' replace: -Xms{{ (ansible_memtotal_mb / 1024 * 0.5) | round | int }}g - regexp: '^-Xmx[0-9]*g$' replace: -Xmx{{ (ansible_memtotal_mb / 1024 * 0.5) | round | int }}g notify: restart opensearch - name: Copy systemd override ansible.builtin.copy: src: systemd/override.conf dest: /etc/systemd/system/opensearch.service.d/ mode: "0644" notify: restart opensearch - name: "Opensearch | Start opensearch" ansible.builtin.systemd: name: opensearch enabled: true state: started daemon_reload: true - name: "Opensearch | Copy update script" ansible.builtin.template: src: update-opensearch-plugins.j2 dest: "/usr/local/bin/{{ opensearch_plugin_update_script }}" mode: "0755"