Skip to main content
Version: 6.13

Patriot Configuration Files

Each of the Patriot component programs has its own configuration file containing application and system settings.

The files are located inside the Patriot install directory for each component, e.g. C:\Program Files (x86)\Patriot Systems Ltd\Patriot Data Service\AppSettings.json

The following headers in this document correspond to sub-sections in the corresponding config files.

The configuration system applies sensible defaults for all of these values. Only settings that you wish to change from the default values need to be included in the config file.

These settings must be put inside the root 'DataService'/'TaskService' section. For example:

{
"DataService": {
"SqlConnection": {
// sql connection settings (see below)
}
}
}

Note: the following types 'string' and 'boolean' refer to text and true/false respectively, both of which should be wrapped in quotation marks.

tip

Most settings can also be updated via the Patriot Configurator utility or from the settings pane on the Patriot client login window.

Data Service Configuration

SqlConnection

Controls how Patriot connects to SQL Server.

PropertyTypeDescription
ServerNamestringName of the SQL Server to connect to.
IntegratedSecuritybooleanIndicates whether or not to use Windows Authentication to authenticate to SQL.
UserNamestringUsername to authenticate to SQL. Ignored if 'IntegratedSecurity' is true.
PasswordstringPassword to authenticate to SQL. Ignored if 'IntegratedSecurity' is true.
MaxPoolSizenumberMaximum size of the SQL Connection pool. Must be at least 100.
FailoverFailover OptionsSQL Failover options.

Failover Options

PropertyTypeDescription
FailoverPartnerstringName of the secondary / failover SQL server, when using SQL Mirroring.
MultiSubnetFailoverbooleanIndicates if the failover crosses multiple network subnets. Improves recovery time during cluster failover.

Api

Settings relating to the Patriot REST / Web API. This is typically configured during ICA setup using the Utilities Program. Learn more.

PropertyTypeDescription
PortnumberTCP Port where Patriot will listen for API requests.
TokenSigningKeystringThe Base64-encoded token signing key used to issue API tokens.
TokenTimeoutTimeSpanThe amount of time that issued API tokens will be valid for, in HH:MM:SS (e.g. 00:01:30 ).
TokenIdleTimeoutTimeSpanThe amount of time that unused/idle API tokens will be valid for, in HH:MM:SS (e.g. 00:01:00 ).
TrustedDeviceExpiryDaysnumberThe number of days that a Trusted Device entry persists in the database (e.g. the amount of time before a user will have to re-register the device; default 180; minimum 7)
TrustedDeviceRegistrationCacheCapacitynumberThe number of entries that can simultaneously exist in the in-memory cache (e.g. the max number of simultaneous in-progress registrations; default 100)
TrustedDeviceRegistrationCacheDurationTimeSpanThe duration of a cache entry before auto-removal (e.g. the amount of time a user has to complete registration; default in HH:MM:SS 00:60:00)
TrustedDeviceChallengeCacheCapacitynumberThe number of entries that can simultaneously exist in the in-memory cache (e.g. the max number of simultaneous in-progress device re-authorization attempts; default 100)
TrustedDeviceChallengeCacheDurationTimeSpanThe duration of a cache entry before auto-removal (e.g. the amount of time the server has to verify a trusted device; default in HH:MM:SS 00:05:00)
note

As of 6.13.2.0, the token's lifetime is the minimum of the TokenTimeout, TrustedDeviceExpiryDays, and the User Expiry (whichever options are present). Learn more about providing ICA access.

The cache capacity settings are to mitigate DDoS-like attacks, as the endpoints are public. It may be useful to increase the values if many users are registering on Plink at the same time.

TrustedDeviceExpiryDays, TrustedDeviceRegistrationCacheCapacity, TrustedDeviceRegistrationCacheDuration, TrustedDeviceChallengeCacheCapacity, and TrustedDeviceChallengeCacheDuration are applicable from Patriot version 6.13.2.0, Plink version 13.2.2.

Signal Logging

Settings for configuring signal logging, particularly the handling of failed signals.

PropertyTypeDescription
FaultHandlingFault Handling OptionsSignal fault handling options.

Fault Handling Options

PropertyTypeDescription
BackoffMode"Constant" / "Exponential"Delay mode between retries. Constant is the default mode and will standardise all delays to the same time. Exponential will exponentially increase the time between retries.
DelayTimeSpanThe amount of time between retries, in HH:MM:SS (default 00:00:01).
MaxDelayTimeSpanThe maximum amount of time between retries to avoid Exponential mode growing too long, in HH:MM:SS (default 00:00:30).

JsonSdk

Settings relating to the legacy Patriot JSON API. Learn more.

PropertyTypeDescription
EnabledbooleanEnables the legacy JSON api.
PortnumberTCP Port where Patriot will listen for API requests.
EncryptedbooleanEnables encryption.
UserNamestringValid username required to authenticate requests.
PasswordstringValid password required to authenticate requests.

WcfApi

Settings relating to the internal Patriot WCF API, used by the Task Service and Desktop Client to connect.

PropertyTypeDescription
PortnumberTCP Port where Patriot will listen for API requests.
EncryptedbooleanEnables encryption and authentication.
TransportWcfTransportModeControls wire protocol for communication. Supported: Tcp (default), or Http
TokenSigningKeystringThe Base64-encoded token signing key used to issue WCF tokens
AllowInsecureLoginMethodsbooleanControls whether insecure login methods like Automatic Windows Username login are allowed
ApiKeysApi Key OptionsOptions for authenticating Task Service connections

Api Key Options

PropertyTypeDescription
ValidatebooleanControls whether API Keys are validated for incoming Task Service connections
KeysArray of Api Key ItemAn array of known API keys

Api Key Item

PropertyTypeDescription
ApiKeystringThe API Key that is allowed access

StorageDirectories

Storage directory location configuration settings. Learn more.

PropertyTypeDescription
LocalStorageDirectorystringLocal Storage directory where the service stores local files not stored in the database.

Archiving

Settings relating to archiving of old data to reduce storage requirements. Learn more.

PropertyTypeDescription
EnabledbooleanIndicates if archive database is enabled.
SignalArchivingRateLimitnumberThe maximum expected average signal logging rate per client per day. In rare cases this may need to be increased via the dataservice config file.

Ulc

Settings relating to ULC compliance.

PropertyTypeDescription
SerialNostringULC Serial Number.

Telemetry

PropertyTypeDescription
PerformanceCountersPerformance Counter OptionsWindows Performance Counter export options.
OpenTelemetryOpenTelemetry OptionsOpenTelemetry export options.

Performance Counter Options

Settings for exporting system statistics to Windows Performance Counters. Learn more.

PropertyTypeDescription
EnabledbooleanIndicates whether or not performance counter data should be emitted (default: true).

OpenTelemetry Options

Settings for exporting system statistics via OpenTelemetry. Learn more.

PropertyTypeDescription
SendMetricsbooleanIndicates whether or not metrics should be sent.
EndpointUriDestination server to which the exporter is going to send telemetry.
ProtocolOtlpExportProtocolSupported: Grpc (default) or HttpProtobuf.
HeadersstringOptional headers to include in request (eg. api key).
TimeoutMillisecondsnumberThe max waiting time (in milliseconds) for the backend to process each batch. Defaults to 10,000ms.

Task Service Configuration

ConnectionSettings

Data service details (server, port, encryption settings).

PropertyTypeDescription
ServerNamestringHost name or IP address of the Patriot Data Service server to connect to.
ServerPortnumberPort of the Patriot Data server to connect to.
EncryptionEnabledbooleanIndicates whether or not encryption is enabled.
AlternateAuthenticationAlternate Authentication OptionsIgnored unless 'Encryption' setting is enabled.
TransportWcfTransportModeControls wire protocol for communication. Supported: Tcp (default), or Http
ApiKeystringThe API Key sent to the server to authenticate requests

Alternate Authentication Options

These settings are ignored unless the 'Encryption' setting is enabled. Learn more.

PropertyTypeDescription
EnabledbooleanIndicates whether alternate authentication is enabled.
DomainstringDomain used for alternate authentication.
UserstringValid user required to authenticate requests.
PasswordstringValid password required to authenticate requests.

BackupConnectionSettings

Alternative addresses to connect to data service. Learn more.

PropertyTypeDescription
AutomaticFailOverbooleanIndicates whether automatic failover is enabled.
BackupServerNamestringName of the backup / failover Patriot server.
AutomaticFailBackTimeTimeSpanTimespan determining when to swap to backup server, in HH:MM:SS (e.g. 00:02:00 ).
AlternatePrimary1Endpoint OptionsFirst alternate primary database server.
AlternatePrimary2Endpoint OptionsSecond alternate primary database server.
AlternateBackup1Endpoint OptionsFirst alternate backup database server.
AlternateBackup1Endpoint OptionsSecond alternate backup database server.

Endpoint Options

PropertyTypeDescription
AddressstringHostname or IP address e.g. patriotserver or 192.168.1.100.
PortnumberIP Port number.

StorageDirectories

Local storage directory where the task service stores its files.

PropertyTypeDescription
LocalStorageDirectorystringPath to the directory.

Patriot Client Configuration

The Patriot client configuration is stored in PatriotV6Client.exe.config in the Patriot client installation directory.

tip

Typically this is C:\Program Files (x86)\Patriot Systems\Patriot Version 6 Client\PatriotV6Client.exe.config

All Patriot client settings are in a list within the <applicationSettings> element. Missing settings can be added by adding a new <setting> item to the list

<setting name="MyNewSetting" serializeAs="String">
<value>MySettingValue</value>
</setting>
PropertyDescription
ServiceComputerNameHost name or IP address of the primary Patriot Data Service
BackupServiceNameHost name or IP address of the backup Patriot Data Service
UsePrimaryServerTrue: Connect to ServiceComputerName. False: Connect to BackupServiceName
ServicePortNoTCP Port to use when connecting to Data Service
ServiceTransportWire Protocol to use when communicating with Data Service. Supported: Tcp or Http
UseEncryptionIndicates whether or not encryption is enabled. Learn more.
UseAlternateAuthenticationIndicates whether alternate authentication is enabled
AuthenticationDomainDomain used for alternate authentication
AuthenticationUserUser used for alternate authentication
WebSocketServerPortDesktop API Dialler listen port. Learn More
WebSocketApiKeyDesktop API Dialler Api Key. Learn More
DiallerTypePreferred phone dialler to use, when multiple diallers are available
WebSocketClientDiallerUrlWebsocket Client Dialler Server URL. Learn More
WebSocketClientDiallerConfigWebsocket Client Dialler Configuration. Learn More