◷ Reading Time: 6 minutes
When Configurator has finished configuring, it also creates a configuration file for each installed node (Identity, Asset Management, Execution Controller, Execution Worker, Workbench, Events Gateway, and Content Storage).
FlexRule Server has a separate configuration file for each instance.
Config Files
There is a unique configuration file for each node:
- Identity Configuration File: FlexRule.OPEN.Identity.dll.config
- Asset Management Configuration File: FlexRule.OPEN.AssetManagement.dll.config
- Execution Controller Configuration File: FlexRule.OPEN.ExecutionController.dll.config
- Execution Worker Configuration File: FlexRule.OPEN.ExecutionWorker.dll.config
- Workbench Configuration File: FlexRule.OPEN.Workbench.dll.config
- Gateways Configuration File: FlexRule.OPEN.EventsGateway.dll.config
- Content Storage Configuration File: FlexRule.OPEN.Storage.dll.config
Example Node Configurations
Identity config
<configSections>
<section name="flexrule.server" type="FlexRule.Server.Configurations.ServerConfigFile, FlexRule.Server.Library" requirePermission="false" />
</configSections>
<flexrule.server>
<settings>
<add key="ConsoleLiveOutput" value="false" />
<add key="EncryptionPassword" value="7AGVdw3iJ2KSSjmv7327a2tv@-4C3RuQ" />
<add key="AuthSigningKey" value="39xJ68-dX8KCa99tXs9PQq3@EZes2pLi" />
<add key="ControllerWorkerSharedSecret" value="eSQfB26@48fNuf6Wbs-79X8N8qTkQ7Sx" />
<add key="LogFolder" value="C:\FlexRuleServer\Identity\Logs" />
<add key="LogEnabled" value="true" />
<add key="DbAddress" value="Data Source=.\SQLEXPRESS;Initial Catalog=FRS_11.4.2983;User ID=sa;Password=123;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False" />
</settings>
<node>
<add key="GenericLogger" value="FlexRule.Server.Logging.LogFileWriter, FlexRule.Server.Library" />
<add key="ApiAddress" value="http://localhost:9000" />
</node>
<backgroundTasks></backgroundTasks>
<monitoring enable="true" includeDetails="true" prettifyDetails="true">
<channels></channels>
</monitoring>
</flexrule.server>
Execution Controller config
<configSections>
<section name="flexrule.server" type="FlexRule.Server.Configurations.ServerConfigFile, FlexRule.Server.Library" requirePermission="false" />
</configSections>
<flexrule.server>
<settings>
<add key="ConsoleLiveOutput" value="false" />
<add key="EncryptionPassword" value="7AGVdw3iJ2KSSjmv7327a2tv@-4C3RuQ" />
<add key="AuthSigningKey" value="39xJ68-dX8KCa99tXs9PQq3@EZes2pLi" />
<add key="ControllerWorkerSharedSecret" value="eSQfB26@48fNuf6Wbs-79X8N8qTkQ7Sx" />
<add key="LogFolder" value="C:\FlexRuleServer\ExecutionController\Logs" />
<add key="LogEnabled" value="true" />
<add key="DbAddress" value="Data Source=.\SQLEXPRESS;Initial Catalog=FRS_11.4.2983;User ID=sa;Password=123;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False" />
</settings>
<node>
<add key="GenericLogger" value="FlexRule.Server.Logging.LogFileWriter, FlexRule.Server.Library" />
<add key="ApiAddress" value="http://localhost:9001" />
<add key="IdentityAddress" value="http://localhost:9000" />
</node>
<backgroundTasks>
<add name="Job Scheduler" enabled="true" type="FlexRule.Server.Jobs.JobScheduler, FlexRule.Subsystems.Bus" />
<add name="Job Reporter" enabled="true" type="FlexRule.Server.Jobs.JobReporter, FlexRule.Subsystems.Bus" />
</backgroundTasks>
<monitoring enable="" includeDetails="true" prettifyDetails="true">
<channels></channels>
</monitoring>
</flexrule.server>
Workbench config
<configSections>
<section name="flexrule.server" type="FlexRule.Server.Configurations.ServerConfigFile, FlexRule.Server.Library" requirePermission="false" />
</configSections>
<flexrule.server>
<settings>
<add key="ConsoleLiveOutput" value="false" />
<add key="EncryptionPassword" value="7AGVdw3iJ2KSSjmv7327a2tv@-4C3RuQ" />
<add key="AuthSigningKey" value="39xJ68-dX8KCa99tXs9PQq3@EZes2pLi" />
<add key="LogFolder" value="C:\FlexRuleServer\Workbench\Logs" />
<add key="LogEnabled" value="true" />
<add key="DbAddress" value="Data Source=.\SQLEXPRESS;Initial Catalog=FRS_11.4.2983;User ID=sa;Password=123;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False" />
</settings>
<node>
<add key="GenericLogger" value="FlexRule.Server.Logging.LogFileWriter, FlexRule.Server.Library" />
<add key="WorkbenchAddress" value="http://localhost:9010" />
<add key="WorkbenchPath" value="Workbench" />
<add key="IdentityAddress" value="http://localhost:9000" />
<add key="ExecutionControllerAddress" value="http://localhost:9001" />
<add key="AssetManagementAddress" value="http://localhost:9004" />
<add key="StudioAddress" value="http://localhost:9006" />
</node>
</flexrule.server>
Common Configuration Settings
In the examples above, some configurations appear more often than others, depending on what the node requires. By default, the node Configurators will set all required values upon installation.
Secruity
- EncryptionPassword: Used to encrypt User, Client, and Agent account information when stored in the database.
- AuthSigningKey: The key used by Clients and Agents when signing the authentication token.
- ControllerWorkerSharedSecret: A key shared by ExecutionController and ExecutionWorker to identify each other.
Database
- DbAddress: The connection string value that allows a node to access the shared Database for Server functions. All nodes share the same Database.
Hosting Address
- ApiAddress: The IP address and Port number the configured node is listening for API requests on. (For all nodes, except Workbench)
- WorkbenchAddress: (Only for Workbench) It is the same as
ApiAddressbut specifically only for the Workbench configuration file. - WorkbenchPath: The relative path from the configuration file and node assets to the front-end web assets.
Node Addresses
- IdentityAddress: The IP address and Port number of the Identity node.
- ExecutionControllerAddress: The IP address and Port number of the Execution Controller node. All interactions with the Execution Worker node are first handled by the Execution Controller.
- AssetManagementAddress: The IP address and Port number of the Asset Management node.
- StudioAddress: The IP address and Port number of the Studio node.
Logs Folder
- LogFolder: The path where logs generated by this node are stored.
- LogEnabled: If the node should generate logs.
Live Console Outputs
- ConsoleLiveOutput: If the node should send events to the node console window.