--- #-----------------------------------------------------------------------------# # ansible-yunohost allows to deploy Yunohost using Ansible # # Copyright 2021-2021 Lydra https://www.lydra.fr/ # # # # this program is free software: you can redistribute it and/or modify # # it under the terms of the GNU General Public License as published by # # the Free Software Foundation, either version 3 of the License, or # # (at your option) any later version. # # # # this program is distributed in the hope that it will be useful, # # but WITHOUT ANY WARRANTY; without even the implied warranty of # # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # # GNU General Public License for more details. # # # # You should have received a copy of the GNU General Public License # # along with this program. If not, see <http://www.gnu.org/licenses/>. # # # #-----------------------------------------------------------------------------# # Installation part - name: Install yunohost apps ansible.builtin.command: yunohost app install {{ ynh_app.link }} \ --label "{{ ynh_app.label }}" \ --args "{% for key, value in ynh_app.args.items() %}{{ key }}={{ value }}{% if not loop.last %}&{% endif %}{% endfor %}" changed_when: False # Post-installation part - name: Transfer template to node (can be a config file or a script) ansible.builtin.template: src: "{{ item.src }}" dest: "{{ item.dest }}" owner: "{{ item.owner }}" group: "{{ item.group }}" mode: "{{ item.mode }}" loop: "{{ ynh_app.post_install|default([]) }}" when: ynh_app.post_install - name: Execute script if file type is a script then remove it ansible.builtin.command: "{{ ynh_app_post_install.dest }}" args: chdir: /tmp/ loop: "{{ ynh_app.post_install|default([]) }}" loop_control: loop_var: ynh_app_post_install when: ynh_app_post_install.type == "script" - name: Remove script after execution ansible.builtin.file: path: "{{ ynh_app_post_install.dest }}" state: absent loop: "{{ ynh_app.post_install|default([]) }}" loop_control: loop_var: ynh_app_post_install when: ynh_app_post_install.type == "script"