-
Notifications
You must be signed in to change notification settings - Fork 0
Configuration
Vincenzo Piscitello edited this page Feb 20, 2021
·
4 revisions
A Brypt node makes use of a configuration file to describe the settings to be used when operating. If no configuration file is found, a utility will be run to generate a configuration file from user input. On Linux, the default location is based on supported environment variables and may be one of the following (in order of precedence): $XDG_CONFIG_HOME/brypt/config.json, $HOME/brypt/config.json, or /brypt/config.json.
| Key | Type | Supported Options | Required | Description |
|---|---|---|---|---|
| version | String | N/A | Yes | Indicates the version of the brypt software. |
| identifier | Object | N/A | No | Describes the options to be used when selecting a Brypt Identifier. |
| details | Object | N/A | No | Contains human readible details a user may want store about the node. |
| endpoints | Array | N/A | Yes | Describes the technologies to be used by the node and their respective configurations. |
| security | Object | N/A | Yes | Describes security options to be used by the node. |
| Key | Type | Supported Options | Required | Description |
|---|---|---|---|---|
| value | String | N/A | No | Represents the network representation of a Brypt Identifier to be used if the type is listed as "Persistent". |
| type | String | Ephemeral or Persistent | Yes | Indicates the type of identifier to be used. Ephemeral denotes that new identifier will be generated each application run. Persistent denotes the node will attempt to use the identifier listed in the value property (If the value property is not present an identifier will be generated and stored). |
| Key | Type | Supported Options | Required | Description |
|---|---|---|---|---|
| name | String | N/A | No | Indicates a name for the node. |
| description | String | N/A | No | Indicates a description for the node. |
| location | String | N/A | No | Indicates a location for the node. Feature not currently implemented, but may support coordinates or other location discovery systems. |
| Key | Type | Supported Options | Required | Description |
|---|---|---|---|---|
| protocol | String | TCP | Yes | Indicates a communication technology that will be used. |
| interface | String | N/A | Yes | Indicates the network interface that will be used for the technology. |
| binding | String | N/A | Yes | Indicates the binding (e.g. address:port for IP based technologies) that will be used for the serving endpoint. |
| bootstrap | String | N/A | No | Indicates a default bootstrap entry that may be used when no other peers are cached. |
| Key | Type | Supported Options | Required | Description |
|---|---|---|---|---|
| strategy | String | PQNISTL3 | Yes | Indicates an encryption standard to be used during messaging. |
| token | String | N/A | Yes | Indicates a token for logically seperating Brypt networks. Support not currently implemented. |
| authority | String | N/A | No | Indicates a URL for the governing body of the network. Support not currently implemented. |
{
"version": "String",
"identifier": {
"value": "String",
"type": "String"
},
"details": {
"name": "String",
"description": "String",
"location": "String"
},
"endpoints": [
{
"protocol": "String",
"interface": "String",
"binding": "String",
"bootstrap": "String"
}
],
"security": {
"strategy": "String",
"token": "String",
"authority": "String"
}
}