Deux mouvements d une seule doctrine : le site fournit tout ce dont un
tenant a besoin pour venir au monde.
1. LES DEPOTS TIERS. Grafana, Icinga, Smallstep et Collabora ne publient
qu en HTTPS ; apt-cacher-ng ne relaie pas un tunnel, et le socle pose donc
Acquire::https::Proxy DIRECT. Chaque machine sortait elle-meme sur
Internet. Le cache declare desormais un Remap par fournisseur, et chaque
role demande en {{ ..._depot_schema }}:// - http des qu un cache est
declare, https sinon. Le TLS n est rompu nulle part : il est TERMINE au
cache, qui est notre machine, et l integrite vient des signatures.
avant : 4 fournisseurs en HTTPS direct, 14 machines sortant seules
apres : 0 source en HTTPS direct, 0 erreur apt sur 14 machines
Trois lecons. Le remap appartient au cache qui SORT : pose sur un cache
chaine, il tente le HTTPS a travers son amont et rend 503. apt_repository
AJOUTE au lieu de remplacer, donc l ancienne ligne https sortait toujours.
Et la liste des fournisseurs ne se devine pas - j en avais trois, l audit
en a revele un quatrieme.
2. LE CACHE DU TENANT. Sa ligne portait son propre retrait depuis toujours
- service MUTUALISABLE, un ecosysteme au premier age peut pointer sur celui
de son hote. Retiree. Ce qu on perd, dit franchement : plus de trafic
inter-zone et plus de charge sur site-cache-01, contre un service de moins
a poser, superviser et reproduire.
3. UN ROLE QU ON RETIRE DOIT DEFAIRE CE QU IL A FAIT. Le retrait a montre
que rien ne nettoie derriere. Le fichier apt visait un cache eteint en
ecrasant le plancher qui fonctionnait - le defaut deja paye a quinze
machines. Et les sondes du cache restaient, le porteur poussant pour des
services qu Icinga ne definit plus (404). Le socle retire le premier,
client_sante derive les sondes attendues et retire les orphelines.
P65 refuse tout role visant un depot relaye en https ecrit en dur. Sa
limite est dite : elle empeche une regression sur ce qui est connu, elle ne
decouvre pas l inconnu.
Mesure : Icinga 87 OK sur 96, prouver 65 OK, lint 0 defaut.
Reste, et c est dit : apt-cacher-ng tourne toujours sur forge-01 que plus
aucun plan ne declare.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Crgis8CxCWkAGFA1ecBz3q
|
||
|---|---|---|
| .. | ||
| defaults | ||
| handlers | ||
| meta | ||
| tasks | ||
| templates | ||
| README.md | ||
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.