Set-OPS-Public/roles/serveur_collabora
Daniel Allaire f815b069f7 supervision : le lot check_http, et les greffons qui manquaient a la flotte
La doctrine dit qu un greffon Nagios EST une sonde valide et compte sur les 54
de monitoring-plugins. Mesure : aucun n etait installe. Le document decrivait
une possibilite qui n existait pas, et chaque role ayant besoin d un controle
HTTP n avait d autre choix que d ecrire du shell.

Le PORTEUR les installe desormais — c est son affaire de pouvoir executer des
sondes, et les poser role par role en ferait autant de copies de la decision.

Trois sondes, trois enveloppes qui delegue a check_http et rendent son code tel
quel :

  collabora    edition     /hosting/discovery — l adresse que Nextcloud interroge
                           lui-meme ; sans elle le bouton ouvrir meurt et
                           Nextcloud reste vert
  rspamd       filtrage    un filtre muet ne bloque pas le courrier, il le laisse
                           passer
  oauth2_proxy passerelle  ce qui tombe avec elle n est pas elle : les services
                           derriere restent debout et deviennent injoignables

Chacune exige une CHAINE que seul le bon service produit — un 200 peut venir
d une page d erreur. Cette chaine est aussi la mise en defaut.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Crgis8CxCWkAGFA1ecBz3q
2026-09-14 09:34:31 -04:00
..
defaults supervision : le lot check_http, et les greffons qui manquaient a la flotte 2026-09-14 09:34:31 -04:00
handlers collabora : en natif, la derniere exception conteneurisee tombe 2026-08-24 16:23:35 -04:00
meta supervision : le lot check_http, et les greffons qui manquaient a la flotte 2026-09-14 09:34:31 -04:00
tasks supervision : le lot check_http, et les greffons qui manquaient a la flotte 2026-09-14 09:34:31 -04:00
templates supervision : le lot check_http, et les greffons qui manquaient a la flotte 2026-09-14 09:34:31 -04:00
README.md collabora : en natif, la derniere exception conteneurisee tombe 2026-08-24 16:23:35 -04:00

serveur_collabora

Collabora Online, en natif — paquet coolwsd, systemd, derrière l'edge nginx. Aucun conteneur.

Pourquoi ce rôle a été réécrit

Il lançait collabora/code dans Docker. C'était la seule exception conteneurisée de la flotte, et elle contredisait le principe fondateur : logiciel libre en natif, systemd + paquets + nginx. Elle traînait en plus une dépendance entière — community.docker — qui n'était même pas déclarée dans requirements.yml, donc absente de tout runner.

Depuis la réécriture, plus aucun rôle du dépôt n'a besoin de Docker.

Ce qui a été éprouvé avant d'écrire

Doctrine du dépôt : éprouver l'outil avant le rôle. Sur une Debian 13.6 réelle, sans rien installer :

apt-get install --simulate coolwsd   ->  résout jusqu'à « Conf coolwsd (26.04.3.1-1) »
libgcc1 (exigé par le paquet)        ->  fourni par libgcc-s1 sur trixie
le dépôt CODE-deb                    ->  PLAT : Packages et Release à la racine, pas de dists/

Le paquet livre aussi /etc/nginx/snippets/coolwsd.conf et un profil AppArmor — deux choses que cette flotte sait exploiter, contrairement à une image opaque.

La configuration : par surcharge, pas par réécriture

Le coolwsd.xml livré fait 439 lignes richement commentées. Le remplacer par un gabarit maison obligerait à suivre son évolution à chaque version amont, et ferait perdre les commentaires qui expliquent chaque réglage.

coolwsd accepte des surcharges --o:<clé>=<valeur>. Le rôle pose donc un fragment systemd : la configuration de Set-OPS tient en un fichier lisible, celle du paquet reste intacte, et apt purge rend la machine à son état d'origine.

La console d'administration est FERMÉE

Elle expose un formulaire identifiant/mot de passe hors de tout SSO, avec un secret à créer, faire tourner et surveiller — pour une fonction dont personne n'a besoin au quotidien. Même raisonnement que serveur_forgejo_connexion_locale.

L'ouvrir (serveur_collabora_admin_actif: true) exige alors vault_collabora_admin en voûte, et de l'ajouter au gabarit de l'instance.

Variables principales

Variable Défaut Rôle
serveur_collabora_port 9980 écoute, derrière l'edge
serveur_collabora_server_name bureau.<domaine> nom externe — vide, coolwsd le déduit mal derrière un mandataire
serveur_collabora_domaine_nextcloud cloud.<domaine> l'hôte WOPI autorisé
serveur_collabora_ssl_termination true TLS terminé à l'edge, comme le reste de la flotte
serveur_collabora_admin_actif false console d'administration

Ce que ce rôle vérifie

Il interroge /hosting/capabilities après démarrage. Un service « active » qui ne répond pas là serait découvert par Nextcloud devant un usager, à la première ouverture de document.

Ce qui n'est pas encore prouvé

L'installabilité est établie par simulation sur Debian 13.6. Le fonctionnement ne l'est pas : aucun écosystème de la flotte ne fait tourner Collabora aujourd'hui. La première mise en service devra vérifier l'édition d'un document de bout en bout, depuis Nextcloud.