Server Configuration¶
config.yml
is the top-level configuration file for Jobson. It is a
standard YAML file.
Configuration Note: Dropwizard¶
Internally, Jobson currently uses dropwizard to handle its server configuration. If you need to configure webserver properties (e.g. ports, logs), refer to the dropwizard configuration reference
Note: Relative paths are resolved relative to config.yml
Top-Level Fields¶
Key |
Default |
Description |
---|---|---|
|
|
Path to the job specs directory |
|
|
Path to the jobs directory |
|
(see below) |
Path to the temporary working directories |
|
(see below) |
An object containing the users configuration |
|
(see below) |
An object containing the authentication configuration |
|
(see below) |
An object containing the execution configuration |
workingDirs
: Working Directory Configuration¶
Configuration for working directories. Each process spawned by Jobson launches in its own working directory.
Key |
Default |
Description |
|
|
Path the directory that holds working directories |
|
(see below) |
Configuration for removing working directories after execution |
removeAfterExecution
: Policy for Removing Working Directories¶
Key |
Default |
Description |
|
|
Indicates whether Jobson should remove working directories after execution |
users:
: Users Configuration¶
Key |
Default |
Description |
|
|
Path to the |
authentication:
: Authentication Configuration¶
The relevant authentication:
fields change based on what type:
of authentication that was specified. guest
auth has different
configuration requriements from jwt
auth, for example.
Key |
Default |
Description |
|
|
The type of authentication to use. Valid values are |
type: guest
: Guest Authentication Configuration¶
With guest
authentication, the server will accept all incoming and
assign them a username of guestUserName
.
Key |
Default |
Description |
|
guest |
The username to assign to all requests |
type: basic
: HTTP Basic Authentication Configuration¶
With basic
authentication, the server will use a HTTP Basic (RFC
7617) authentication scheme to
collect a username+password pair from clients. Those credentials will
then be authenticated against entries in Jobson’s users
file (see
TODO). Valid credentials shall be permitted to use the API. Invalid
credentials shall be rejected.
Key |
Default |
Description |
|
JobsonBasicAuth |
The “realm” given during the basic auth scheme. For web-browser clients, this is usually displayed as a string in the popup dialog |
type: jwt
: Stateless JSON Web Token (JWT) Authentication Configuration¶
With jwt
authentication, the server will use stateless JWTs (RFC
7519), which allow clients to
authenticate themselves externally. When enabled, the Jobson server
expects clients to set an Authorization:
HTTP header with a value of
Bearer {json-web-token}
. The Jobson server will accept the
credentials in the token provided the token was signed with
secretKey
(below). If the header is missing, or mis-signed, Jobson
shall reject the request.
Key |
Default |
Description |
|
(no default) |
Should be a base64-encoded string. The signature algorithm used by Jobson is “HS512” (from here), which is a HMAC, SHA-512 algorithm |
execution:
: Execution Configuration¶
Key |
Default |
Description |
|
10 |
The number of applications that Jobson is allowed to run concurrently. Jobs are queued if there there are currently more than this number of applications running. |
|
PT10S |
An ISO8601 duration string that specifies how long Jobson should wait after sending a |