# Configuration Options

There are plenty of options for the agent that can be controlled using Environment variables.

| Environment Variable                                                      | Description                                                                                                                                                  |
| ------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `STEADYBIT_AGENT_KEY`                                                     | <p>The API key the agent uses<br><strong>Example:</strong> <code>foobar</code></p>                                                                           |
| `STEADYBIT_AGENT_REGISTER_URL`                                            | <p>The baseUrl where the agent registers.<br><strong>Default:</strong> <code><https://platform.steadybit.com></code></p>                                     |
| `STEADYBIT_LOG_LEVEL`                                                     | <p>Sets the loglevel for the com.steadybit logger<br><strong>Default:</strong> <code>INFO</code></p>                                                         |
| `LOG_LEVEL`                                                               | <p>Sets the loglevel for the root logger<br><strong>Default:</strong> <code>INFO</code></p>                                                                  |
| `STEADYBIT_LOG_FORMAT`                                                    | <p>Sets the log format for the console logger (<code>json</code> or <code>text</code>)<br><strong>Default:</strong> <code>text</code></p>                    |
| `STEADYBIT_AGENT_REGISTER_TIMEOUT`                                        | <p>Timeout for the registration request.<br><strong>Default:</strong> <code>5s</code></p>                                                                    |
| `STEADYBIT_AGENT_REGISTER_INTERVAL`                                       | <p>The interval how often the agent registers at the platform.<br><strong>Default:</strong> <code>5s</code></p>                                              |
| `STEADYBIT_AGENT_EXPERIMENT_TIMEOUT`                                      | <p>Timeout for the request to connect to an experiment.<br><strong>Default:</strong> <code>5s</code></p>                                                     |
| `STEADYBIT_AGENT_EXPERIMENT_KEEP_ALIVE_INTERVAL`                          | <p>Interval how often a keep alive is sent during an experiment.<br><strong>Default:</strong> <code>2s</code></p>                                            |
| `STEADYBIT_AGENT_EXPERIMENT_KEEP_ALIVE_TIMEOUT`                           | <p>Timeout for a keep alive during an experiment<br><strong>Default:</strong> <code>10s</code></p>                                                           |
| `STEADYBIT_AGENT_WEBSOCKET_PING_INTERVAL`                                 | <p>Interval in seconds of the heartbeat for the websocket connection<br><strong>Default</strong>: <code>4s</code></p>                                        |
| `STEADYBIT_AGENT_EXTENSIONS_TIMEOUT_CONNECT`                              | <p>Connect timeout for extension communication<br><strong>Default</strong>: <code>10s</code></p>                                                             |
| `STEADYBIT_AGENT_EXTENSIONS_TIMEOUT_READ`                                 | <p>Read timeout for extension communication<br><strong>Default</strong>: <code>30s</code></p>                                                                |
| `STEADYBIT_AGENT_EXTENSIONS_TIMEOUT_CALL`                                 | <p>Call timeout for extension communication<br><strong>Default</strong>: <code>30s</code></p>                                                                |
| `STEADYBIT_AGENT_EXTENSIONS_AUTOREGISTRATION_NAMESPACE`                   | <p>Filter extension auto registration in Kubernetes to a given namespace.<br><strong>Default</strong>: <code>null</code></p>                                 |
| `SERVER_PORT`                                                             | <p>HTTP endpoint port<br><strong>Default:</strong> <code>42899</code></p>                                                                                    |
| `STEADYBIT_AGENT_PROXY_HOST`                                              | <p>Hostname of a proxy to access Steadybit platform<br></p>                                                                                                  |
| `STEADYBIT_AGENT_PROXY_PORT`                                              | <p>Port of a proxy to access Steadybit platform<br></p>                                                                                                      |
| `STEADYBIT_AGENT_PROXY_PROTOCOL`                                          | <p>Protocol of a proxy to access Steadybit platform<br>Valid values: HTTP, SOCKS4, SOCKS5<br><strong>Default:</strong> <code>http</code></p>                 |
| `STEADYBIT_AGENT_PROXY_USER`                                              | <p>Username of a proxy to access Steadybit platform<br></p>                                                                                                  |
| `STEADYBIT_AGENT_PROXY_PASSWORD`                                          | <p>Password of a proxy to access Steadybit platform<br></p>                                                                                                  |
| `STEADYBIT_AGENT_IDENTIFIER`                                              | <p>The identifier which will be used to register the agent at the platform<br><strong>Default:</strong> The agent will use the hostname as identifier</p>    |
| `STEADYBIT_AGENT_AUTH_PROVIDER`                                           | <p>The auth mechanism to use - <code>OAUTH2</code> or <code>AGENT-KEY</code></p><p><strong>Default:</strong> <code>AGENT-KEY</code></p>                      |
| `STEADYBIT_AGENT_AUTH_OAUTH2_CLIENT_ID`                                   | The public identifier of your OAuth 2.0 Client                                                                                                               |
| `STEADYBIT_AGENT_AUTH_OAUTH2_CLIENT_SECRET`                               | The client secret                                                                                                                                            |
| `STEADYBIT_AGENT_AUTH_OAUTH2_ISSUER_URI`                                  | The issuer uri of the identity provider                                                                                                                      |
| `STEADYBIT_AGENT_AUTH_OAUTH2_TOKEN_URI`                                   | The token uri of the identity provider to directly specify the URL to retrieve the access tokens from                                                        |
| `STEADYBIT_AGENT_AUTH_OAUTH2_AUDIENCE`                                    | Optional - Some provider needs the audience parameter to authenticate the client.                                                                            |
| `STEADYBIT_AGENT_AUTH_OAUTH2_AUTHORIZATION_GRAN_TYPE`                     | <p>The grant type to use either <code>client\_credentials</code> or <code>password</code>.<br><strong>Default:</strong> <code>client\_credentials</code></p> |
| `STEADYBIT_AGENT_AUTH_OAUTH_USERNAME`                                     | The username to use for the username flow                                                                                                                    |
| `STEADYBIT_AGENT_AUTH_OAUTH_PASSWORD`                                     | The username to use when using the password flow                                                                                                             |
| `STEADYBIT_AGENT_AUTH_OAUTH_CLIENT_CERT_CHAIN_FILE`                       | Optional - the x.509 client certificate to use for mutual TLS with the identity provider.                                                                    |
| `STEADYBIT_AGENT_AUTH_OAUTH_CLIENT_CERT_KEY_FILE`                         | Optional - the PKCS#8 encoded private key to use for mutual TLS with the identity provider                                                                   |
| `STEADYBIT_AGENT_AUTH_OAUTH_CLIENT_CERT_PASSWORD`                         | Optional - Password for the the PKCS#8 encoded private key to use for mutual TLS with the identity provider                                                  |
| `RESILIENCE4J.RETRY_INSTANCES_HTTPDISCOVERY_MAXATTEMPTS`                  | Optional - Resilience4j: The maximum number of attempts (including the initial call as the first attempt) for DiscoveryKit resources                         |
| `RESILIENCE4J.RETRY_INSTANCES_HTTPDISCOVERY_WAITDURATION`                 | Optional - Resilience4j: A fixed wait duration between retry attempts for DiscoveryKit resources                                                             |
| `RESILIENCE4J.RETRY_INSTANCES_HTTPDISCOVERY_ENABLEEXPONENTIALBACKOFF`     | Optional - Resilience4j: Enable or disable exponential backoff for DiscoveryKit resources                                                                    |
| `RESILIENCE4J.RETRY_INSTANCES_HTTPDISCOVERY_EXPONENTIALBACKOFFMULTIPLIER` | Optional - Resilience4j: The multiplier for exponential backoff for DiscoveryKit resources                                                                   |
| `STEADYBIT_AGENT_HTTP_DISCOVERY_USE_RETRY`                                | Optional - Resilience4j: Enable/Disable the retry mechanism. Default is true / enabled                                                                       |
| `STEADYBIT_AGENT_WEBCLIENT_USE_POOL`                                      | Optional - Be able to disable the netty connection pooling by setting environment variable STEADYBIT\_AGENT\_WEBCLIENT\_USE\_POOL=false. Default is true.    |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.steadybit.com/install-and-configure/install-agent/advanced-configuration.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
