# CD Only Agent Configuration Parameters

The Java CD Only Agent operates at runtime, and the parameters here can be used to modify its behavior in that runtime environment.

Some of these parameters are mandatory, while others simply offer a way to modify the default behavior to fit into your environment or workflow.

#### Ways to Configure Agent Parameters <a href="#ways-to-configure-agent-parameters" id="ways-to-configure-agent-parameters"></a>

The Go Agent supports three different ways to set configuration parameters:

* **Environment Variables** - Set via shell environment (e.g., `SEALIGHTS_TOKEN=your-token`)
* **CLI Flags** - Provided as command-line arguments (e.g., `-Dsl.token=your-token`)

Not all parameters can be set using all three methods. The reference table shows exactly which methods are available for each parameter, with empty cells indicating that method is not supported for that parameter.

#### Parameter Reference

| Parameter          | Required | CLI                  | Env Var            | Description                                                                                                                                                                                                                                                                    |
| ------------------ | -------- | -------------------- | ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `sl.token`         | Yes      | `-Dsl.token`         | `SL_TOKEN`         | The agent token as a string.                                                                                                                                                                                                                                                   |
| `sl.tokenFile`     | Yes      | `-Dsl.tokenFile`     | `SL_TOKENFILE`     | Path to the **agent token file**. Note: The token can also be placed in a file named `sltoken` in the same directory as the agent. In that case, this parameter is not required.                                                                                               |
| `sl.appName`       | Yes      | `-Dsl.appName`       |                    | The **name of your component**. This name will appear in the SeaLights dashboard and reports. This can be any name that represents your component.                                                                                                                             |
| `sl.buildName`     | Yes      | `-Dsl.buildName`     |                    | Name of the component's version. The exact same value must be provided for the same version of the service being deployed multiple times.                                                                                                                                      |
| `sl.labId`         | Yes      | `-Dsl.labId`         |                    | A **unique name** representing the environment where the component is deployed — for example, a machine IP or a label like `E2E-test-env-5`. Make sure the name is unique across all your test environments.                                                                   |
| `sl.includes`      | Yes      | `-Dsl.includes`      |                    | Comma-separated list of search patterns with wildcards (`*` = any string, `?` = any character) for packages to include in the scan. Example: `com.example.*,io.*.demo`. Note: Prepend with asterisk (e.g., `*com.example.*`) when running with servlet containers like Tomcat. |
| `sl.excludes`      | No       | `-Dsl.excludes`      |                    | Comma-separated list of search patterns for packages to exclude from the scan.                                                                                                                                                                                                 |
| `sl.workspace`     | No       | `-Dsl.workspace`     |                    | Folders to search for files to be scanned. Default is the current working directory.                                                                                                                                                                                           |
| `sl.filesincluded` | No       | `-Dsl.filesincluded` |                    | Comma-separated list of search patterns for files to include. Default is `*.class,*.jar,*.war,*.ear`. Note: Prepend with asterisk unless specifying full path.                                                                                                                 |
| `sl.filesexcluded` | No       | `-Dsl.filesexcluded` |                    | Comma-separated list of search patterns for files to exclude from the scan. Note: Prepend with asterisk unless specifying full path.                                                                                                                                           |
| `sl.recursive`     | No       | `-Dsl.recursive`     |                    | Whether to scan workspace paths recursively. Default is `true`.                                                                                                                                                                                                                |
| `sl.proxy`         | No       | `-Dsl.proxy`         |                    | Proxy for the agent to use when communicating with SeaLights.                                                                                                                                                                                                                  |
| `sl.tags`          | No       | `-Dsl.tags`          |                    | Free text comma-separated tags to help identify the agents in the cockpit.                                                                                                                                                                                                     |
| `sl.log.level`     | No       | `-Dsl.log.level`     | `SL_LOG_LEVEL`     | Sets the log level: `off`, `error`, `warn`, `info`, or `debug`.                                                                                                                                                                                                                |
| `sl.log.toConsole` | No       | `-Dsl.log.toConsole` | `SL_LOG_TOCONSOLE` | Set to `true` to enable log output to the console.                                                                                                                                                                                                                             |
| `sl.log.toFile`    | No       | `-Dsl.log.toFile`    | `SL_LOG_TOFILE`    | Set to `true` to enable log output to a file.                                                                                                                                                                                                                                  |
| `sl.log.folder`    | No       | `-Dsl.log.folder`    | `SL_LOG_FOLDER`    | Folder to save the log files.                                                                                                                                                                                                                                                  |
| `sl.log.filename`  | No       | `-Dsl.log.filename`  | `SL_LOG_FILENAME`  | Name of the log file.                                                                                                                                                                                                                                                          |
| `sl.log.count`     | No       | `-Dsl.log.count`     | `SL_LOG_COUNT`     | Maximum number of log files to create. Default: 10.                                                                                                                                                                                                                            |
| `sl.log.limit`     | No       | `-Dsl.log.limit`     | `SL_LOG_LIMIT`     | Maximum size of each log file in megabytes. Default: 10 MB.                                                                                                                                                                                                                    |

{% hint style="info" %}
For Java 9 and later, add `--add-opens=java.base/jdk.internal.loader=ALL-UNNAMED` to enable logging functionality.
{% endhint %}
