Eric Callahan
cb8d5ecb35
app_deploy: add "is_system_service" configuration option
...
This allows users to add update manager "clients" that don't have systemd services registered.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-07-12 07:47:43 -04:00
Eric Callahan
a921b4269e
test: remove test client files
...
The test client has been moved to its own repository, Arksine/moontest.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-07-12 07:47:43 -04:00
Eric Callahan
87444f5bcb
zip_deploy: allow updates to stable releases when on the "beta" channel
...
Users on the "beta" channel should be updated to the latest release, including stable releases.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-07-12 07:47:43 -04:00
Eric Callahan
2ceafb0ff5
git_deploy: replace references to ioloop with eventloop
...
Wrap some additional system calls that could potentially block in "run_in_thread".
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-07-12 06:34:15 -04:00
Eric Callahan
912840bbcd
zip_deploy: replace references to ioloop with eventloop
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-07-12 06:16:18 -04:00
Eric Callahan
d52554231a
app_deploy: replace reference to ioloop with eventloop
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-07-12 06:16:18 -04:00
Eric Callahan
c4796ee321
update_manager: replace references to ioloop with eventloop
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-07-12 06:16:18 -04:00
Eric Callahan
13a85fe9e0
file_manager: replace references to ioloop with eventloop
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-07-12 06:16:18 -04:00
Eric Callahan
e4ecc1febe
authorization: replace references to ioloop with eventloop
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-07-12 06:16:18 -04:00
Eric Callahan
646e97ad55
machine: replace reference to ioloop with eventloop
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-07-12 06:16:18 -04:00
Eric Callahan
05e2389dc1
mqtt: replace references to ioloop with eventloop
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-07-12 06:16:18 -04:00
Eric Callahan
8382b90682
paneldue: replace reference to ioloop with eventloop
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-07-12 06:16:18 -04:00
Eric Callahan
c61cfa325f
power: replace references of ioloop with EventLoop
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-07-12 06:16:18 -04:00
Eric Callahan
78e10cf7f8
proc_stats: Use the EventLoop to run blocking calls in in a background thread
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-07-12 06:16:18 -04:00
Eric Callahan
85d12da18d
shell_command: replace tornado lock with asyncio lock
...
Also use asyncio's sleep method in place of tornado's wrapper around it.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-07-12 06:16:18 -04:00
Eric Callahan
4430d564fe
websockets: replace references to ioloop with event loop
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-07-12 06:16:18 -04:00
Eric Callahan
8a3ff7a54a
app: replace refrences to ioloop with eventloop
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-07-12 06:16:18 -04:00
Eric Callahan
d224536552
moonraker: replace calls to ioloop with eventloop wrapper
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-07-12 06:16:18 -04:00
Eric Callahan
07cb64a191
eventloop: initial implementation
...
This adds a thin wrapper around asyncio's eventloop. Generally it is similar to Tornado's IOLoop, however without the need to support all awaitables.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-07-12 06:16:18 -04:00
Eric Callahan
1ce8af18ec
docs: add "web_beta" documentation for the update_manager
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-07-09 18:06:07 -04:00
Eric Callahan
fddc67db93
update_manager: add support for web betas
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-07-09 18:06:07 -04:00
Eric Callahan
df43aca222
proc_stats: fix erroneous timer handle assignment
...
The delayed callback to "log_last_stats()" in the Watchdog shold not have its return value assigned to the watchdog handle.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-07-09 08:01:27 -04:00
Eric Callahan
fb9206aa8f
proc_stats: read system files in another thread
...
This should prevent the event loop from getting blocked by a system call.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-07-09 05:53:11 -04:00
Eric Callahan
e20c12619b
git_deploy: compare upstream url to lowercase url during validation
...
SIgned-off-by: Eric Callahan <arksine.code@gmail.com>
2021-07-08 12:09:17 -04:00
Eric Callahan
211c7e70e1
app_deploy: fix typo preventing repo clients from loading
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-07-08 11:58:11 -04:00
Eric Callahan
d60b852b27
docs: add documentation for latest changes to the update manager
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-07-08 10:52:56 -04:00
Eric Callahan
dacd9f7565
update_manager: report detected_type and configured_type for applications
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-07-08 09:02:08 -04:00
Eric Callahan
d76abe019f
update_manager: return True when on update success
...
All calls to update now return a boolean value. When performing a full upate this return value is used to
check if Moonraker should wait for Klippy to reconnect.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-07-08 07:55:50 -04:00
Eric Callahan
b6cd19d6ef
update_manager: make application package updates generic
...
This ignores an attempt to update packages if system updates are disabled and opens the possibility for supporting updates for other linux distributions.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-07-07 18:27:12 -04:00
Eric Callahan
74630f933a
update_manager: use asyncio locks
...
Transion away from Tornado's wrappers, as their implementation of
"wait()" can be confusing. Some of tornado's methods require that
you specify a delay in seconds, others requrire that you specify a
timeout relative to the Unix epoch.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-07-07 18:27:07 -04:00
Eric Callahan
9133b59dbf
update_manager: add "full" update endpoint
...
This endpoint will perform a full system update.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-07-07 18:26:30 -04:00
Eric Callahan
10da7b714f
update_manager: add support for zip deployment
...
This adds support for updating packaged applications from GitHub.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-07-06 19:25:10 -04:00
Eric Callahan
908501cbc8
update_manager: remove unnecessary Is_refreshing check
...
The underlying deployment implementations use locks to prevent concurrent attempts at refeshing state, thus the "is_refreshing" check is redundant.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-07-06 19:25:10 -04:00
Eric Callahan
5d35cc0d10
update_manager: Implement async streaming downloads
...
This allows Moonraker to report download progress. This also resolves potential issues with I/O blocking the event loop.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-07-06 19:25:10 -04:00
Eric Callahan
f2b48d0f1a
update_manager: refactor github API requests
...
Save a request cache in the CommandHelper that stores the etag and value for each URL requested.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-07-06 19:25:10 -04:00
Eric Callahan
88ee83c7d8
update_manager: use pathlib to represent file system paths
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-07-06 19:25:10 -04:00
Eric Callahan
d3ec2dbae2
update_manager: refactor application deployment
...
This is the first step toward creating mutliple methods for deployment. This patch creates a base class for all deployment objects and a base class for application deployment. The git functionality has moved to its own module.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-07-06 19:25:10 -04:00
Eric Callahan
78edcab86e
confighelper: don't add supplemental configs to the original
...
Create a new ConfigParser that reads the supplemental and return a new ConfigWrapper.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-07-06 19:25:10 -04:00
Eric Callahan
627db24c63
update_manager: make system updates optional
...
Remove the "distro" config option as it is not necessary. If there is a need to identify the linux distribution that can now be done through the distro dependency.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-07-06 19:25:10 -04:00
Eric Callahan
7c56a8fa74
utils: add method to validate packaged applications
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-07-06 19:25:10 -04:00
Eric Callahan
0527904c48
moonraker: remove references to "system_args"
...
Rather than add these arguments to the config, use a method to access them from the server object.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-07-06 19:25:10 -04:00
Eric Callahan
3642003dd2
workflows: add workflow to publish assets for a new release
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-07-06 19:25:10 -04:00
Eric Callahan
2c47064d79
scripts: add release build scripts
...
Add a script that can build zipped releases to be distributed by Moonraker's Update Manager.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-07-06 19:25:10 -04:00
Eric Callahan
39a532cf87
utils: move git version parsing into its own method
...
This creates a generic utility for retreiving the git version. Moonraker will now attempt to parse basic version info from a ".version" file if git describe fails.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-07-06 19:25:10 -04:00
Eric Callahan
ebaac290e7
utils: add a method to calculate the hash of a directory
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-07-06 19:25:10 -04:00
Eric Callahan
5379e4b4bd
scripts: remove version.txt
...
This file is no longer required for moonraker, the version info will either be stored in the pex file or retreived from git.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-07-06 19:25:10 -04:00
Eric Callahan
6b03c4600d
scripts: minor install script fixes
...
Fix the systemd unit description. Make the launch command variable.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-07-06 19:25:10 -04:00
Eric Callahan
7ed54a166b
scripts: provide a log path option in install-moonraker.sh
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-07-06 19:25:10 -04:00
Arksine
2ab63d75fc
moonraker: fix imports for type checking
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-07-06 19:25:10 -04:00
Arksine
1c248d1de8
moonraker: remove check for component existence in "load_component()"
...
The importlib module will raise an exception if the component does not exist, so the check is redundant. This allow allows packages to be loaded.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-07-06 19:25:10 -04:00