> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ocient.com/llms.txt
> Use this file to discover all available pages before exploring further.

# LAT Service Configuration

export const OKTA = "OKTA®";

export const Ocient = "Ocient®";

export const Kafka = "Apache® Kafka®";

export const JVM = "JVM®";

export const CentOS = "CentOS®";

<Warning>
  Data Pipelines are now the preferred method for loading data into the {Ocient} System. For details, see [Load Data](/load-data).
</Warning>

The LAT service is configurable using Service Configuration.

This configuration is derived from three sources, with the following precedence order:

1. Environment Variables
2. Properties File
3. Code Defaults

## Configuration File Backup

When you install a new LAT instance or upgrade the existing instance, LAT creates a backup file of the `/etc/lat/lat.conf` as `/etc/lat/override.conf` and creates a new version of the `/etc/lat/lat.conf` file. The `/etc/lat/overrirde.conf` file does not control the LAT configuration. If you made prior changes to `lat.conf`, you must review `override.conf` and add any custom values into the revised `lat.conf`.

## Environment Variables

### `LAT_DEFAULT_WORKERS`

Default number of workers used by a newly configured pipeline.

| **Environment Variable:** | LAT\_DEFAULT\_WORKERS |
| ------------------------- | --------------------- |
| **Property**:             | lat.default.workers   |
| **Default**:              | Server core count     |

### `LAT_SHUTDOWN_DURATION`

Duration, in milliseconds, to wait prior to termination on shutdown.

| **Environment Variable:** | LAT\_SHUTDOWN\_DURATION |
| ------------------------- | ----------------------- |
| **Property**:             | lat.shutdown.duration   |
| **Default**:              | 120000                  |

### `LAT_UDT_PATH`

Directory containing zero or more user defined transformation (UDT) jars. Ensure that the specified path can be accessed by the LAT (e.g., {CentOS} does not allow the LAT to access the home directory of an administrative user).

| **Environment Variable:** | LAT\_UDT\_PATH |
| ------------------------- | -------------- |
| **Property**:             | lat.udt.path   |
| **Default**:              | null           |

### `LAT_API_PORT`

REST API and Metrics port.

| **Environment Variable:** | LAT\_API\_PORT |
| ------------------------- | -------------- |
| **Property**:             | lat.api.port   |
| **Default**:              | 8080           |

### `LAT_DATA_PATH`

Path to the LAT data directory. This directory is used to store persistent data related to pipelines (`pipeline/`) and sinks (`sink/`). In almost all cases, using the [LAT Client Command Line Interface](/lat-client-command-line-interface) is preferred over editing the files in this directory manually. Ensure that the specified path can be accessed by the LAT (e.g., CentOS does not allow the LAT to access the home directory of an administrative user).

| **Environment Variable:** | LAT\_DATA\_PATH |
| ------------------------- | --------------- |
| **Property**:             | lat.data.path   |
| **Default**:              | .lat-data       |

### `LAT_AUTO_START`

On LAT startup, automatically starts running a Pipeline if one is present. This only supports pipelines with {Kafka} sources; File sources will not automatically start even if this configuration is set to `true`.

| **Environment Variable:** | LAT\_AUTO\_START |
| ------------------------- | ---------------- |
| **Property**:             | lat.auto.start   |
| **Default**:              | false            |

### `LAT_ALLOW_LOG_ORIGINAL_RECORDS`

Allow the original records that are being loaded to be logged when errors occur. This setting must be enabled for `log_original_records` to be enabled.

This setting only affects pipelines that log errors to the error log file.

| **Environment Variable:** | LAT\_ALLOW\_LOG\_ORIGINAL\_RECORDS |
| ------------------------- | ---------------------------------- |
| **Property**:             | lat.allow\.log.original.records    |
| **Default**:              | false                              |

### `LAT_MAX_RETRIEVABLE_ERRORS`

A limit on the number of errors that you can retrieve using the `pipeline errors` command of the LAT client.

| **Environment Variable:** | LAT\_MAX\_RETRIEVABLE\_ERRORS |
| ------------------------- | ----------------------------- |
| **Property**:             | lat.max.retrievable.errors    |
| **Default**:              | 1000                          |

### `LAT_API_PROXY_HOST`

API proxy host for {OKTA} authorization requests.

| **Environment Variable:** | LAT\_API\_PROXY\_HOST |
| ------------------------- | --------------------- |
| **Property**:             | lat.api.proxy.host    |
| **Default**:              | null                  |

### `LAT_API_PROXY_PORT`

API proxy port for Okta authorization requests.

| **Environment Variable:** | LAT\_API\_PROXY\_PORT |
| ------------------------- | --------------------- |
| **Property**:             | lat.api.proxy.PORT    |
| **Default**:              | null                  |

### `LAT_API_OAUTH_DOMAIN`

Okta authorization domain.

| **Environment Variable:** | LAT\_API\_OAUTH\_DOMAIN |
| ------------------------- | ----------------------- |
| **Property**:             | lat.api.oauth.domain    |
| **Default**:              | null                    |

### `LAT_API_OAUTH_ENDPOINTS`

A list of LAT API endpoints that Okta should apply authentication on. To override, provide a comma-delimited list, e.g., `/endpoint1,/endpoint2,/endpoint3`.

| **Environment Variable:** | LAT\_API\_OAUTH\_ENDPOINTS |
| ------------------------- | -------------------------- |
| **Property**:             | lat.api.oauth.endpoints    |
| **Default**:              | null                       |

### `LAT_API_OAUTH_SERVER`

Okta authorization server.

| **Environment Variable:** | LAT\_API\_OAUTH\_SERVER |
| ------------------------- | ----------------------- |
| **Property**:             | lat.api.oauth.server    |
| **Default**:              | null                    |

### `LAT_API_CERT_PATH`

API cert file path. Ensure that the specified path can be accessed by the LAT (e.g., CentOS does not allow the LAT to access the home directory of an administrative user).

| **Environment Variable:** | LAT\_API\_CERT\_PATH |
| ------------------------- | -------------------- |
| **Property**:             | lat.api.cert.path    |
| **Default**:              | null                 |

### `LAT_DNS_CACHE_TTL`

The time-to-live (TTL) in seconds that the LAT should use for its DNS cache.
This configuration is only supported as an Environment Variable or as Default.

| **Environment Variable:** | LAT\_DNS\_CACHE\_TTL |
| ------------------------- | -------------------- |
| **Property**:             | N/A                  |
| **Default**:              | 30                   |

### `LAT_MEMORY`

Maximum {JVM} heap memory. This configuration is only supported as an Environment Variable or as Default when running the LAT through the provided package service file or through the provided `lat.sh` script. If directly running the Jar JVM heap memory should be set through command line arguments.

| **Environment Variable:** | LAT\_MEMORY |
| ------------------------- | ----------- |
| **Property**:             | N/A         |
| **Default**:              | 32G         |

### `LAT_MEMORY_DIRECT`

Maximum JVM direct memory. This configuration is only supported as an Environment Variable or as Default when running the LAT through the provided package service file or through the provided `lat.sh` script. If directly running the Jar JVM heap memory should be set through command line arguments.

| **Environment Variable:** | LAT\_MEMORY\_DIRECT |
| ------------------------- | ------------------- |
| **Property**:             | N/A                 |
| **Default**:              | 32G                 |

## Override Environment Variables

The recommended way to manage the production service configuration when LAT is running as a daemon is using environment variables or the `/etc/systemd/system/lat.service.d/override.conf` file.

To override LAT environment variables as a `systemd` service, there are two recommended commands that edit the `etc/systemd/system/lat.service.d/override.conf` file.

1. Run `sudo vim etc/systemd/system/lat.service.d/override.conf` or `sudo systemctl edit lat`.
2. Insert the environment variables to override in the file. Save and exit the editor.

**Configuration File Example:**

```shell Shell theme={null}
[Service]
Environment=LAT_MEMORY_DIRECT=200G
Environment=LAT_MEMORY=200G
```

## Related Links

[Ingest Data with Legacy LAT Reference](/ingest-data-with-legacy-lat-reference)

[LAT Packaging and Installation](/lat-packaging-and-installation)
