Commit 7401192 introduced a regression where the saved klipper
paths were not loaded into the Update object.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
Check for the moonraker-admin Supplementary group
in the moonraker service file and add it if necessary.
For PolKit versions > 0.106 make sure that the process
is launched with the moonraker-admin group before
granting any polkit permissions.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
Add the "moonraker-admin" supplementary group to the service unit
file. Check if polkit rules are available after installation, if not
advise the user that they may wish to run set-polkit-rules.sh.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
Shallow clones don't report the tag in git describe, so use
git rev-list to extract the tag and prepend it to the version
string.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
If Klipper or its python executable is located at a custom path
this allows moonraker to instantiate its update on startup
rather than wait for Klipper to connect. This also resolves an
issue where Klipper's update state is always refreshed on startup
when its located in a non-default path.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
When the "none" provider is set service action APIs will be disabled
and return an error when called. Service state tracking is also
disabled.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
All requests to update, refresh, recover, or reinstall must acquire
the command lock. Given that the individual Deployment implementations
are not (and should not be) called from outside of a request the locks they
use to prevent unwanted re-entry are redundant, confusing, and could
potential result in a deadlock if used improperly.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
This is added to distrubute the changes made to "enum-converter.py"
taken from the original PackageKit repo.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
This allows for the inclusion of 3rd party Python Source
within the Moonraker package. Initially this includes
a python source file containing PackageKit enumerations.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
The DBus manager is a core component that connects to the
system bus, providing resources used to communicate with other
processes on the the system through the DBus interface.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
Move all systemd cli calls to its own provider class, inherted from
a base provider class. This is in preparation for multiple provider
implementations.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
This allows other components to be register callbacks that will
be executed in the stat update timer. This is useful for methods
that wish to poll subprocess commands, as its desireable to
prevent multiple subprocesses from running simultaneously.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
This allows for users to execute a method directly rather than
create a command. This is useful for fire once commands that
do not need to inspect the return code unless there is an error.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
Rather than override the Process class instead create a custom
protocol that forwards data over callbacks.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
Add some additional required fields that are helpful in diagnosing
issues, and remove the "what did you expect to happen", as that
tends to be implied in the issue. Also allow blank issues so
announcements can be made.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
Support more synonym strings for colors
Case insensitive string type checks
Show errors in UI if e.g. wrong color was selected
Public color_config not color_order as it has confused users
Fix documentation for white stealthburner example
Signed-off-by: Richard Mitchell <richardjm+moonraker@gmail.com>
Log the User Agent when a websocket is opened.
When a websocket is closed log the close code, close Reason, and
time elapsed since the last pong was recieved from the client.
When Moonraker shuts down send a 1001 Code with Server Shutdown
as the reason.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
Adds support for GPIO buttons. Each button is configured to render
a template when pressed and/or released. The button event
templates recieve a context with a "call_method" field, allowing
them to call nearly all Moonraker APIs.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
Allow base modules to register themselves as components during
initialization. This makes them accessible via lookup_component()
across the entire application.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>