Eric Callahan
28c8bf61da
machine: add a more robust container check
...
Most containers do not have access to systemd, so using
systemd-detect-virt will fail. We can check the cgroup
and sched files of the first process to reliably determine
if Moonraker is running within a container.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-10-28 19:38:15 -04:00
Eric Callahan
f35bceb309
machine: detect virtualized envronment
...
It isn't valid to run some commands from within containers. Use systmd-detect-virt to detect a virtualized environment and report the type and id via the system_info endpoint.
If Moonraker is running from within a container do not allow access to the reboot and shutdown endpoints.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-10-28 11:45:13 -04:00
Eric Callahan
de8c0fc871
file_manager: fix inotify symlink handling
...
When a symbolic link is created there is no completion event, so immediately fire the notification.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-10-27 11:24:57 -04:00
Eric Callahan
e33962fdd4
file_manager: check write permissions for uploads
...
If the specified path is a symbolic link do not proceed with the upload, raise an exception.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-10-27 08:55:44 -04:00
Eric Callahan
734f295822
file_manager: allow registration of full access directories
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-10-27 08:55:44 -04:00
Eric Callahan
4c42b8d072
file_manager: report file and directory permissions
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
fix
2021-10-27 08:55:19 -04:00
Eric Callahan
47999e24c4
power: add support for bound services
...
A bound service is stopped when a device powers off and started when a device is powered on.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-10-24 12:39:52 -04:00
Eric Callahan
12e035b6eb
machine: list all active units
...
This resolves an issue where an allowed service is not
tagged as available if it is not loaded when moonraker
starts.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-10-24 08:45:28 -04:00
Eric Callahan
9d7dac3425
moonraker: rework Klippy init sequence
...
Stop polling Klippy after it it has exited the "startup" state.
When this has been detected, emit a "klippy_startup"
event.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-10-24 08:45:28 -04:00
Eric Callahan
a0b5275cc9
machine: add method to wait for service init
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-10-23 10:20:07 -04:00
Eric Callahan
97522947ec
proc_stats: update service state in the proc_stat timer
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-10-23 10:20:07 -04:00
Eric Callahan
8126a73663
machine: report active status of available services
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-10-23 10:20:07 -04:00
th33xitus
6a6422c16e
metadata: add IdeaMaker thumbnail parsing
...
This commit allows Moonraker to parse thumbnails from g-code files generated by IdeaMaker.
Signed-off-by: Dominik Willner <th33xitus@gmail.com>
2021-10-14 14:23:00 -04:00
Eric Callahan
838b25d288
power: implement timer functionality for gpio devices
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-10-14 08:03:13 -04:00
crashmaxx
2836600857
power: add timer option to tplink-smartplug devices
...
Signed-off-by: Andrew Stowell crashmaxx@gmail.com
2021-10-12 06:35:32 -04:00
Eric Callahan
25f9800f77
moonraker: don't send status updates for empty objects
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-10-10 17:58:43 -04:00
Eric Callahan
0ed367d734
mqtt: support specifying fields in "status_objects" option
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-10-10 12:21:27 -04:00
Eric Callahan
070e03d741
file_manager: Don't filter inotify events on the gcodes root
...
Broadcast events for all files and let clients determine
what should be shown.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-10-10 11:33:33 -04:00
Eric Callahan
7f1c327f02
file_manager: hidden folder bugfix
...
Since inotify supports hidden folders we shouldn't skip them when scanning for nodes.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-10-10 11:04:59 -04:00
Eric Callahan
0c311aeef4
mqtt: add support for publishing klipper status updates
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-10-08 14:17:13 -04:00
danijoo
c3f1b290f8
power: add RF transmitter support
...
Signed-off: Daniel Bauer <github@dbauer.me>
2021-10-03 09:05:12 -04:00
Eric Callahan
86764657cf
machine: add moonraker-telegram-bot to list of allowed services
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-09-29 18:08:08 -04:00
Eric Callahan
fdfab66951
metadata: add PrusaSlicer aliases
...
The varous forks of PrusaSlicer are processed identically
outside of their identifier, so there is no need to
implement new classes for each fork.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-09-28 06:14:24 -04:00
Eric Callahan
9c09ca2ed5
update_manager: add support for moved git repos
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-09-24 12:22:45 -04:00
Eric Callahan
d6fafef902
proc_stats: report websocket connection count
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-09-21 14:19:01 -04:00
Eric Callahan
b1d739e032
moonraker: report websocket connection via /server/info
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-09-21 11:30:25 -04:00
Eric Callahan
e76e83d8c1
moonraker: configure the tornado http client to use the curl backend
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-09-21 08:32:24 -04:00
Eric Callahan
e92da4c82c
power: add gpiod support for Arch Linux
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-09-15 18:09:20 -04:00
Eric Callahan
776e0d6c90
file_manager: strip leading slashes supplied in the upload path argument
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-09-14 14:43:00 -04:00
Stefan Dej
81176a6d31
confighelper: update 'Invalid config option' warning for better understanding
...
Signed-off-by: Stefan Dej <meteyou@gmail.com>
2021-08-29 14:15:12 -04:00
Eric Callahan
245053434f
authorization: specifically identify basic auth
...
Raise an exception when a request with Basic Auth is received, however do not log the username/password.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-08-28 08:54:40 -04:00
Eric Callahan
dfb8da6e3e
authorization: improve error message for invalid auth headers
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-08-27 06:11:55 -04:00
Eric Callahan
b040640813
update_manager: broadcast update_refreshed notification in the status refresh handler
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-08-26 15:44:26 -04:00
Eric Callahan
8a7b348899
update_manager: fix apt-get issue with changed release info
...
Add --allow-releaseinfo-change to the call to apt-get. This resolves an issue where the repos are chaning their "Suite" value from stable to oldstable with the release of Debian Bullseye.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-08-24 06:39:54 -04:00
Eric Callahan
5204fe3e08
metadata: fix est time parsing for Simplify3D
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2021-08-07 11:45:44 -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
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
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
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