Shepherd Component Exit Codes

A guide for devs

The following is a list of recommended exit codes for grabbers. The only compulsory part (at the moment) is that components exit with 0 to signal success: if they do, Shepherd will parse their output; if they don't, Shepherd will ignore their output and flag the component as having failed.

All other codes are optional, but it might be useful if components use a common system.

Exit CodeMeaning
0Success
Non-zeroFailure
10No network
11-19Other network-related failure
20Unable to parse anything from data source
21-29Other parsing-related failure
30Component requires configuration
31Component requires re-configuration
32-39Other failure requiring user intervention