From 77c483ea0ff520f0adb8bdcd5cd0cd2173d75818 Mon Sep 17 00:00:00 2001 From: Arksine Date: Wed, 30 Dec 2020 21:07:39 -0500 Subject: [PATCH] docs: document changes to the update_manager plugin Signed-off-by: Eric Callahan --- docs/api_changes.md | 3 +++ docs/configuration.md | 10 +++++++++ docs/web_api.md | 51 +++++++++++++++++++++++++++++++++++++------ 3 files changed, 57 insertions(+), 7 deletions(-) diff --git a/docs/api_changes.md b/docs/api_changes.md index 1b33344..0abea78 100644 --- a/docs/api_changes.md +++ b/docs/api_changes.md @@ -1,4 +1,7 @@ This document keeps a record of all changes to Moonraker's web APIs. +### December 30th 2020 +- Some additional fields are now reported in the response to + `GET /machine/update/status`. ### November 28th 2020 - The following new endpoints are available when the `[update_manager]` diff --git a/docs/configuration.md b/docs/configuration.md index 9dcf101..7ede009 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -252,6 +252,16 @@ disk or cloned from unofficial sources are not supported. # moonraker.conf [update_manager] +enable_repo_debug: False +# When set to True moonraker will bypass repo validation and allow +# updates from unofficial remotes and/or branches. Updates on +# detached repos are also allowed. This option is intended for +# developers and should not be used on production machines. The +# default is False. +distro: debian +# The disto in which moonraker has been installed. Currently the +# update manager only supports "debian", which encompasses all of +# its derivatives. The default is debain. client_repo: # This is the GitHub repo of the client, in the format of user/client. # For example, this could be set to cadriel/fluidd to update Fluidd or diff --git a/docs/web_api.md b/docs/web_api.md index e4503a8..736136a 100644 --- a/docs/web_api.md +++ b/docs/web_api.md @@ -844,41 +844,78 @@ information. { 'version_info': { 'moonraker': { + branch: , + remote_alias: , version: , + remote_version: , current_hash: , remote_hash: , is_valid: , - is_dirty: + is_dirty: , + detached: , + debug_enabled: }, 'klipper': { + branch: , + remote_alias: , version: , + remote_version: , current_hash: , remote_hash: , is_valid: , - is_dirty: - } + is_dirty: , + detached: , + debug_enabled: + }, 'client': { name: , version: , remote_version: + }, + 'system': { + package_count: , + package_list: } }, - busy: false + busy: false, + github_rate_limit: , + github_requests_remaining: + github_limit_reset_time: , } ``` - The `busy` field is set to true if an update is in progress. Moonraker will not allow concurrent updates. + - The `github_rate_limit` is the maximum number of github API requests + the user currently has. An unathenticated user typically has 60 + requests per hour. + - The `github_requests_remaining` is the number of API request the user + currently has remaining. + - The `github_limit_reset_time` is reported as seconds since the epoch. + When this time is reached the user's limit will be reset. - The `moonraker` and `klipper` objects have the following fields: + - `branch`: the name of the current git branch. This should typically + be "master". + - `remote_alias`: the alias for the remote. This should typically be + "origin". - `version`: version of the current repo on disk + - `remote_version`: version of the latest available update - `current_hash`: hash of the most recent commit on disk - `remote_hash`: hash of the most recent commit pushed to the remote - `is_valid`: True if installation is a valid git repo on the master branch and an "origin" set to the official remote - `is_dirty`: True if the repo has been modified + - `detached`: True if the repo is currently in a detached state + - `debug_enabled`: True when "enable_repo_debug" has been configured. This + will bypass repo validation, allowing detached updates, and updates from + a remote/origin other than "origin/master". - The `client` object has the following fields: - `name`: Name of the configured client - `version`: version of the installed client. - `remote_version`: version of the latest release published to GitHub + - `name`: Name of the configured client + - `version`: version of the installed client. + - `remote_version`: version of the latest release published to GitHub + - The `system` object has the following fields: + - `package_count`: The number of system packages available for update + - `package_list`: An array containing the names of packages available + for update ### Update Moonraker Pulls the most recent version of Moonraker from GitHub and restarts