update_manager: add path to update status response#1060
update_manager: add path to update status response#1060bassco wants to merge 1 commit intoArksine:masterfrom
Conversation
Add the local filesystem path to AppDeploy.get_update_status(). This propagates to all deployer types (git_repo, web, zip, python) via super().get_update_status(). Clients that need to interact with managed repos on disk currently must parse moonraker.conf as a workaround since the API omits this required config field.
|
FWIW this information is available via GET /server/config without parsing The update manager doesn't include the full configuration in its status response, it returns generally pertinent information about the application and its source. Some of these may be items are part of the configuration, however it is possible that they could deviate from their configured values which is why they are reported. |
|
Thanks for the pointer! After Updated KlipperFleet to use |
Thanks for the feedback and this API location. I'll implement this using the existing endpoint. |
Summary
'path': str(self.path)toAppDeploy.get_update_status()— propagates to all deployer types (git_repo,web,zip,python) viasuper().get_update_status()PackageDeploy(system) is unaffected — it inherits fromBaseDeploy, notAppDeployProblem
The
/machine/update/statusAPI returns detailed info for each configured updater (channel, version, commit info, remote URL) but omits the local filesystempath, even though it's a required config field. Clients that need to interact with managed repos on disk (e.g. running scripts or firmware tools) must parsemoonraker.confdirectly — fragile and duplicates config-parsing logic Moonraker already handles.Real-world use case: KlipperFleet PR #19 adds Beacon probe flashing, which needs to locate the
beacon_klipperrepo to runupdate_firmware.py.Live verification on Voron 2.4
Before (upstream master)
No
pathfield in any updater entry:After (this PR)
All
AppDeploy-based updaters now includepath; system is correctly excluded:Files changed
moonraker/components/update_manager/app_deploy.py'path': str(self.path)toget_update_status()dict