2.2 KiB
Delta 0.0.1-alpha.5 — composition Actix/Maud et manifest Vite
Base requise
État 0.0.1-alpha.4.fix.2 committé et poussé après application du history PASS.
La version devient 0.0.1-alpha.5.
Scope
La tranche matérialise :
knowledge-web-lib
knowledge-pgr-server
knowledge-howtos-server
knowledge-snippets-server
knowledge-web-lib possède la composition Actix Web/Maud partagée, la résolution des assets Vite et les deux routes publiques minimales / et /healthz. Les trois packages serveur restent des launchers minces.
Dépendances Web Rust
Versions vérifiées à la préparation de la tranche :
actix-web 4.15.0
actix-files 0.7.0
maud 0.27.0
serde 1.0.229
serde_json 1.0.151
Les dépendances restent dans knowledge-web-lib, seul owner qui les consomme directement.
Configuration runtime
Chaque launcher exige sa variable de bind :
KNOWLEDGE_PGR_BIND_ADDRESS
KNOWLEDGE_HOWTOS_BIND_ADDRESS
KNOWLEDGE_SNIPPETS_BIND_ADDRESS
La source d'assets est exclusive :
KNOWLEDGE_VITE_DEV_ORIGIN
ou
KNOWLEDGE_VITE_MANIFEST_PATH
En production KNOWLEDGE_ASSET_BASE_PATH peut remplacer le préfixe /.
Aucun origin Vite, port de déploiement ou hostname n'est codé en dur.
Rendu et assets
Le rendu runtime Maud reprend les invariants de classes/assets utiles du template lab. En développement, il charge @vite/client avant src/main.ts. En production, il lit .vite/manifest.json, résout l'entrée stable src/main.ts et sert le répertoire d'assets produit par Vite via Actix Files.
Une configuration absente, ambiguë ou un manifest invalide produit une erreur récupérable avant l'écoute réseau ; aucun panic!, unwrap, expect ou ? n'est introduit.
Hors scope
La tranche n'ajoute ni auth, ni administration fonctionnelle, ni routes admin/login, ni PostgreSQL, ni Gitea, ni publication Git, ni logging transverse sans besoin observé.
Cargo.lock n'est pas préfabriqué dans le delta : Cargo doit le régénérer dans l'environnement opérateur avec les nouvelles dépendances, puis le versionner.
Ne pas committe alpha.5 avant production de son history à partir des preuves opérateur.