ProGet Health
  • 06 May 2024
  • 3 Minutes to read
  • Dark
    Light
  • PDF

ProGet Health

  • Dark
    Light
  • PDF

Article Summary

ProGet Health is available as both a pgutil command and an HTTP Request, and allows you to quickly obtain information about the health and status of a ProGet instance.

🚀 Quick Example: Get the Health of a ProGet Instance with pgutil
pgutil health --source=http://progets.corp.local/

An API key is not required for ProGet Health.

Command Specification (CLI)

The health command has a single optional argument (--source), which can be a URL or the name of a source. See Working with Sources to learn more.

$> pgutil health --source=http://progets.corp.local/
Version: 2022.28 (Build 4)

Database: OK
License:  OK
Service:  Error

Replication (Server): OK
Replication (Client): OK

If any of the displayed statuses are not OK, a nonzero exit code will be reported.

HTTP Request Specification

To return the health status of a ProGet instance, simply GET to the URL. Using this endpoint does not require an API key and can be accessed by simply adding /health to your ProGet URL (e.g. https://proget.corp.local/health)

GET /health

HTTP Response Specification

A successful (200) response body will return a ProGetHealth object. For example, to querying the health of a ProGet instance, the request would return this:

GET /health

{
  "applicationName": "ProGet",
  "databaseStatus": "OK",
  "databaseStatusDetails": null,
  "extensionsInstalled": {
    "ProGetCoreEx": "23.0.27",
    "Inedo.SDK": "2.3.0",
    "Amazon AWS": "2.0.3",
    "Azure": "2.0.1",
    "InedoCore": "2.3.2",
    "Sonatype": "2.0.1"
  },
  "licenseStatus": "OK",
  "licenseStatusDetail": null,
  "versionNumber": "2023.27 (Build 5)",
  "releaseNumber": "23.0.27",
  "serviceStatus": "OK",
  "serviceStatusDetail": null,
  "replicationStatus": {
    "serverStatus": null,
    "serverError": null,
    "clientStatus": null,
    "clientError": null,
    "incoming": [],
    "outgoing": []
  }
}
ResponseDetails
200 (Success)body will contain a ProGetHealth object
500 (Server Error)indicates an unexpected error; the body will contain the message and stack trace, and this will also be logged

ProGetHealth Object Attributes

ProGetHealth is a set of key/value pairs that describe the health status of a ProGet instance. It's used as output data for the Get ProGet Health endpoint as a JSON-formatted object.

PropertyFormatNotes
applicationNamestringFor this API it will be ProGet as default
databaseStatusstringhealth state of the database. (OK or Error)
databaseStatusDetailsstring?a specific error message if databaseStatus is Error (default null)
extensionsInstalledobjectdescribes the extentions installed in the instance and their versions (e.g. "Azure": "2.0.1")
licenseStatusstringhealth state of the product license. (OK or Error)
licenseStatusDetailstring?a specific error message if licenseStatus is Error (default null)
versionNumberstringcurrent version number of the instance
releaseNumberstringcurrent release number of the instance
serviceStatusstringhealth state of the service. (OK or Error)
serviceStatusDetailstring?a specific error message if serviceStatus is Error (default null)
replicationStatusobjecta ReplicationStatus Object

ReplicationStatus Object Attributes

ReplicationStatus is a subset of data on the ProGetHealth Object that describes the status of replication servers and clients. It's used as output data for the Get ProGet Health endpoint.

Note that all values are optional (indicated by string?), and may be set to null or omitted.

PropertyFormatNotes
serverStatusstring?health state of a replication server (OK or Error), or null if there are no replication servers.
serverErrorstring?a specific error message if serverStatus is Error (default null)
clientStatusstring?health state of a replication client (OK or Error), or null if there are no replication clients.
clientErrorstring?a specific error message if clientStatus is Error (default null)
incomingarrayDuplicates and provides information about any existing Replications
outgoingarrayDuplicates and provides information about any existing Replications

ProGet 2023 and Earlier

ProGet 2023 and Earlier included a Connector Health API (archive.org). It did not really provide any useful or timely information, and was removed in ProGet 2024 as part of a larger connector refactoring.


Was this article helpful?

What's Next