1
0
Fork 0
ynh-lydra-ansible-yunohost/roles/ynh_apps/tasks/app.yml

60 lines
2.7 KiB
YAML
Raw Normal View History

2021-11-09 14:45:41 +01:00
---
#-----------------------------------------------------------------------------#
# ansible-yunohost allows to deploy Yunohost using Ansible #
# Copyright 2021-present Lydra https://www.lydra.fr/ #
2021-11-09 14:45:41 +01:00
# #
# 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
2021-11-09 14:45:41 +01:00
# 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
2021-11-09 14:45:41 +01:00
- 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
2021-11-09 14:45:41 +01:00
- 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