Déploiement
La page et le relais se déploient séparément, sur deux machines et deux adresses.
La page et la documentation
Publiée depuis un ordinateur avec yarn deploy (scripts/deploy.sh), le projet étant encore petit. La commande refuse les changements non commités, puis :
- audit des dépendances et tests ;
- construction de la page et de ce site, qui a le sien,
docs.corico.infobrisson.fr; - précompression Brotli ;
- envoi par
rsyncà la place des fichiers précédents (--delay-updateset--delete-after).
Il n'y a ni révisions datées, ni bascule par lien. public/.htaccess fixe les en-têtes de sécurité de la page, et docs/docs.htaccess ceux de la documentation.
Pourquoi la documentation a son propre site : la page garde le mot de passe d'application et la clé de chiffrement dans le navigateur, lisibles par tout ce qui s'exécute à la même adresse. La documentation a besoin de scripts autorisés en ligne (VitePress), une protection plus faible que celle de la page : sur une autre origine, elle ne peut rien atteindre de tout cela. Les anciennes adresses sous /docs/ sont redirigées.
La CI de la forge ne fait que contrôler le style et lancer les tests à chaque push sur main. Sa tâche de publication reste commentée dans .gitlab-ci.yml, pour plus tard.
Le relais
Le rôle du relais dans la configuration du serveur, un dépôt Ansible privé, lance yarn release, qui exécute les contrôles et produit release/corico.mjs, un seul fichier. Il le copie dans /opt/corico et redémarre le service si le fichier a changé. Il n'y a ni versions gardées, ni lien.
Le bac à sable systemd n'autorise que la machine locale, dont le résolveur DNS, et l'adresse du Nextcloud (IPAddressAllow). Si cette adresse change, le relais répond 502 : changez l'adresse autorisée dans la configuration du serveur et redéployez.