Remote Management

Control Panel

The Control Panel is a web-based administrative interface with monitoring and configuration capabilities. To enable it, set endpoint.admin.enabled to true and set a username and secret in the endpoint.admin.* keys. Then, navigate to /admin in a web browser.

Changes made in the Control Panel will instantly update the application's configuration, although some changes will require a restart to take effect. They will also be written to the configuration file within a few seconds.


HTTP API

The HTTP API is disabled by default, but can be enabled by setting the endpoint.api.enabled configuration option to true.

Some API methods require HTTP Basic authentication. Credentials are set in endpoint.api.username and endpoint.api.secret.

Invoking a POST /tasks request creates an asynchronous task identified by a UUID and submits it to a processing queue. Its status can be checked via GET /tasks/:uuid. Tasks are retained in memory, but are not persisted, so checking a task after a restart will result in a 404 Not Found response.

Status

Check the application status since 4.1

Requires Authentication? Yes
Request Method GET
URI /status
Expected Response Status 200 OK
Expected Response Content Type application/json

Check the application health since 4.1

Requires Authentication? No
Request Method GET
URI /health
Expected Response Status
  • 200 OK for GREEN status
  • 500 Internal Server Error for all other statuses
Expected Response Content Type application/json
Notes

This method performs several high-level functionality checks:

  1. The processing pipeline is exercised using all known-working sources and processors. This also checks that the underlying storage is online and readable.
  2. The read/write functionality of the current source cache and/or derivative cache is checked.

The JSON response contains one of three color codes:

  • GREEN indicates normal functionality.
  • YELLOW indicates a warning condition. This should be accompanied by a message.
  • RED indicates a failure condition. This should be accompanied by a message.

Configuration

Retrieve the configuration since 3.3

Requires Authentication? Yes
Request Method GET
URI /configuration
Expected Response Status 200 OK
Expected Response Content Type application/json

Update the configuration since 3.3

Requires Authentication? Yes
Request Method PUT
URI /configuration
Request Content Type application/json
Request Body Should contain the configuration keys to change:
{
  "config_key_1" : "some value",
  "config_key_2" : "some value",
  "config_key_3" : "some value"
}
(It isn't necessary to supply all keys; only the ones to change.)
Expected Response 200 OK
Notes The in-memory configuration will be updated instantly, although some key changes won't take effect until the application is restarted. Changes will also be written to the configuration file within a few seconds.

Caching

Purge invalid/expired content from all caches since 3.4

Requires Authentication? Yes
Request Method POST
URI /tasks
Request Content Type application/json
Request Body
{
  "verb" : "PurgeInvalidFromCache"
}
Expected Response 204 Accepted with task URI in Location header

Purge all content relating to an individual source image from all caches since 3.4

Requires Authentication? Yes
Request Method POST
URI /tasks
Request Content Type application/json
Request Body
{
  "verb" : "PurgeItemFromCache",
  "identifier" : "MyIdentifier"
}
Expected Response 204 Accepted with task URI in Location header

Purge all content from all caches since 3.4

Requires Authentication? Yes
Request Method POST
URI /tasks
Request Content Type application/json
Request Body
{
  "verb" : "PurgeCache"
}
Expected Response 204 Accepted with task URI in Location header

Purge the delegate method invocation cache since 3.4

Requires Authentication? Yes
Request Method POST
URI /tasks
Request Content Type application/json
Request Body
{
  "verb" : "PurgeDelegateMethodInvocationCache"
}
Expected Response 204 Accepted with task URI in Location header

Purge the info cache since 3.4

Requires Authentication? Yes
Request Method POST
URI /tasks
Request Content Type application/json
Request Body
{
  "verb" : "PurgeInfoCache"
}
Expected Response 204 Accepted with task URI in Location header