Releases: morfredus/morfUpdate
Releases · morfredus/morfUpdate
Release list
morfUpdate - v0.5.0
morfUpdate 0.5.0
- Manual service restart (loopback only). A new
--restart <service>verb in the privileged helper and aPOST /api/v1/restart {project}route on the loopback API let a local caller (morfMonitor) request the restart of a stuck service. Deliberately narrow: the helper reuses the declared-target whitelist (declaredService), validates the unit and becomes root only after validation, then runsreset-failed+restart+is-active- never an arbitrary command, never a client-supplied path. The action reuses the operation journal (audit + single-active lock) and drives the existingRestarting → HealthCheck → Succeeded/Failedstates (Queued → Restartingadded to the state machine). The real systemd unit is resolved server-side from the declared target, never received from the client. Status is followed through the sharedGET /api/v1/updates/<id>route. Linux first; the Windows branch fails cleanly and is left for the cross-host work.
morfUpdate - v0.4.9
morfUpdate 0.4.9
- Re-vendored morfDeploy 0.20.5 (opt-in arm64 cross-packaging and the sysroot
.shlibsDepends resolution). The VERSION is bumped so the source tag matches the rebuilt artifact after this vendored-tooling update; without it the release provenance check rejects a package built past the previous tag.
morfUpdate - v0.4.8
morfUpdate 0.4.8
- Stratégie d'installation
source-bundle(projets non compilés, ex. morfDashboard). Le moteur litinstall.typedu manifeste (défautpackage, rétro-compat) au lieu de présumer un binaire :package= flux .deb/.zip inchangé ;source-bundle= archive.tar.gzdes fichiers applicatifs. L'archive est vérifiée (checksum + provenance + VERSION embarquée) puis extraite hors privilège par l'agent ; l'installation elle-même est un échange atomique délégué au helper setuid. - Helper : verbe
--install-bundle <unpackdir> <service>. Échange le répertoire applicatif sous/opt/<service>(convention, jamais un chemin reçu de l'appelant), après sauvegarde.morfupdate.bak: arrêt du service, copie de l'arborescence extraite, propriétaire repris de l'ancienne install, (re)démarrage avec tentatives, et rollback (restauration + redémarrage) si le service ne revient pas actif. Config, état (/etc,/var/lib) jamais touchés. Le chemin--install-debest inchangé (restart factorisé avec le bundle).
morfUpdate - v0.4.7
morfUpdate 0.4.7
GET /statusexposeversion(contrat HTTP). morfMonitor peut afficher la version exécutée sans heartbeat beacon.
morfUpdate - v0.4.6
morfUpdate 0.4.6
- Helper après
dpkg:daemon-reload,reset-failed,enable, puisrestartretenté. Un ancienprermdisable --nowne laisse plus le service éteint (mise à jour de morfMonitor depuis lui-même).
morfUpdate - v0.4.5
morfUpdate 0.4.5
- Après
dpkg, le contrôle/healthzest retenté une minute (20 × 3 s). S'il échoue encore, l'opération reste un succès (paquet déjà posé) au lieu d'une fenêtre d'échec alors que le service tourne. Le refus du helper inclutQProcess::errorStringquand stderr est vide.
morfUpdate - v0.4.4
morfUpdate 0.4.4
- Helper setuid :
dpkgetsystemctltestent l'UID réel. Sanssetuid(0)/setgid(0)après les contrôles,dpkg --installéchoue tout de suite alors que le même.debs'installe avecsudo. Chemins absolus,DEBIAN_FRONTEND=noninteractive, stderr de dpkg remonté dans le refus.
morfUpdate - v0.4.3
Source release for morfUpdate 0.4.3.
morfUpdate - v0.4.1
Source release for morfUpdate 0.4.1.
morfUpdate - v0.4.1
Source release for morfUpdate 0.4.1.