Kratos

  • Identity Charmers
Channel Revision Published Runs on
latest/stable 397 24 Apr 2024
Ubuntu 22.04
latest/edge 497 15 Nov 2024
Ubuntu 22.04
0.4/edge 495 07 Nov 2024
Ubuntu 22.04
0.3/edge 419 05 Jul 2024
Ubuntu 22.04
0.2/stable 406 26 Jun 2024
Ubuntu 22.04
0.2/edge 406 02 May 2024
Ubuntu 22.04
0.1/edge 383 29 Sep 2023
Ubuntu 22.04
juju deploy kratos
Show information

Platform:

charms.kratos.v0.kratos_info

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:
            ...

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 )

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