# AdminConfig

**Kind:** Interface

**Source:** [`packages/microservices/external/kafka.interface.ts`](https://github.com/nestjs/nest/blob/master/packages/microservices/external/kafka.interface.ts#L262)

**Part of:** [Microservices](subsystem-packages-microservices)

`AdminConfig` defines configuration options for the Kafka admin client integration. It currently exposes retry behavior through `RetryOptions`, allowing administrative Kafka operations to handle transient failures consistently.

## Properties

| Property | Type |
|---|---|
| `retry` | `RetryOptions` |

## Diagram

```mermaid
graph LR
  AdminConfig[AdminConfig] --> Retry[retry: RetryOptions]
  Retry --> AdminClient[Kafka Admin Client Operations]
  AdminClient --> KafkaCluster[Kafka Cluster]
```

## Usage

```ts
import type { AdminConfig } from './kafka.interface';

const adminConfig: AdminConfig = {
  retry: {
    retries: 5,
    initialRetryTime: 300,
    maxRetryTime: 30_000,
  },
};

// Pass the configuration when creating or configuring Kafka admin services.
const kafkaOptions = {
  admin: adminConfig,
};
```

## AI Coding Instructions

- Provide a valid `RetryOptions` object for `retry`; do not omit it when constructing an `AdminConfig`.
- Keep retry values appropriate for Kafka administrative operations, which may fail temporarily during broker elections or network interruptions.
- Reuse the project's existing retry configuration conventions instead of introducing incompatible option names.
- Ensure values passed to `retry` match the `RetryOptions` type expected by the Kafka integration.
