---
title: Charmhub | Deploy Kratos using Charmhub - The Open Operator Collection
description: Deploy the latest version of Kratos as a Kubernetes Operator on any cloud.
url: https://charmhub.io/kratos/libraries/kratos_info
---

# Kratos

[Identity Charmers](https://charmhub.io/publisher/identity-charmers "View all packages from Identity Charmers")

* [Identity Charmers](https://charmhub.io/publisher/identity-charmers "View all packages from Identity Charmers")

Platform:

stable 565

```
juju deploy kratos
```

[Learn to deploy on juju >](https://juju.is/docs/juju/manage-applications)

[Toggle side navigation](https://charmhub.io/kratos/libraries/kratos_info#drawer)

## charms.kratos.v0.kratos\_info

* [*Docstrings*Docstrings](https://charmhub.io/kratos/libraries/kratos_info)
  [*Code*Source code](https://charmhub.io/kratos/libraries/kratos_info/source-code)
* + Download

    Fetch library

    ```
    charmcraft fetch-lib charms.kratos.v0.kratos_info
    ```

    [Download kratos\_info.py](https://charmhub.io/kratos/libraries/kratos_info/download)
  + *Last updated* 27 Apr 2026
  + *Revision* Library version 0.6

Interface library for sharing kratos info.

This library provides a Python API for both requesting and providing kratos deployment info,
such as endpoints, namespace and ConfigMap details.

##### Getting Started

To get started using the library, you need to fetch the library using `charmcraft`.

```
cd some-charm
charmcraft fetch-lib charms.kratos.v0.kratos_info
```

To use the library from the requirer side:
In the `metadata.yaml` of the charm, add the following:

```
requires:
  kratos-info:
    interface: kratos_info
    limit: 1
```

Then, to initialise the library:

```
from charms.kratos.v0.kratos_info import (
    KratosInfoRelationError,
    KratosInfoRequirer,
)
Class SomeCharm(CharmBase):
    def __init__(self, *args):
        self.kratos_info_relation = KratosInfoRequirer(self)
        self.framework.observe(self.on.some_event_emitted, self.some_event_function)
    def some_event_function():
        # fetch the relation info
        try:
            kratos_data = self.kratos_info_relation.get_kratos_info()
        except KratosInfoRelationError as error:
            ...
```

---

Index

* [class KratosInfoRelationReadyEvent](https://charmhub.io/kratos/libraries/kratos_info#kratosinforelationreadyevent)
* [class KratosInfoProviderEvents](https://charmhub.io/kratos/libraries/kratos_info#kratosinfoproviderevents)
* [class KratosInfoProvider](https://charmhub.io/kratos/libraries/kratos_info#kratosinfoprovider)
* + [def \_\_init\_\_(
    self,
    charm,
    relation\_name)](https://charmhub.io/kratos/libraries/kratos_info#kratosinfoprovider-__init__)
* + [def send\_info\_relation\_data(
    self,
    admin\_endpoint,
    public\_endpoint,
    external\_url,
    providers\_configmap\_name,
    schemas\_configmap\_name,
    configmaps\_namespace,
    mfa\_enabled,
    oidc\_webauthn\_sequencing\_enabled,
    verification\_enabled,
    feature\_flags)](https://charmhub.io/kratos/libraries/kratos_info#kratosinfoprovider-send_info_relation_data)
* [class KratosInfoRelationError](https://charmhub.io/kratos/libraries/kratos_info#kratosinforelationerror)
* [class KratosInfoRelationMissingError](https://charmhub.io/kratos/libraries/kratos_info#kratosinforelationmissingerror)
* + [def \_\_init\_\_(
    self)](https://charmhub.io/kratos/libraries/kratos_info#kratosinforelationmissingerror-__init__)
* [class KratosInfoRelationDataMissingError](https://charmhub.io/kratos/libraries/kratos_info#kratosinforelationdatamissingerror)
* + [def \_\_init\_\_(
    self,
    message)](https://charmhub.io/kratos/libraries/kratos_info#kratosinforelationdatamissingerror-__init__)
* [class KratosInfoRequirer](https://charmhub.io/kratos/libraries/kratos_info#kratosinforequirer)
* + [def \_\_init\_\_(
    self,
    charm,
    relation\_name)](https://charmhub.io/kratos/libraries/kratos_info#kratosinforequirer-__init__)
* + [def is\_ready(
    self)](https://charmhub.io/kratos/libraries/kratos_info#kratosinforequirer-is_ready)
* + [def get\_kratos\_info(
    self)](https://charmhub.io/kratos/libraries/kratos_info#kratosinforequirer-get_kratos_info)

#### class KratosInfoRelationReadyEvent

Description

Event to notify the charm that the relation is ready. None

#### class KratosInfoProviderEvents

Description

Event descriptor for events raised by `KratosInfoProvider`. None

#### class KratosInfoProvider

Description

Provider side of the kratos-info relation. None

Methods

KratosInfoProvider.
\_\_init\_\_(

*self*

,
charm: CharmBase

,
relation\_name: str
)

KratosInfoProvider.
send\_info\_relation\_data(

*self*

,
admin\_endpoint: str

,
public\_endpoint: str

,
external\_url: str

,
providers\_configmap\_name: str

,
schemas\_configmap\_name: str

,
configmaps\_namespace: str

,
mfa\_enabled: bool

,
oidc\_webauthn\_sequencing\_enabled: bool

,
verification\_enabled: bool

,
feature\_flags
)

Description

Updates relation with endpoints, config and configmaps info. None

#### class KratosInfoRelationError

Description

Base class for the relation exceptions. None

#### class KratosInfoRelationMissingError

Description

Raised when the relation is missing. None

Methods

KratosInfoRelationMissingError.
\_\_init\_\_(

*self*
)

#### class KratosInfoRelationDataMissingError

Description

Raised when information is missing from the relation. None

Methods

KratosInfoRelationDataMissingError.
\_\_init\_\_(

*self*

,
message: str
)

#### class KratosInfoRequirer

Description

Requirer side of the kratos-info relation. None

Methods

KratosInfoRequirer.
\_\_init\_\_(

*self*

,
charm: CharmBase

,
relation\_name: str
)

KratosInfoRequirer.
is\_ready(

*self*
)

KratosInfoRequirer.
get\_kratos\_info(

*self*
)

Description

Get the kratos info. None
