Pour tout problème contactez-nous par mail : support@froggit.fr | La FAQ :grey_question: | Rejoignez-nous sur le Chat :speech_balloon:

Skip to content
Snippets Groups Projects
Commit b14b458d authored by Arthur BOUDREAULT's avatar Arthur BOUDREAULT
Browse files

draft: feature for app post-install (to correct)

parent c17121b3
No related branches found
No related tags found
1 merge request!16Resolve "feat: add app post_install"
Pipeline #2976 failed
......@@ -56,3 +56,6 @@ ynh_apps: null
# args:
# domain: domain.tld
# path: /ttrss
ynh_apps_postinstall: null
---
#-----------------------------------------------------------------------------#
# 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 (you are inside app.yml)
ansible.builtin.command: yunohost app install {{ item.link }} \
--label "{{ item.label }}" \
--args "{% for key, value in item.args.items() %}{{ key }}={{ value }}{% if not loop.last %}&{% endif %}{% endfor %}"
when: item.label not in ynh_installed_apps.values()
tags: apps
- name: Transfer template to node (can be a config file or a script)
ansible.builtin.template:
src: "{{ item.post_install.src }}"
dest: "{{ item.post_install.dest }}"
type: "{{ item.post_install.type }}"
owner: "{{ item.post_install.owner }}"
group: "{{ item.post_install.group }}"
mode: "{{ item.post_install.mode }}"
when: item.post_install is defined
tags: apps
......@@ -18,17 +18,35 @@
# #
#-----------------------------------------------------------------------------#
- name: List currently installed apps
- name: List currently installed apps (you are inside apps.yml)
ansible.builtin.command: yunohost app map --output-as json
register: ynh_installed_apps_raw
changed_when: False
tags: apps
- name: Format json of apps
- name: Format json of apps (you are inside apps.yml)
ansible.builtin.set_fact: ynh_installed_apps="{{ ynh_installed_apps_raw.stdout | from_json }}"
tags: apps
- name: Install yunohost apps
ansible.builtin.command: yunohost app install {{ item.link }} \
--label "{{ item.label }}" \
--args "{% for key, value in item.args.items() %}{{ key }}={{ value }}{% if not loop.last %}&{% endif %}{% endfor %}"
with_items: "{{ ynh_apps }}"
- name: Install yunohost apps and perform post-install (you are inside apps.yml)
ansible.builtin.include_tasks: app.yml
loop: "{{ ynh_apps }}"
when: item.label not in ynh_installed_apps.values()
tags: apps
- name: debug (you are in apps.yml)
debug:
msg: "Voici le résultat :{{ item.post_install.0.src }}"
loop: "{{ ynh_apps.post_install.key }}"
when: ynh_apps.post_install is defined
tags: apps
## post-install:
# boucler sur les apps et inclure ce fichier de tasks
# install app puis post install puis app puis post-install
# quand dans fichier apps
# command remplacée par include app.yml
# command à l'intérieur du fichier de tache app
# dans app il faudra boucler sur app pour
# item.post_installl
......@@ -69,6 +69,12 @@
ansible.builtin.include_tasks: users.yml
when: ynh_users
- name: Install Yunohost apps
- name: Install Yunohost apps (you are in main.yml)
ansible.builtin.include_tasks: apps.yml
when: ynh_apps
tags: apps
# - name: Launch post-install for apps
# ansible.builtin.include_tasks: postinstall.yml
# loop: "{{ post_install | dict2items }}"
# when: post_install
#!/bin/bash
touch toto_{{ ynh_main_domain }}.txt
---
title: {{ ynh_discourse_settings.title }}
site_description: {{ ynh_discourse_settings.site_description }}
contact_email: {{ ynh_discourse_settings.contact_email }}
invite_only: {{ ynh_discourse_settings.invite_only }}
backup_frequency: {{ ynh_discourse_settings.backup_frequency }}
maximum_backups: {{ ynh_discourse_settings.maximum_backups }}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment