--- - 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: "Opensearch | Start opensearch" ansible.builtin.systemd: name: opensearch enabled: true state: started daemon_reload: true - name: "Opensearch | Enable Monit monitoring" ansible.builtin.template: src: opensearch.monit.j2 dest: /etc/monit/conf-enabled/opensearch mode: "0644" notify: reload monit - name: "Opensearch | Copy update script" ansible.builtin.template: src: update-opensearch-plugins.j2 dest: "/usr/local/bin/{{ opensearch_plugin_update_script }}" mode: "0755"