Documentation Index

Fetch the complete documentation index at: https://kb.lasernetgroup.com/llms.txt

Use this file to discover all available pages before exploring further.

Lasernet Core 11 Config Server Log File and Server Settings File

Prev Next

Log File

Lasernet Core 11 Config Server’s log file is:

C:\ProgramData\Lasernet\Lasernet 11\Config\Default\Config.lnlog

The Config.lnlog file contains status information about:

  • Database connections

  • Deployments

  • Token expiry

  • Migrations

  • Start and stop of the Config Service

  • Transactions between client apps and server

Server Settings File

The settings that control Lasernet Core 11 Config Server are stored in the following file:

C:\ProgramData\Lasernet\Lasernet 11\Config\Default\ServerSettings.json

The file contains settings for the following areas of the Config Server’s operation:

  • Database

  • Authentication

  • Bindings

  • CORS

  • Environments

  • Port

  • Runtime data directory

  • Automatically synchronize environments

It is recommended that you use Lasernet Service Manager to configure the Config Server. In this scenario, Lasernet Service Manager modifies ServerSettings.json and manages the file’s content.

However, in systems that are automatically deployed, or if it is not possible to use Lasernet Server Manager, you can configure the Config Server by manually modifying its ServerSettings.json file. The following information will help you to do this.

Database

Configuration structure (with placeholders):

{
    "Database": {
        "Database": "<Config Server database name>",
        "DictionaryDatabase": "<Dictionary database name>",
        "Interval": <database connection attempt interval>,
        "Password": "<database connection password>",
        "RequireEncryption": <toggle database connection encryption>,
        "Retries": <number of database connection attempts to make>,
        "Server": "<SQL Server instance that hosts the database>",
        "TrustServerCertificate": false,
        "Username": "<database identity username>"
    }
}

The Database object has the following properties:

Property

Type

Description

Database

String

The name of the Lasernet Config Server database.

DictionaryDatabase

String

If applicable, the name of the Dictionary database.

Interval

Number

The interval (in seconds) between each connection attempt.

Password

String

The password that accompanies Username.

If you are manually modifying and managing the content of ServerSettings.json, enter an unencrypted plain text password.

To use Windows authentication, leave this string empty.

Note

If you use Lasernet Service Manager to configure the Config Server, the password stored in ServerSettings.json is encrypted.

RequireEncryption

Boolean

Toggles database connection encryption. The appropriate setting depends on how SQL Server has been set up.

Retries

Number

The number of database connection attempts that Lasernet Config Server will make.

Server

String

The SQL Server instance that hosts the database.

This can be a host name or it can identify a particular SQL Server instance: <host name>\\<instance name>. Slashes must be escaped (\\).

TrustServerCertificate

Boolean

The appropriate setting depends on the database server’s configuration.

Username

String

The username of a database identity that has sufficient access to the Lasernet Config Server database.

To use Windows authentication, leave Username empty.

The identity that the Config Server uses to connect to its database must have permission to create and alter tables, and insert, update, and delete rows.

Authentication

Lasernet Core can use one of the following authentication modes:

  • Local Lasernet Core user authentication.

  • External user authentication (through OpenID Connect) that is integrated with an identity provider such as Microsoft Entra ID.

To configure Lasernet Core for Microsoft Entra ID authentication, see Guide to Configuring Microsoft Entra ID Authentication for Lasernet Core.

Configuration structure (with placeholders):

{
    "Service": {
        "Authentication": {
            "Providers": [{
                "ClientId": "<Application (client) ID>",
                "Default": true,
                "Name": "<Display name for the provider>",
                "OIDCMetadataEndpoint": "<OpenID Connect Metadata document URI>"
            },{
                <additional provider>
            }],
            "UseExternal": true
        }
    }
}

The Authentication object contains the following properties:

Property

Type

Description

Providers

Object array

Contains a list of named identity providers.

If UseExternal is true, you must define at least one provider.

One of the providers must be specified as the default provider. It will be used if the user does not select a provider when they log in to Lasernet Core.

UseExternal

Boolean

If false, Lasernet Core uses user identities defined in Lasernet Config Server.

If true, Lasernet Core uses externally defined user identities (OpenID Connect).

Each object in Providers contains the following properties:

Property

Type

Description

ClientID

String

Contains the Application (Client) ID identifying the App registration in Microsoft Entra ID.

Default

Boolean

Specifies whether the identity provider is the default.

If false, it is not the default identity provider.

If true, it is the default identity provider.

Name

String

The display name for the identity provider.

OIDCMetadataEndpoint

String

Contains the URI of the OpenID Connect Metadata document for the Microsoft Entra ID tenant.

The OpenID Connect Metadata document provides Lasernet Core with the information required to validate the JWT tokens issued by Microsoft Entra ID.

You can configure several different providers. To authenticate using a particular provider, the user must specify the name of the configured provider when they attempt to log in.

Bindings

You can configure several host names to bind with a local server certificate, so that a secured connection can be obtained via an IP address, the local host name, or a fully qualified domain name (FQDN).

Configuration structure (with placeholders):

{
    "Service": {
        "Bindings": [{
            "Hostname": "<host name to bind the certificate to>",
            "PFX": {
                "PFX": "<PFX certificate path and file name>",
                "Password": "<password for the PFX file>"
            },
            "Thumbprint": ""
        },{
            <additional provider>
        }]
}

If no bindings are configured, Lasernet Core will autogenerate self-signed certificates for localhost, the server’s host name, and the server’s fully qualified domain name (FQDN).

Lasernet Core can use certificates installed in the Windows certificate store (in the Computer certificates area) or certificates stored on disk as PFX files.

You must create a binding for every host name that clients will use to connect to Lasernet Config Server.

The Bindings object is an array of bindings. Each object in the array has the following properties:

Property

Type

Description

Hostname

String

The host name that the certificate will be bound to. Valid values are a host name (without a domain specified), a FQDN, or an IP address.

PFX

String

A path and filename to the certificate (including private key) stored in PFX format.

If this property is unused, this string is empty.

Password

String

The password for the PFX file.

If PFX is an empty string, you can omit Password.

Thumbprint

String

If specified, this forces Lasernet Core to use the certificate with the specified thumbprint in the Windows Certificate store.

If this property is unused, this string is empty.

If only Hostname is specified, Lasernet Core will attempt to find a suitable certificate for the specified host name in the Windows Certificate store. If no suitable certificate is found, Lasernet Core will generate a self-signed certificate for this host name.

CORS

The CORS object specifies CORS allowed origins for this Config Server.

By default, web browsers on the server that is running the Config Server can access Manage (the Lasernet Core administration tool) at https://localhost/lasernet/manage.

However, browsers running on other computers cannot access Manage at https://<config server name>/lasernet/manage (appropriately substitute <config server name>), unless you specify “allowed origins” that match the host names that clients will use to connect to Manage. If necessary, the allowed origins can include port numbers.

For example, if the server that will run Lasernet Config Server is named config-server, you must add an entry to the Allowed origins list for https://config-server. After you do this, browsers running on other computers can access Manage at https://config-server/lasernet/manage.

{
    "Service": {
        "CORS": [{
            "Origin": "<name that clients will use to connect to Manage>"
            },{
            <additional origin>
        }]
}

The CORS object has the following properties:

Property

Type

Description

Origin

String

Names that clients will use to connect to Manage. Valid values start with https:// followed by a host name (without a domain specified), a FQDN, or an IP address. If the Config Server is not running on its default HTTPS port (443), include the port number.

Environments

The Environments object specifies which Lasernet Core environments this Config Server manages.

Important

If you intend to use the Lasernet Service Manager and Lasernet Config web app to manage environments, do not add a Servers object to ServerSettings.json.

Configuration structure (with placeholders):

{
    "Service": {
        "Environments": [{
            "ClientSecret": "<client secret for the environment>",
            "Name": "<environment name>"
        },{
            <additional Lasernet Core environment>
        }]
    }
}

The Servers object is an array of server instances with the following format:

Property

Type

Description

ClientSecret

String

The client secret for that environment. You can copy this from Lasernet Service Manager.

Name

String

The environment name (specified when the environment was added). You can copy this from Lasernet Service Manager.

Port

The port number to run the Config Server on. In most situations, the default port number (443) is suitable. Use a different port number only if necessary to prevent port conflicts with other software running on the same server.

Example port configuration (with placeholders):

{
    "Service": {
        "Port": <port number>
    }
}

Property

Type

Description

Port

Number

The port number that Config Server will use.

The port number might be required when logging in to the Lasernet Core administration tool or when starting a Lasernet Core application such as Lasernet Developer.

Runtime Data Directory

The location where the Config Server stores configuration data, its job database (which tracks paused jobs, scheduled jobs, failed jobs, and combined jobs), grab data, and job data.

{
    "Service": {
        "RuntimeDataDirectory": "<folder location>"
    }
}

Property

Type

Description

RuntimeDataDirectory

String

The directory where the Config Server stores the data described above.

If RuntimeDataDirectory is an empty string, the default location is used. In most situations, this is satisfactory.

Slashes must be escaped (for example, \\).

Automatically Synchronize Environments

{
    "Service": {
        "SyncEnvironments": false
    }
}

Property

Type

Description

SyncEnvironments

Boolean

Specifies whether the Automatically synchronize Environments check box is selected in Lasernet Service Manager. This checkbox is on the Environments tab that is present when you configure Lasernet Config 11 in Lasernet Service Manager. For more information about this check box, see Configure Lasernet Config Server.

Example Server Setting File

In the following example, Lasernet Config Server is configured as follows:

  • Authentication

    • End users use external authentication and can log in with their Microsoft Entra ID user login (if they select from the identity provider list provided by the Lasernet Core application).

  • Bindings

    • End-users can access the Lasernet Config server through a secured connection via the listed host names and FQDNs.

  • Port

    • Lasernet Config Server is configured to communicate on port number 443.

  • Servers

    • This Config Server manages two Lasernet Core environments: Default and Prod.

  • Runtime data directory

    • The Config Server uses its default runtime data directory.

{
    "Database": {
        "Database": "LasernetConfig11",
        "DictionaryDatabase": "LasernetDictionary11",
        "Interval": 5,
        "Password": "qwerty",
        "RequireEncryption": true,
        "Retries": 30,
        "Server": "LN-WIN2022",
        "TrustServerCertificate": false,
        "Username": "sa"
    },
    "Service": {
        "Authentication": {
            "Providers": [{
                "ClientId": "999ee99f-9fc9-9a99-ad99-99999fd099e9",
                "Default": true,
                "Name": "Lasernet Group",
                "OIDCMetadataEndpoint": "https://login.microsoftonline.com/9999be9c-9c99-99bb-a6de-c999db099a99/v2.0/.well-known/openid-configuration"
            },{
                "ClientId": "9b9a0ce9-999b-999b-9a99-9999c99999c9",
                "Default": false,
                "Name": "Lasernet",
                "OIDCMetadataEndpoint": "https://login.microsoftonline.com/9999b99d-999e-9ec9-9d9a-b999b99999b9/v2.0/.well-known/openid-configuration"
            }],
            "UseExternal": true
        },
        "Bindings": [{
            "Hostname": "localhost",
            "PFX": {
                "PFX": ""
            },
            "Thumbprint": ""
        },{
            "Hostname": "ln-win2022",
            "PFX": {
                "PFX": ""
            },
            "Thumbprint": ""
        },{
            "Hostname": "ln-win2022.westeurope.cloudapp.azure.com",
            "PFX": {
                "PFX": ""
            },
            "Thumbprint": ""
        }],
        "Environments": [{
            "ClientSecret": "AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAA4csh0qF1sEi+zYWlVe/OrgQAAAACAAAAAAAQZgAAAAEAACAAAADQyIi2LU5RgTS4RRq/Q4lMSJ/YQA6Lb5iQJwndJ54GlwAAAAAOgAAAAAIAACAAAAA9i9hYUgeeGa3AR1JJtBMMXJrpyA9txOd52r+5nxONijAAAACNPhFZBJhHo3yOODVEBXcSfq/ZF5sWe+5wIcz9Hvpg3hdOqVZutaK52HSXqfBwk5dAAAAAhKyQOTia2gn/c9Pa/w1EPbdF9JRFO5qAczxOoCgCGRl+aWYKmfMWLvsmzRv6OY8uC7L6AipWVn7jmlVqX2RU4A==",
            "Name": "Default"
        },{
            "ClientSecret": "AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAA4csh0qF1sEi+zYWlVe/OrgQAAAACAAAAAAAQZgAAAAEAACAAAABIuKm+u1B+uj1tZ2byBsQbxznA4CiyiqV0VhxTqev37gAAAAAOgAAAAAIAACAAAAA+fbW4Ij1+2Pydjfr006PwIreidmpOvZz21m0p7MmUIDAAAAC1LJiSNF6MRxYUn3scQHYd/J9duSSWZ1EjZyVcylminweVU8ITafSoRR+mFUVkFmRAAAAAAf9DAyClgXynFvt7VbolLam4oJSOrXafajYtmcHGU6Js1UYDwNQ4/51/5WeS6dZrWXWMwAtQebkdub54nVZ51Q==",
            "Name": "Prod"
        }],
        "Port": 443,
        "RuntimeDataDirectory": "",
        "SyncEnvironments": false
    }
}

Was this page helpful? Let us know at knowledgebase.feedback@lasernetgroup.com