Skip to content

maintenance

Chris Lasell edited this page Sep 27, 2025 · 1 revision

Endpoints related to Xolo server maintenance

These endpoints require the admin to be a member of the server_admin_jamf_group defined in the server config.

See they KEYS constant defined in lib/xolo/server/configuration.rb

GET /maint/threads

Purpose

Inspect the current threads being used by the server process

Request

Type: None

Response

Type: JSON Object
Schema:

{
  "Thread Name": "Thread Status",
  ...
}

GET /maint/state

Purpose

Get server state details

Request

Type: None

Response

Type: JSON Object
Schema:

{
  executable: "string",
  start_time: "string",
  uptime: "string",
  app_env: "string",
  data_dir: "string",
  log_file: "string",
  log_level: "string",
  ruby_version: "string",
  xolo_version: "string"N,
  ruby_jss_version: "string"
  windoo_version: "string",
  config: JSON Object,
  pkg_deletion_pool: JSON Object,
  object_locks: JSON Object,
  threads: JSON Object
}

POST /maint/cleanup

Purpose

Manually run the server's cleanup process

Request

Type: None

Response

Type: JSON Object
Schema:

{
  "result": "Manual Cleanup Underway"
}

POST /maint/update-client-data

Purpose

Force an update of the client data

Request

Type: None

Response

Type: JSON Object
Schema:

{
  "result": "Client Data Update underway"
}

POST /maint/rotate-logs

Purpose

Manually rotate the server logs

Request

Type: None

Response

Type: JSON Object Schema:

{
  "result": "Log rotation underway"
}

POST /maint/set-log-level

Purpose

Set the server's log level

Request

Type: JSON Object
Schema:

{
  "level": "level"
}

Response

Type: JSON Object
Schema:

{
  "result": "Log level set to #{level}"
}

POST /maint/shutdown-server

Purpose

Shut down or restart the server

Request

Type: JSON Object
Schema:

{
  "restart": boolean
}

Response

Type: JSON Object Schema:

{
  "status": 'running',
  "progress_stream_url_path": "path/for/streaming/output"
}

Clone this wiki locally