feat(deploy): paquet de livraison, unité durcie, contrôle de santé et retour arrière #6
Loading…
Reference in a new issue
No description provided.
Delete branch "hermes/paquet-service-deploiement"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Empilée sur #5 (
hermes/page-etat-svelte) : à fusionner après elle, le binaire embarquefront/dist.Ce que la carte demande, et ce qui est livré
build.rsembarquefront/distdans le binaire ;src/interface.rssert la page sous/__status/(redirection sans barre finale, refus des chemins sortant du dossier, pas de cache). Plus rien à copier côté machine.deploy/tizentube-proxy.service: utilisateurtizentube,ProtectSystem=strict,ProtectHome,PrivateTmp, filtres d'appels système,CapabilityBoundingSet=vide, AC en lecture seule, dossier du script seul en écriture (la route de mise à jour y écrit).systemd-analyze verifyne relève qu'un défaut attendu ici (« Command /opt/... is not executable » : le binaire vit sur la cible, pas sur ce PC).deploy/deploy.sh— idempotent,--dry-runécrit le plan sans rien toucher, garde la version en place enbin/tizentube-proxy.precedent, bascule parmv, installe l'unité si elle change, redémarre, contrôle la santé, et ramène la version précédente si le contrôle échoue (codes 0 / 1 / 2 distincts). Rien n'est supprimé sur la cible.deploy/controle-sante.sh) —/__sante= ok,/__status/servie, et le proxy relaie vraiment : unCONNECTaccepté puis une requête qui traverse le tunnel jusqu'à sa réponse. Un port ouvert ne prouve rien.main(après unmainvert),deploy/deploy.shpousse vers la machine du service puis contrôle. Il refuse de se dire vert si la clé de livraison manque (TT_CLE_LIVRAISON, défaut~/.ssh/id_livraison) : à poser une fois par l'opérateur sur l'exécutant.Preuves
cargo test --release --locked:cargo fmt --all --check: OK.cargo clippy --all-targets --release --locked -- -D warnings: OK.cargo build --release --locked: OK.shellcheck -S style deploy/*.sh: rien à redire.deploy/essai-deploy.sh(sur cette machine, sans root, doublure de systemctl qui tue par PID) :État de la CI
Aucun exécutant n'est enregistré pour ce dépôt (
t_299ce6aa) : le workflow ne tourne pas, la PR ne sera donc pas verte toute seule. Le code est mesuré à la main, ci-dessus. Si l'exécutant arrive, l'étapeplan à blancutilise une cible locale et ne demande pas de clé ; seul le joblivraison(surmain) en a besoin.Points pour le chef
.forgejo/workflows/ci.ymlest modifié ici (jobspaquetetlivraison) et l'était déjà par la carte front — à fusionner dans l'ordre #5 puis celle-ci.tizentube-proxy.serviceà la racine, qui décrit encore l'installation en service). La carte d'installation (6/6) tranchera : je n'ai pas touché au fichier racine.front/distest bien versionné par #5 : sans lui,build.rsarrête la compilation en le disant.fusion-auto: pas de fusion, la CI est rouge (Rust). Le chef de l'atelier renvoie la carte à l'agent ; l'étiquette tombera d'elle-même une fois corrigé.fusion-auto: pas de fusion, la PR est en conflit avec main : à rebaser. Le chef de l'atelier renvoie la carte à l'agent ; l'étiquette tombera d'elle-même une fois corrigé.View command line instructions
Manual merge helper
Use this merge commit message when completing the merge manually.
Checkout
From your project repository, check out a new branch and test the changes.