# Service Mode

## Summary

**Service Mode** sets which service or services to run. It accepts a comma-separated list. When set to `all` (the default), Pomerium runs in [all-in-one mode](https://www.pomerium.com/docs/internals/configuration.md#all-in-one-vs-split-service-mode).

To instead run in [split service mode](https://www.pomerium.com/docs/internals/configuration.md#discrete-services), you will need to deploy multiple instances of Pomerium: at least one replica of each of the four services.

## How to configure

**Core:**

| **Config file keys** | **Environment variables** | **Type** | **Default** |
| :------------------- | :------------------------ | :------- | :---------- |
| `services`           | `SERVICES`                | `string` | `all`       |

### Options

- `all`
- `authenticate`
- `authorize`
- `proxy`
- `databroker`
- `cache` (accepted as an alias for `databroker`)

### Examples

```yaml
services: authenticate,proxy
```

```bash
SERVICES=authenticate,proxy
```

**Enterprise:**

`services` is a bootstrap configuration setting and is not configurable in the Console.

**Kubernetes:**

**Service Mode** is not customizable in Kubernetes
