JSON Agent Configuration
If you'll be using the JSON Agent, it must be configured using the JSONAgent property in MasterConfig.json.
JSON Agent Configuration
{
"JSONAgent": {
"AdminLoginDurationMinutes": 60,
"AdminSecretMinimumLength": 8,
"ConsumerWaitSeconds": 1,
"EnableHostTerminal": true,
"EnableSwaggerUI": true,
"HelperAssembly": "C:/PATH/TO/RecordHelpers.dll",
"PeriodicServices": {
"Entries": [
{
"Name": "PeriodicServiceTest",
"Program": "C:/PATH/TO/PROGRAM.EXE",
"Arguments": "--arg1 --arg2",
"WorkingDirectory": "",
"CronExpression": "* * * * *",
"Priority": 1,
"Enabled": true,
"PauseEnabled": false
}
]
},
"KafkaClientId": "DEFAULT_JSON_AGENT1",
"KafkaConsumerGroup": "DEFAULT_JSON_AGENT",
"LogCacheMaxRows": 1000,
"LogFilePath": "C:/PATH/TO/LOGFILES",
"LogToFile": true,
"SleepSeconds": 1,
"TopicToWrite": "DEFAULT_REPLICATOR_JSON",
"VerboseLogging": false
}
}
Configuration Properties
| Property | Type | Description |
|---|---|---|
| AdminLoginDurationMinutes | Integer | How many minutes the agent UI is valid before the user must log in again (default 60) |
| AdminSecretMinimumLength | Integer | The minimum acceptable length for the admin secret or password (default 8) |
| ConsumerWaitSeconds | Integer | How long the agent should wait each time it tries to consume a Kafka message (default 1) |
| EnableHostTerminal | Boolean | Should the host login terminal be available in the UI? |
| EnableSwaggerUI | Boolean | Should the ISAM Agent expose API information via SwaggerUI? |
| HelperAssembly | String | The path to a .NET assembly containing code-generated record helper classes |
| PeriodicServices | Object | Hosted commands that run on a cron schedule |
| PeriodicServices.Entries | Object[] | An array of periodic service entries |
| ...Entry.Name | String | Job name |
| ...Entry.Program | String | The command to run |
| ...Entry.Arguments | String | Command line arguments |
| ...Entry.WorkingDirectory | String | The working directory to be set for the running program |
| ...Entry.CronExpression | String | A valid cron expression that defines when the job should run |
| ...Entry.Priority | Integer | Job priority (1 is the highest, then 2, etc.) (default 1) |
| ...Entry.Enabled | Boolean | Is the job enabled? (default false) |
| ...Entry.PauseEnabled | Boolean | Can the service be paused by an administrator? (default false) |
| KafkaClientId | String | The name or ID to use for the Kafka consumer (required, no default) |
| KafkaConsumerGroup | String | The name or ID to use for the Kafka consumer group (required, no default) |
| LogCacheMaxRows | Integer | The number of log messages retained in memory for the UI (default 1000, max 5000) |
| LogFilePath | String | The path to the directory where a log file should be created |
| LogToFile | Boolean | Should a log file be created? (default false) |
| SleepSeconds | Integer | When no messages are waiting, the seconds to sleep before trying again (default 1) |
| TopicToWrite | String | The name of the Kafka topic to write JSON formatted messages to |
| VerboseLogging | Boolean | Should verbose logging be enabled? (default false) |