Driver Service Configuration
Due to distributed IOTA Vue architecture - each on-premise data driver installation requires 3 steps:
- Install the on-premise driver service
- Register the data driver in IOTA Vue user interface.
- Configure server connections per each registered data driver
This section covers the on-premise driver service configuration.
Warning
Even though the Python (PYT) Driver comes with preset configuration file - It is still required to specify path to local Python dll location. This configuration approach is designed to prevent online users from remote access of local storage
On every startup - Python Driver reads its configuration from the file named the same as executable: iota.pytdrv.json
. For secure NATs bus communication, the NKey private key file named as privatekey.nk
must reside next to iota.pytdrv.json
configuration file.
During the first Python Driver installation, the installer copies an auto generated configuration (.json) file and private key file to ProgramData folder:
{ProgramData}\IOTA\Drivers\PYT-Driver_{Region Name}_{Site Name}
Warning
Any subsequent Python Driver updates will not affect the configuration and private key files in ProgramData folder.
Configuration File parameters
Parameter name | Required | Default Value | Data Type | Description |
---|---|---|---|---|
driverid | β« | null | string | Driver Id - used for logging purposes only |
debug | β« | 0 | int | Debug verbose level: 0 - errors only, 1 - warnings, 2 - information, 3 - debug |
natsurl | π’ | null | string | NATs server url with port |
publickey | π’ | null | string | NATs NKey public key string. Private key must be defined in file: privatekey.nk and located in the same folder as iota.pytdrv.json |
reqtopic | π’ | null | string | NATs topic on which driver listens for requests |
statstopic | β« | null | string | NATs topic for sending driver's stats |
logstopic | β« | null | string | NATs topic for sending driver's logs |
metricstopic | β« | null | string | NATs topic for sending driver's metrics |
metricsmsec | β« | 30000 | int | How often in milliseconds to send metrics data. Default: 30000 = 30 sec |
enablemetrics | β« | true | bool | Enables metrics reporting |
healthtopic | π’ | iota.health | string | NATs topic for sending driver's health |
healthmsec | β« | 10000 | int | How often in milliseconds to send health data. Default: 10000 = 10 sec |
logfilecount | β« | 10 | int | Number of rolling log files |
logfilesize | β« | 2097152 | int | Number of bytes per each log file. Default: 2097152 bytes = 2 Mb |
logscanmsec | β« | 30000 | int | How often in milliseconds to append data to log files. Default: 30000 = 30 sec |
settings | π’ | 30000 | object | Driver side configuration to define Python dll file path to be used for script execution |
Example
{
"driverid": "pyt-demo",
"natsurl": "mon.iota-demo.com:443",
"reqtopic": "us-east-1.site-demo.pyt.request",
"statstopic": "us-east-1.site-demo.stats",
"logstopic": "us-east-1.site-demo.pyt.logs",
"publickey": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"metricstopic": "us-east-1.site-demo.metrics",
"metricsmsec": 30000,
"healthtopic": "iota.health",
"healthmsec": 10000,
"enablemetrics": true,
"debug": 2,
"logfilecount": 10,
"logfilesize": 2097152,
"logscanmsec": 10000,
"settings": {
"pythondll": "C:\\Program Files\\Python312\\python312.dll"
}
}
Settings section
Parameter Name | Data Type | Description |
---|---|---|
pythondll | string | Required File path to Python dynamic link library (DLL) to be used for Python script executions. |
Example
"settings": {
"pythondll": "C:\\Program Files\\Python312\\python312.dll"
}