diff --git a/roles/serveur_forgejo/tasks/main.yml b/roles/serveur_forgejo/tasks/main.yml index a27c400..de40596 100644 --- a/roles/serveur_forgejo/tasks/main.yml +++ b/roles/serveur_forgejo/tasks/main.yml @@ -51,7 +51,22 @@ create_home: true comment: "Git Version Control" +# Le chemin de destination PORTE la version : `forgejo-10.0.0` ne peut pas designer un +# autre contenu demain. Le binaire est donc immuable une fois pose, et le retelecharger +# n'a aucun sens — or `get_url` sans garde recontacte le serveur distant a CHAQUE +# deploiement, pour 106 Mo deja presents. +# +# Constate le 2026-08-09 pendant le passage d'idempotence : « Connection failure: The +# read operation timed out ». Un deploiement de flotte echouait parce qu'un serveur tiers +# etait lent — sur une plateforme qui se veut souveraine, c'est une dependance de trop +# sur le chemin critique. +- name: Le binaire de cette version est-il deja pose ? + ansible.builtin.stat: + path: "/usr/local/bin/forgejo-{{ serveur_forgejo_version }}" + register: serveur_forgejo_binaire_present + - name: Telecharger le binaire Forgejo + when: not serveur_forgejo_binaire_present.stat.exists ansible.builtin.get_url: url: "{{ serveur_forgejo_url }}" dest: "/usr/local/bin/forgejo-{{ serveur_forgejo_version }}"