Commit Graph

1328 Commits

Author SHA1 Message Date
Eric Callahan
2ef4dc4d8e update_manager: fix initial name parsing
This fixes an issue where a configuration name with spaces
may not match the reported name.

Signed-off-by:  Eric Callahan <arksine.code>
2023-06-27 12:26:58 -04:00
Eric Callahan
5f43536612 update_manager: update base channel config
Allow independent channel configuration for Moonraker and
Klipper.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-06-27 12:16:57 -04:00
Eric Callahan
a1e786fd73 update_manager: fix defaults for base configuration
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-06-27 12:10:19 -04:00
Eric Callahan
a237ba3735 spoolman: add remote method to set active spool
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-06-26 16:52:13 -04:00
Eric Callahan
f6770e2865 server: improve event exception handling
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-06-26 16:48:48 -04:00
Eric Callahan
0592181f54 shell_command: propogate asyncio cancel exceptions
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-06-26 16:48:47 -04:00
Eric Callahan
1d3e5564a2 git deploy: use python requirements file for updates
The package parsing only serves the purpose of performing the diff.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-06-26 16:48:47 -04:00
Eric Callahan
1cfeb853a5 update_manager: improve logging
Add a debug logging helper to the base class.  Use unique
logging prefixes for subclasses of AppDeploy.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-06-26 16:48:47 -04:00
Eric Callahan
4edfbce3ce app_deploy: refactor configuration handling
Move specific configuration out of __init__ into several methods
that may be called by subclasses.   This allows child implementations
to define and share specific sets of configuration that they require
without forcing all implementations to do so.

Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2023-06-26 16:48:46 -04:00
Eric Callahan
ee8f77c8c6 update_manager: disable repo binding
Remove hardcoded beta binding between Moonraker and Klipper.
This could result in a user getting stuck on a commit that requires
a future patch.

The original purpose of binding versions was to avoid a scenario
where Klipper introduces a feature incompatible with the current
Moonraker beta.  Rather than binding the  better solution is to
fix the incompatibility and tag a new beta.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-06-26 16:48:46 -04:00
Eric Callahan
357276b1d9 update_manager: remove unused reinstall functionality
This functionality was intended to allow for an automated
reinstallation between "git_repo" and "zip" types.  The
"zip" type remains unused, and attempting to automate
this would likely be unreliable.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-06-26 16:48:45 -04:00
Eric Callahan
b2d84bc733 update_manager: handle app entry points
If the exectuable in the virtualenv is not "python" attempt to
detect the python executable.  Use the pip entry point for the
pip command.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-06-26 16:48:45 -04:00
Eric Callahan
5d54a10177 spoolman: minor fixes
Set the minimum value for the sync_rate to 1 second, rather
than above 1 second.  When transitioning from a null spool
to a named spool clear tracked extrusion.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-06-26 16:38:19 -04:00
Donkie
4b9c836743 spoolman: Added basic spoolman integration
Proxies any request to the spoolman server. Records filament usage.

Signed-off-by: Daniel Hultgren <daniel.cf.hultgren@gmail.com>
2023-06-26 16:24:40 -04:00
Eric Callahan
1f0fd699ea zeroconf: add support for ssdp discovery
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-06-24 18:08:08 -04:00
Eric Callahan
a55818bb1a app: allow endpoints to define Content Type
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-06-22 16:30:06 -04:00
Eric Callahan
95d5f045db zeroconf: add support for configurable mdns hostnames
Signed-off-by:  Eric Callahan <aksine.code@gmail.com>
2023-06-22 06:18:01 -04:00
Eric Callahan
adc32379da zeroconf: improve mulit-instance handling
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-06-22 06:18:00 -04:00
Eric Callahan
02d66a346d server: add support for instance uuids
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-06-21 11:03:07 -04:00
Eric Callahan
3b62ed4e4f dbus_manager: fix polkit warning
Only warn that polkit is unavailable when a component attempts
to use it to check a permission.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-06-20 11:59:41 -04:00
Eric Callahan
a797dd0b50 update_manager: validate web type installations
Require that "web" installations provide release info to validate
existing installations.  For known web clients provide a fallback
that uses the manifest to validate the installation.

Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2023-06-20 11:59:41 -04:00
Eric Callahan
a7b9e5783d git_deploy: relax validation requirements
Do not report invalid if the remote or branch does not match
the configured values.  In these conditions report them as
"repo_warnings" that frontends may display to the user.

Hard recovery now requires a recovery URL detected from the git
repo's "origin" remote.  This closes a potential security issue where a
malicioius repo could be cloned over an installed repo.

Signed-off-by:  Eric Callahan <arskine.code@gmail.com>
2023-06-20 11:59:40 -04:00
Eric Callahan
35396a5b2a source_info: add within_git_repo method
Check for git files and folders, including those of parents.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-06-20 11:59:40 -04:00
Eric Callahan
1a5cf56532 utils: add direct fallback to load_system_module
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-06-07 19:45:39 -04:00
Eric Callahan
d6231634db history: add modified time check for file existence
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-06-01 05:50:31 -04:00
Eric Callahan
c41c5881c8 git_deploy: fix tag format specifier
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-05-26 14:51:16 -04:00
Eric Callahan
adca664460 loghelper: improve header logging
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-05-26 11:00:16 -04:00
Eric Callahan
cd4fdfb7b6 utils: report additional git repo data
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-05-26 10:49:58 -04:00
Eric Callahan
c609060352 app_deploy: escape pip requirements installed via command line
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-05-26 07:57:09 -04:00
Chris Thornton
b21f177e95 notifier: Add body_format as an option
This lets you format the messages through apprise a little nicer

Signed-off-by: Chris Thornton <cwgthornton@gmail.com>
2023-05-07 05:59:43 -04:00
Eric Callahan
cf56a1cdcd webcam: add new fields
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-04-23 07:30:07 -04:00
Eric Callahan
ac10b4a3b9 http_client: don't store client in the wrapper
This closes a securitiy vulernability where the client could
be used to download and save a file from any configured
location.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-04-18 08:09:55 -04:00
Eric Callahan
53d9522c06 sensors: measurement request fix
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-04-18 08:09:54 -04:00
Eric Callahan
204e7ca4ff power: add support for generic http sensors
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-04-14 07:43:28 -04:00
Eric Callahan
d393c89ae0 http_client: add a http request wrapper
This wrapper is an object that may be used to build requests
procedurally rather than submit all request parameters in
a call to "request()", "get()", etc.  This is primarily useful for
usage in a Jinja2 context.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-04-05 06:13:08 -04:00
Eric Callahan
31e589abde job_queue: fix erronous state after start
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-04-04 11:07:16 -04:00
Eric Callahan
6b73da55f8 job_queue: never transition after complete unless auto is enabled
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-04-04 11:03:12 -04:00
SoftFever
110cbd1084 metadata: Add support to extract metadata from g-code files generated by OrcaSlicer
Signed-off-by: Li Jiang <softfeverever@gmail.com>
2023-03-20 06:20:33 -04:00
Eric Callahan
80920dd872 utils: fix dist package check
Older versions of virtualenv include their own "site" module
that does not have the "getsitepackages" method.  Add
a check to verify its presence  before calling it.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-03-05 16:41:21 -05:00
Eric Callahan
f29c896c4a notfiier: extend attach option
The "attach" option now accepts templates, such templates
are passed the same context received by the body and title
options.  Additionally it is possible to specify multiple
attachments by separating each attachment with a newline.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-03-05 12:28:41 -05:00
Mikkel Schmidt
40013ec270 module: add ratos-configurator to default services
Adds the RatOS configurator to the default service list in machine.py so future installs of moonraker will allow the ratos configurator service to be managed from frontends.

Signed-off-by: Mikkel Schmidt <mikkel.schmidt@gmail.com>
2023-03-05 12:27:56 -05:00
Eric Callahan
452aa9a931 klippy_connection: save service info in database
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-02-26 16:52:27 -05:00
Eric Callahan
ead4cc21ce update_manager: fix service restart
On machines running instances of Moonraker and Klipper without
the default service names it is necessary to look up their unit names
using systemd.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-02-26 16:19:38 -05:00
Eric Callahan
fd5ea0c6a4 octoprint_compat: validate web_request args
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-02-24 10:26:16 -05:00
Eric Callahan
6a5a5b50d3 update_manager: validate web_request args
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-02-24 10:26:16 -05:00
Eric Callahan
4281c4d978 machine: validate web_request args
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-02-24 10:26:15 -05:00
Eric Callahan
2d70511474 file_manager: use get_list WebRequest method
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-02-24 10:26:15 -05:00
Eric Callahan
07e4b2cd7a job_queue: use get_list WebRequest method
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-02-24 10:26:14 -05:00
Eric Callahan
bc7e7d4548 announcements: use get_list WebRequest method
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-02-24 10:26:14 -05:00
Eric Callahan
734351d9a0 common: add get_list method to WebRequest
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-02-24 07:48:40 -05:00