# Run-time environment configuration

These DataSource configuration items specify a DataSource application’s run-time environment.

**📌 NOTE**\
"_this DataSource application_" means the DataSource application for which you are defining the configuration. "_DataSource peer_" or "_peer_" means a DataSource application that this DataSource application communicates with.

## application-name

`application-name` specifies the name of this DataSource application. Certain other configuration items can use the `%a` parameter to refer to this name (the documentation for an item will tell you if you can do this).

**📌 NOTE**\
When you run the DataSource application under the [Caplin Deployment Framework](../deployment-framework/index.md), the Framework’s blade startup script automatically derives the application name from the blade name, so you don’t have to specify it in a configuration file.

**Use in:** C, Java

**Syntax:** `application-name <name>`

**Type:** string

**Default value:** [Name of the application’s binary executable file with no trailing `.exe`]

## application-root

`application-root` specifies the root directory path under which this DataSource application runs. Certain other configuration items can use the `%r` parameter to refer to this directory (the documentation for an item will tell you if you can do this).

**📌 NOTE**\
When you run the DataSource application under the [Caplin Deployment Framework](../deployment-framework/index.md), the Framework’s blade startup script automatically derives the application root directory path from the blade’s root directory within the Framework directory structure, so you don’t have to specify it in a configuration file.

**Use in:** C

**Syntax:** `application-root <root-directory-path>`

**Type:** string

**Default value:** +[current working directory]+

## daemon-enable

`daemon-enable` should be set to `TRUE` if you want this DataSource application to run as a Linux daemon process.

**📌 NOTE**\
When you run the DataSource application under the [Caplin Deployment Framework](../deployment-framework/index.md), the Framework’s blade startup script automatically sets this option to `TRUE`, so the application runs as a daemon.

**Use in:** C

**Syntax:** `daemon-enable <boolean>`

**Type:** boolean

**Default value:** `FALSE`

## ignore-missing-config-files

`ignore-missing-config-files` specifies when `TRUE` that the DataSource application shouldn’t terminate in error if it finds that a configuration file included in another configuration file doesn’t actually exist.

**Use in:** C, Java

**Syntax:** `ignore-missing-config-files <boolean>`

**Type:** boolean

**Default value:** `FALSE` (the DataSource application terminates in error if an included configuration file doesn’t exist)

## license-file

`license-file` specifies the name of the license file for this DataSource application.

The specified file name can contain the parameter `%a`, which is replaced by the DataSource [application-name](#application-name) at run time. The default value of `license-file` is `license-%a.conf`.

The location of the license file depends on how the DataSource is deployed:

* **Standalone:** the license file is located in the DataSource’s `etc` directory.
* **Deployment Framework:** the license file is located in the `global_config/licenses` directory of the Deployment Framework.

For information on configuration items related to Liberator licensing, see [Liberator licensing configuration](../liberator/liberator-licensing-configuration.md).

**Use in:** C

**Syntax:** `license-file <license-filename>`

**Type:** string

**Default value:** `license-%a.conf`

## pid-filename

`pid-filename` specifies the location and name of the PID file where this DataSource application’s process ID is recorded.

The PID filename can contain the parameter `%a`, which is replaced by the DataSource [application-name](#application-name) at run time. The file path can contain the `%r` parameter, which is replaced by the root directory under which this DataSource application runs (see [application-root](#application-root)), and `%u`, which is replaced by the home directory of the user that the application runs as.

**Use in:** C, Java

**Syntax:** `pid-filename <file-path-and-filename>`

**Type:** string

**Default value:** `%r/var/%a.pid`

## runtime-user

`runtime-user` specifies a user to run this DataSource application as (applies to Linux only).

This item primarily applies to Liberator. To use port 80 (the default for HTTP connections) or 443 (the default for HTTPS connections), Liberator needs to be started as the `root` user. Setting the `runtime-user` configuration enables the Liberator to subsequently run as a less privileged user than `root`, but nevertheless continue to use ports 80 and 443.

**Use in:** C

**Syntax:** `runtime-user <user-name>`

**Type:** string

**Default value:** +[none]+
