Commit Graph

1917 Commits

Author SHA1 Message Date
Eric Callahan
4f785cfca0 update_manager: clarify web client git warning
When the parent folder of a web client is a git repo note the specific
directory that contians a .git subdirectory.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-07-14 12:40:17 -04:00
Eric Callahan
db27fef6f2 git_deploy: only return tags merged in the remote branch
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-07-13 10:31:39 -04:00
Eric Callahan
0437d1623e git_deploy: improve recovery implementation
After performing a recovery attempt to reset to the commit the
repo was at prior to the repo failure.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-07-13 08:22:29 -04:00
Eric Callahan
4443bfbd41 update_manager: improve package manager logging
Assign a custom prefix for the configured provider.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-07-13 07:58:41 -04:00
Eric Callahan
01141fa10e git_deploy: validation improvements
Add a check for shallow repos and move validation logic to the
GitRepo class.  Additionally report the real number of commits behind.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-07-13 07:58:41 -04:00
Eric Callahan
51e3568aac update_manager: add git repo instance detection
Use git-config to set track the current Moonraker instance managing a
a git repo.  If multiple  instances are detected log and create a repo
warning.

Singed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-07-13 07:58:40 -04:00
Eric Callahan
011179ca6d git_deploy: improve submodule validation
Submodules contain a .git file that includes the path to the
actual repository folder.  Extract that path and use it for
lock file detection.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-07-13 07:58:40 -04:00
Eric Callahan
270c78d8af git_deploy: refactor initialization
Use git-branch to determine current the current branch and
head state instead of git-status.  The former is a porcelain
command with guaranteed output.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-07-13 07:58:40 -04:00
Eric Callahan
3f1e9e397e update_manger: log remaining refresh time on init
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-07-12 13:57:27 -04:00
Eric Callahan
1c16233da0 git_deploy: rollback improvements
Streamline the rollback defaults so only one dict object
is explicitly defined in "capture_state_for_rollback()".
Validate the rollback branch on detached heads before
setting it.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-07-12 13:57:26 -04:00
Eric Callahan
9651923f8e git_deploy: fetch partial clones for hard recovery
It isn't necessary to download and decompress all blobs.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-07-12 13:57:26 -04:00
Eric Callahan
3e875b583c git_deploy: add support for stable updates
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-07-12 13:57:25 -04:00
Eric Callahan
1a4480e74c git_deploy: use versions utility
Use the newly implemented versions utility for git version parsing.
This allows for simple access to version information and
version comparison.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-07-12 13:57:25 -04:00
Eric Callahan
bdd1d93708 versions: software version parsing utility
The versions module contains classes that can parse
Python and Git versions, providing methods to access
the version details.

Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2023-07-12 13:57:25 -04:00
Eric Callahan
69710e10e0 update_manager: reset to correct commit after recovery
If a git repo not configured on the dev channel it is necessary
to move the HEAD to the commit for the correct tag.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-07-12 13:57:24 -04:00
Eric Callahan
41d945803f update_manager: replace string choices with enums
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-07-12 13:57:24 -04:00
Eric Callahan
c903dd6af4 update_manager: implement update rollback support
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-07-12 13:55:47 -04:00
Eric Callahan
26975e055b update_manager: fix klipper instantiation on path switch
Signed-off-by:  Eric  Callahan <arksine.code@gmail.com>
2023-07-12 13:50:47 -04:00
Eric Callahan
504a3a76f5 common: reduce jrpc exception spam
When a client repeatedly makes a request that results in an error
the log is spammed with tracebacks that don't provide significant
value.  The method name, code, and error message should be
enough for basic troubleshooting.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-07-09 13:48:01 -04:00
Eric Callahan
d51820f48c metadata; use python's logging module
Replace calls to `log_to_stderr` with standard logging.<level> calls.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-07-09 12:01:27 -04:00
Eric Callahan
5691a4f162 shell_command: don't log the program name
When logging stderr in realtime omit the program name.  It often
does not provide useful context.  The program itself can provide
context through its own logging facilities.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-07-09 11:31:29 -04:00
Eric Callahan
c3c3170451 file_manager: log metadata response in real time
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-07-09 11:31:19 -04:00
Eric Callahan
e6b32cabbe app: log incoming upload requests
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-07-09 08:19:13 -04:00
Eric Callahan
8eddec88cb dbus_manager: handle all PolKit interface errors
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-07-06 16:56:11 -04:00
Eric Callahan
a7e154fbe4 changelog: note job_queue bugfix
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-06-29 12:30:59 -04:00
Eric Callahan
b36f5a4eee common: log method name for JSON RPC Errors
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-06-29 12:20:52 -04:00
Eric Callahan
499d9adbe0 job_queue: don't run transition gcode on start
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-06-29 11:28:10 -04:00
Eric Callahan
5d8422ec52 docs: correct spoolman API documentation
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-06-27 16:25:51 -04:00
Eric Callahan
93f473f629 spoolman: correct API registration
Internal Moonraker APIs must be registered with a top level path of
"server" or "machine".

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-06-27 16:23:56 -04:00
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
07544718fa docs: note the 'spoolman_set_active_spool' remote method
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-06-26 18:10:33 -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
56499f9269 docs: note update_manager config changes
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-06-26 16:48:48 -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
Eric Callahan
09c29eab23 docs: minor spoolman updates
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-06-26 16:32:49 -04:00
Donkie
7172531386 docs: Fixed parmams typo
Signed-off-by: Daniel Hultgren <daniel.cf.hultgren@gmail.com>
2023-06-26 16:24:41 -04:00
Donkie
e6b3b8ba48 docs: Added section for spoolman
Signed-off-by: Daniel Hultgren <daniel.cf.hultgren@gmail.com>
2023-06-26 16:24:41 -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
2078287872 github: update linter action
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-06-25 07:44:03 -04:00
Eric Callahan
2b98792657 docs: add zeroconf changes
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-06-25 07:02:12 -04:00