Manifests

GeoServer provides a REST service to expose a listing of all loaded JARs and resources on the running instance. This is useful for bug reports and to keep track of extensions deployed into the application. There are two endpoints for accessing this information:

  • about/manifest—Retrieves details on all loaded JARs
  • about/version—Retrieves details for the high-level components: GeoSever, GeoTools, and GeoWebCache
  • about/status-Retrieves details for the status of all loaded and configured modules

/about/manifest[.<format>]

This endpoint retrieves details on all loaded JARs.

All the GeoServer manifest JARs are marked with the property GeoServerModule and classified by type, so you can use filtering capabilities to search for a set of manifests using regular expressions (see the manifest parameter) or a type category (see the key and value parameter).

The available types are core, extension, or community. To filter modules by a particular type, append a request with key=GeoServerModule&value=<type>

Method Action Status Code Formats Default Format Parameters
GET List all manifests into the classpath 200 HTML, XML, JSON HTML manifest, key, value
POST   405      
PUT   405      
DELETE   405      

Usage

The model is very simple and is shared between the version and the resource requests to parse both requests.:

<about>
  <resource name="{NAME}">
    <{KEY}>{VALUE}</{KEY}>
    ...
  </resource>
  ...
</about>

You can customize the results adding a properties file called manifest.properties into the root of the data directory. Below is the default implementation that is used when no custom properties file is present:

resourceNameRegex=.+/(.*).(jar|war)
resourceAttributeExclusions=Import-Package,Export-Package,Class-Path,Require-Bundle
versionAttributeInclusions=Project-Version:Version,Build-Timestamp,Git-Revision,
  Specification-Version:Version,Implementation-Version:Git-Revision

where:

  • resourceNameRegex—Group(1) will be used to match the attribute name of the resource.
  • resourceAttributeExclusions—Comma-separated list of properties to exclude (blacklist), used to exclude parameters that are too verbose such that the resource properties list is left open. Users can add their JARs (with custom properties) having the complete list of properties.
  • versionAttributeInclusions—Comma-separated list of properties to include (whitelist). Also supports renaming properties (using key:replace) which is used to align the output of the versions request to the output of the web page. The model uses a map to store attributes, so the last attribute found in the manifest file will be used.

manifest

The manifest parameter is used to filter over resulting resource (manifest) names attribute using Java regular expressions.

key

The key parameter is used to filter over resulting resource (manifest) properties name. It can be combined with the value parameter.

value

The value parameter is used to filter over resulting resource (manifest) properties value. It can be combined with the key parameter.

/about/version[.<format>]

This endpoint shows only the details for the high-level components: GeoServer, GeoTools, and GeoWebCache.

Method Action Status Code Formats Default Format Parameters
GET List GeoServer, GeoWebCache and GeoTools manifests 200 HTML, XML, JSON HTML manifest, key, value
POST   405      
PUT   405      
DELETE   405      

/about/status[.<format>]

This endpoint shows the status details of all installed and configured modules.Status details always include human readable name, and module name. Optional details include version, availability, status message, and links to documentation.

Method Action Status Code Formats Default Format Parameters
GET List module statuses 200 HTML, XML, JSON HTML  
POST   405      
PUT   405      
DELETE   405