Pedro Lamas
5522e150b7
docs: Refactors the Home Assistant example
...
Signed-off-by: Pedro Lamas <pedrolamas@gmail.com>
2021-07-28 15:47:26 -04:00
Eric Callahan
86e0ef0d5e
git_deploy: use "git pull --rebase" when repo debug is enabled
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-07-27 05:52:56 -04:00
Eric Callahan
42f61ceafa
power: attempt to retry failed device init for 120 seconds
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-07-18 14:26:10 -04:00
Eric Callahan
2f95b0f426
docs: add network reporting to proc_stats documetation
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-07-18 09:06:03 -04:00
Eric Callahan
c684b063b2
proc_stats: report network stats for all interfaces
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-07-18 08:49:38 -04:00
Eric Callahan
8f8d780c72
proc_stats: fix stat logging when the event loop is blocked
...
Convert the deque to a list before slicing.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-07-15 11:03:07 -04:00
Eric Callahan
91f264bdaf
update_manager: fix unbound variable error
...
Signed-off-by: Eric Callahan <arksine.code
2021-07-15 08:14:18 -04:00
Eric Callahan
1fdfb5299e
moonraker: create a new asyncio event loop on restart
...
This should guarantee that no dangliing callbacks are leftover on a soft restart.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-07-15 06:57:54 -04:00
Eric Callahan
0d1431395e
update_manager: fix potential race condition with auto_refresh
...
Wait until update manager init is complete before attempting starting the auto refresh periodic callback. This prevents an auto refresh from blocking init if Moonraker is started during the auto refresh window.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-07-15 06:52:04 -04:00
Eric Callahan
7f740ccb5a
authorization: add warning if a domian in "cors_domains" contains a trailing slash
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-07-12 15:47:38 -04:00
Eric Callahan
f94a27c8e4
docs: add documentation for "is_system_service" option
2021-07-12 15:37:31 -04:00
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