chore : import initial du package veille-ia-gen_ynh (packaging v2, helpers 2.1)
Extrait du dépôt veille-ia-gen (socle phase 0). manifest validé contre le schéma officiel manifest.v2.schema.json ; sha256 de l'archive sources en placeholder jusqu'à la release v0.1.0.
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
#!/bin/bash
|
||||
# Variables et fonctions communes aux scripts du package veille-ia_ynh.
|
||||
|
||||
# Normalise le chemin YNH pour paths.base de SvelteKit ("/" -> "" ; sinon "/veille").
|
||||
veille_ia_base_path() {
|
||||
if [ "$path" = "/" ]; then
|
||||
echo ""
|
||||
else
|
||||
echo "$path"
|
||||
fi
|
||||
}
|
||||
|
||||
# Installe les dépendances, build l'app (avec le bon sous-chemin), puis élague
|
||||
# les devDependencies pour ne garder que le runtime.
|
||||
veille_ia_build_app() {
|
||||
pushd "$install_dir/app"
|
||||
ynh_hide_warnings ynh_exec_as_app npm ci
|
||||
ynh_hide_warnings ynh_exec_as_app env BASE_PATH="$(veille_ia_base_path)" npm run build
|
||||
ynh_hide_warnings ynh_exec_as_app npm prune --omit=dev
|
||||
popd
|
||||
}
|
||||
|
||||
# (Re)génère le fichier d'environnement applicatif et verrouille ses droits.
|
||||
veille_ia_write_env() {
|
||||
ynh_config_add --template="env" --destination="$install_dir/app/.env"
|
||||
chmod 400 "$install_dir/app/.env"
|
||||
chown "$app:$app" "$install_dir/app/.env"
|
||||
}
|
||||
Executable
+19
@@ -0,0 +1,19 @@
|
||||
#!/bin/bash
|
||||
|
||||
source ../settings/scripts/_common.sh
|
||||
source /usr/share/yunohost/helpers
|
||||
|
||||
ynh_print_info "Déclaration des fichiers à sauvegarder..."
|
||||
|
||||
# Code + build + .env (reconstruisible, mais sauvegardé pour une restauration rapide).
|
||||
ynh_backup "$install_dir"
|
||||
|
||||
# Données : registre/profils YAML + dépôt git interne.
|
||||
# (Ignoré par le backup de sécurité pré-upgrade — comportement standard du cœur.)
|
||||
ynh_backup "$data_dir"
|
||||
|
||||
ynh_backup "/etc/nginx/conf.d/$domain.d/$app.conf"
|
||||
|
||||
ynh_backup "/etc/systemd/system/$app.service"
|
||||
|
||||
ynh_print_info "Sauvegarde de veille-ia terminée"
|
||||
Executable
+42
@@ -0,0 +1,42 @@
|
||||
#!/bin/bash
|
||||
|
||||
source _common.sh
|
||||
source /usr/share/yunohost/helpers
|
||||
|
||||
#=================================================
|
||||
# STOP SYSTEMD SERVICE
|
||||
#=================================================
|
||||
ynh_script_progression "Arrêt du service systemd de veille-ia..."
|
||||
|
||||
ynh_systemctl --service="$app" --action="stop"
|
||||
|
||||
#=================================================
|
||||
# UPDATE NGINX CONFIGURATION
|
||||
#=================================================
|
||||
ynh_script_progression "Mise à jour de la configuration nginx de veille-ia..."
|
||||
|
||||
# $domain/$path pointent déjà vers les nouvelles valeurs ($old_domain/$old_path
|
||||
# et $change_domain/$change_path sont disponibles si besoin).
|
||||
ynh_config_change_url_nginx
|
||||
|
||||
#=================================================
|
||||
# RE-BUILD THE APP WITH THE NEW BASE PATH
|
||||
#=================================================
|
||||
ynh_script_progression "Re-build de veille-ia pour le nouveau chemin..."
|
||||
|
||||
# paths.base est figé au build (SvelteKit) : le changement de chemin impose
|
||||
# un re-build avec le nouveau BASE_PATH.
|
||||
veille_ia_build_app
|
||||
|
||||
# .env : régénéré pour rester cohérent (ORIGIN systemd suit __DOMAIN____PATH__
|
||||
# via ynh_config_change_url_nginx ; le .env ne contient pas le domaine).
|
||||
veille_ia_write_env
|
||||
|
||||
#=================================================
|
||||
# START SYSTEMD SERVICE
|
||||
#=================================================
|
||||
ynh_script_progression "Démarrage du service systemd de veille-ia..."
|
||||
|
||||
ynh_systemctl --service="$app" --action="start"
|
||||
|
||||
ynh_script_progression "Changement d'URL de veille-ia terminé"
|
||||
Executable
+58
@@ -0,0 +1,58 @@
|
||||
#!/bin/bash
|
||||
|
||||
source _common.sh
|
||||
source /usr/share/yunohost/helpers
|
||||
|
||||
#=================================================
|
||||
# RETRIEVE ARGUMENTS FROM THE MANIFEST AND GENERATE SETTINGS
|
||||
#=================================================
|
||||
ynh_script_progression "Récupération des paramètres de veille-ia..."
|
||||
|
||||
# Token protégeant POST /api/alerts (webhook Node-RED) — secret généré à l'install.
|
||||
alerts_token="$(ynh_string_random 48)"
|
||||
ynh_app_setting_set --key=alerts_token --value="$alerts_token"
|
||||
|
||||
#=================================================
|
||||
# DEPLOY APP FILES
|
||||
#=================================================
|
||||
ynh_script_progression "Déploiement des fichiers de veille-ia..."
|
||||
|
||||
# Archive du tag de la forge (ressource sources.main du manifest), pré-téléchargée.
|
||||
ynh_setup_source --dest_dir="$install_dir"
|
||||
|
||||
# L'app SvelteKit vit dans le sous-dossier app/ du dépôt.
|
||||
chown -R "$app:$app" "$install_dir"
|
||||
|
||||
#=================================================
|
||||
# BUILD THE APP
|
||||
#=================================================
|
||||
ynh_script_progression "Installation des dépendances et build de veille-ia..."
|
||||
|
||||
veille_ia_build_app
|
||||
|
||||
#=================================================
|
||||
# APP CONFIGURATION
|
||||
#=================================================
|
||||
ynh_script_progression "Ajout de la configuration de veille-ia..."
|
||||
|
||||
veille_ia_write_env
|
||||
|
||||
#=================================================
|
||||
# SYSTEM CONFIGURATION
|
||||
#=================================================
|
||||
ynh_script_progression "Ajout de la configuration système pour veille-ia..."
|
||||
|
||||
ynh_config_add_nginx
|
||||
|
||||
ynh_config_add_systemd
|
||||
|
||||
yunohost service add "$app" --description="Observatoire de veille sur les modèles IA"
|
||||
|
||||
#=================================================
|
||||
# START SYSTEMD SERVICE
|
||||
#=================================================
|
||||
ynh_script_progression "Démarrage du service systemd de veille-ia..."
|
||||
|
||||
ynh_systemctl --service="$app" --action="start"
|
||||
|
||||
ynh_script_progression "Installation de veille-ia terminée"
|
||||
Executable
+18
@@ -0,0 +1,18 @@
|
||||
#!/bin/bash
|
||||
|
||||
source _common.sh
|
||||
source /usr/share/yunohost/helpers
|
||||
|
||||
ynh_script_progression "Suppression de la configuration système de veille-ia..."
|
||||
|
||||
# Les ressources (user, dossiers, port, nodejs, permissions) sont déprovisionnées
|
||||
# automatiquement par le cœur après ce script. Le data_dir est conservé sauf --purge.
|
||||
|
||||
if ynh_hide_warnings yunohost service status "$app" >/dev/null; then
|
||||
yunohost service remove "$app"
|
||||
fi
|
||||
ynh_config_remove_systemd
|
||||
|
||||
ynh_config_remove_nginx
|
||||
|
||||
ynh_script_progression "Suppression de veille-ia terminée"
|
||||
Executable
+54
@@ -0,0 +1,54 @@
|
||||
#!/bin/bash
|
||||
|
||||
source ../settings/scripts/_common.sh
|
||||
source /usr/share/yunohost/helpers
|
||||
|
||||
#=================================================
|
||||
# RESTORE THE APP MAIN DIRECTORY
|
||||
#=================================================
|
||||
ynh_script_progression "Restauration du dossier principal de veille-ia..."
|
||||
|
||||
# Les ressources (user, dossiers, port, nodejs) sont re-provisionnées par le cœur
|
||||
# AVANT ce script. $domain, $path, $install_dir, $data_dir… sont rechargés.
|
||||
ynh_restore "$install_dir"
|
||||
chown -R "$app:$app" "$install_dir"
|
||||
|
||||
#=================================================
|
||||
# RE-BUILD THE APP
|
||||
#=================================================
|
||||
ynh_script_progression "Réinstallation des dépendances et build de veille-ia..."
|
||||
|
||||
# Le build restauré est régénéré proprement (version de node, sous-chemin).
|
||||
veille_ia_build_app
|
||||
|
||||
veille_ia_write_env
|
||||
|
||||
#=================================================
|
||||
# RESTORE THE DATA DIRECTORY
|
||||
#=================================================
|
||||
ynh_script_progression "Restauration du dossier de données de veille-ia..."
|
||||
|
||||
ynh_restore "$data_dir"
|
||||
chown -R "$app:$app" "$data_dir"
|
||||
|
||||
#=================================================
|
||||
# RESTORE SYSTEM CONFIGURATIONS
|
||||
#=================================================
|
||||
ynh_script_progression "Restauration de la configuration système de veille-ia..."
|
||||
|
||||
ynh_restore "/etc/nginx/conf.d/$domain.d/$app.conf"
|
||||
|
||||
ynh_restore "/etc/systemd/system/$app.service"
|
||||
systemctl enable "$app.service" --quiet
|
||||
|
||||
yunohost service add "$app" --description="Observatoire de veille sur les modèles IA"
|
||||
|
||||
#=================================================
|
||||
# RELOAD NGINX AND START THE APP
|
||||
#=================================================
|
||||
ynh_script_progression "Rechargement de nginx et démarrage de veille-ia..."
|
||||
|
||||
ynh_systemctl --service="$app" --action="start"
|
||||
ynh_systemctl --service=nginx --action=reload
|
||||
|
||||
ynh_script_progression "Restauration de veille-ia terminée"
|
||||
Executable
+67
@@ -0,0 +1,67 @@
|
||||
#!/bin/bash
|
||||
|
||||
source _common.sh
|
||||
source /usr/share/yunohost/helpers
|
||||
|
||||
#=================================================
|
||||
# STOP SYSTEMD SERVICE
|
||||
#=================================================
|
||||
ynh_script_progression "Arrêt du service systemd de veille-ia..."
|
||||
|
||||
ynh_systemctl --service="$app" --action="stop"
|
||||
|
||||
#=================================================
|
||||
# ENSURE DOWNWARD COMPATIBILITY
|
||||
#=================================================
|
||||
ynh_script_progression "Vérification des paramètres de veille-ia..."
|
||||
|
||||
# Token d'alertes : créé à l'install ; le régénère si absent (installs anciennes).
|
||||
if [ -z "${alerts_token:-}" ]; then
|
||||
alerts_token="$(ynh_string_random 48)"
|
||||
ynh_app_setting_set --key=alerts_token --value="$alerts_token"
|
||||
fi
|
||||
|
||||
#=================================================
|
||||
# UPGRADE SOURCE FILES
|
||||
#=================================================
|
||||
ynh_script_progression "Mise à jour des fichiers de veille-ia..."
|
||||
|
||||
# Un backup de sécurité a déjà été réalisé par le cœur. Remplacement complet :
|
||||
# le .env est régénéré juste après depuis les settings persistants.
|
||||
ynh_setup_source --dest_dir="$install_dir" --full_replace
|
||||
|
||||
chown -R "$app:$app" "$install_dir"
|
||||
|
||||
#=================================================
|
||||
# RE-BUILD THE APP
|
||||
#=================================================
|
||||
ynh_script_progression "Installation des dépendances et build de veille-ia..."
|
||||
|
||||
veille_ia_build_app
|
||||
|
||||
#=================================================
|
||||
# UPDATE APP CONFIGURATION
|
||||
#=================================================
|
||||
ynh_script_progression "Mise à jour de la configuration de veille-ia..."
|
||||
|
||||
veille_ia_write_env
|
||||
|
||||
#=================================================
|
||||
# UPDATE SYSTEM CONFIGURATION
|
||||
#=================================================
|
||||
ynh_script_progression "Mise à jour de la configuration système pour veille-ia..."
|
||||
|
||||
ynh_config_add_nginx
|
||||
|
||||
ynh_config_add_systemd
|
||||
|
||||
yunohost service add "$app" --description="Observatoire de veille sur les modèles IA"
|
||||
|
||||
#=================================================
|
||||
# START SYSTEMD SERVICE
|
||||
#=================================================
|
||||
ynh_script_progression "Démarrage du service systemd de veille-ia..."
|
||||
|
||||
ynh_systemctl --service="$app" --action="start"
|
||||
|
||||
ynh_script_progression "Mise à jour de veille-ia terminée"
|
||||
Reference in New Issue
Block a user