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

# Environment Variables

> Environment variables read by the Autopilot controller and autoscaler.

The controller reads these environment variables (command-line flags take precedence).

| Variable                            | Description                                  | Default                  |
| ----------------------------------- | -------------------------------------------- | ------------------------ |
| `LOG_LEVEL`                         | Log level (`debug`, `info`, `warn`, `error`) | `info`                   |
| `DRY_RUN`                           | Set to `true` to enable dry-run              | `false`                  |
| `METRICS_ENDPOINT`                  | Prometheus URL                               | `http://prometheus:9090` |
| `REBALANCE_INTERVAL`                | Rebalance check interval                     | `5m`                     |
| `SCALE_COOLDOWN`                    | Cooldown between scale operations            | `10m`                    |
| `GKE_PROJECT_ID` or `GKE_PROJECT`   | GCP project ID                               | (none)                   |
| `GKE_LOCATION`                      | GKE cluster location                         | (none)                   |
| `GKE_CLUSTER_NAME` or `GKE_CLUSTER` | GKE cluster name                             | (none)                   |
| `NODE_POOL`                         | GKE node pool name                           | (none)                   |

The autoscaler reads `GKE_PROJECT`, `GKE_LOCATION`, `GKE_CLUSTER`, and `NODE_POOL` from the
environment as defaults for its corresponding flags.

<Note>
  Autopilot's environment variables keep their `GKE_*` / `OPS_AI_*` prefixes — they are
  runtime configuration keys, not brand names, and existing deployments depend on them.
</Note>
