---
title: Charmhub | istio_metadata interface
description: Interfaces describe the relation between two charms. This interface shows
  opinionated, standardized interface specifications for charm relations.
url: https://charmhub.io/integrations/istio_metadata
---

# istio\_metadata

## Overview

The `istio_metadata` interface lets an **Istio control plane charm** share information about its installation with charms that need to interoperate with Istio. The provider publishes a small piece of metadata (currently the root namespace where Istio is installed); requirers read it to configure their integration with Istio.

## Direction

This is a unidirectional interface where the provider sends data and the requirer only receives data. There is no data sent back from the requirer side.

```
flowchart TD
    Provider -- root_namespace --> Requirer
```

## Behavior

* **Provider (Istio control plane charm)**: Publishes the metadata to the application data bag, typically on `leader_elected` and on this relation's `relation_joined` events. Only the leader unit may write the application data bag.
* **Requirer**: Consumes the metadata when the relation is populated. The requirer is expected to use `limit: 1` for this relation, since the metadata describes a single Istio installation.

## Relation Data

[[Pydantic Schema]](https://github.com/canonical/charmlibs/blob/main/interfaces/istio_metadata/interface/vv0/schema.py)

On the provider side, the application data bag must contain the following field:

* `root_namespace` (string, required): The root namespace where Istio is installed (for example, `istio-system`).

### Provider

#### Example

```
  application-data:
    root_namespace: istio-system
```

### Requirer

N/A

## Charms implementing this interface

### Providers

### Requirers

## Other charms using this interface

### Providers

* [istio-k8s](https://charmhub.io/istio-k8s)

### Requirers
