1
0
Fork 0
ynh-lydra-ansible-yunohost/roles/ynh_apps/tasks/app.yml
2022-05-23 09:46:11 +02:00

63 lines
2.7 KiB
YAML

---
#-----------------------------------------------------------------------------#
# ansible-yunohost allows to deploy Yunohost using Ansible #
# Copyright 2021-present 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
tags:
- apps
# 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
tags:
- apps
- 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"
tags:
- apps
- 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"
tags:
- apps