--- #-----------------------------------------------------------------------------# # 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 . # # # #-----------------------------------------------------------------------------# # 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: Create post-install template ansible.builtin.template: src: "{{ item.src }}" dest: "{{ item.dest }}" owner: "{{ item.owner | default(ynh_app.link) }}" group: "{{ item.group | default('www-data') }}" mode: "{{ (item.type == 'script') | ternary('740', '660') }}" loop: "{{ ynh_app.post_install|default([]) }}" when: ynh_app.post_install - name: Launch post-install script 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"