# Configuration

> For the complete documentation index, see [llms.txt](https://docs.lertha.com/llms.txt).
> Any documentation page is available as raw Markdown by appending `.md` to its URL.

> Pointing application code at an orchestrator.

`EngineConnection.fromEnvironment()` reads:

| Variable | Meaning |
| --- | --- |
| `LERTHA_ADDRESS` | `host:port` of the orchestrator; default `127.0.0.1:7233`. The same variable the `lertha` CLI reads. |
| `LERTHA_NAMESPACE` | default `default` |

The same binary runs against `lertha dev` on a laptop or the production orchestrator with no
code change. Credentials for an authenticated orchestrator are documented with the
[auth work](/orchestrator/deploy#not-yet) when it ships.

```kotlin
EngineConnection.fromEnvironment().use { connection ->
    val orchestrator = connection.orchestrator()
    val runner = connection.runner("gateway")
}
```

`EngineConnection.to("engine.lertha.com:7233", namespace = "lertha")` is the explicit form.

## Data conversion

Inputs and outputs are Kotlin data classes serialised as JSON through Jackson with the Kotlin
module registered, so no-arg constructors are not required. Keep payloads small and stable:
they are recorded in every run's history.

## Secrets

Never in code or in run inputs. Production values come from Doppler into the process
environment, the same as the rest of the platform.
