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

# magma-orc8r-certifier

[Canonical Telco](https://charmhub.io/publisher/telco-charmers "View all packages from Canonical Telco")

* [Canonical Telco](https://charmhub.io/publisher/telco-charmers "View all packages from Canonical Telco")

Platform:

stable 65

```
juju deploy magma-orc8r-certifier
```

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

[Toggle side navigation](https://charmhub.io/magma-orc8r-certifier/libraries/cert_controller#drawer)

## charms.magma\_orc8r\_certifier.v0.cert\_controller

* [*Docstrings*Docstrings](https://charmhub.io/magma-orc8r-certifier/libraries/cert_controller)
  [*Code*Source code](https://charmhub.io/magma-orc8r-certifier/libraries/cert_controller/source-code)
* + Download

    Fetch library

    ```
    charmcraft fetch-lib charms.magma_orc8r_certifier.v0.cert_controller
    ```

    [Download cert\_controller.py](https://charmhub.io/magma-orc8r-certifier/libraries/cert_controller/download)
  + *Last updated* 11 Jan 2023
  + *Revision* Library version 0.6

Cert Controller Library.

##### Getting started

```
charmcraft fetch-lib charms.magma_orc8r_certifier.v0.cert_controller
```

###### Requirer Charm

```
class CertControllerRequires(Object):

    on = CertControllerRequirerCharmEvents()

    def __init__(self, charm, relationship_name: str):
        self.relationship_name = relationship_name
        self.charm = charm
        super().__init__(charm, relationship_name)
        self.framework.observe(
            charm.on[relationship_name].relation_joined, self._on_relation_changed
        )
        self.framework.observe(
            charm.on[relationship_name].relation_changed, self._on_relation_changed
        )

    def _on_relation_changed(self, event):
        relation_data = event.relation.data
        certificate = relation_data[event.unit].get("certificate")
        self.on.certificate_available.emit(certificate=certificate)
```

---

Index

* [class CertificateRequestEvent](https://charmhub.io/magma-orc8r-certifier/libraries/cert_controller#certificaterequestevent)
* + [def \_\_init\_\_(
    self,
    handle,
    relation\_id)](https://charmhub.io/magma-orc8r-certifier/libraries/cert_controller#certificaterequestevent-__init__)
* + [def snapshot(
    self)](https://charmhub.io/magma-orc8r-certifier/libraries/cert_controller#certificaterequestevent-snapshot)
* + [def restore(
    self,
    snapshot)](https://charmhub.io/magma-orc8r-certifier/libraries/cert_controller#certificaterequestevent-restore)
* [class CertificateAvailableEvent](https://charmhub.io/magma-orc8r-certifier/libraries/cert_controller#certificateavailableevent)
* + [def \_\_init\_\_(
    self,
    handle,
    certificate,
    private\_key)](https://charmhub.io/magma-orc8r-certifier/libraries/cert_controller#certificateavailableevent-__init__)
* + [def snapshot(
    self)](https://charmhub.io/magma-orc8r-certifier/libraries/cert_controller#certificateavailableevent-snapshot)
* + [def restore(
    self,
    snapshot)](https://charmhub.io/magma-orc8r-certifier/libraries/cert_controller#certificateavailableevent-restore)
* [class CertControllerProviderCharmEvents](https://charmhub.io/magma-orc8r-certifier/libraries/cert_controller#certcontrollerprovidercharmevents)
* [class CertControllerRequirerCharmEvents](https://charmhub.io/magma-orc8r-certifier/libraries/cert_controller#certcontrollerrequirercharmevents)
* [class CertControllerProvides](https://charmhub.io/magma-orc8r-certifier/libraries/cert_controller#certcontrollerprovides)
* + [def \_\_init\_\_(
    self,
    charm,
    relationship\_name)](https://charmhub.io/magma-orc8r-certifier/libraries/cert_controller#certcontrollerprovides-__init__)
* + [def set\_certificate(
    self,
    relation\_id,
    certificate,
    private\_key)](https://charmhub.io/magma-orc8r-certifier/libraries/cert_controller#certcontrollerprovides-set_certificate)
* [class CertControllerRequires](https://charmhub.io/magma-orc8r-certifier/libraries/cert_controller#certcontrollerrequires)
* + [def \_\_init\_\_(
    self,
    charm,
    relationship\_name)](https://charmhub.io/magma-orc8r-certifier/libraries/cert_controller#certcontrollerrequires-__init__)

#### class CertificateRequestEvent

Description

Dataclass for Certificate request events. None

Methods

CertificateRequestEvent.
\_\_init\_\_(

*self*

,
handle

,
relation\_id: int
)

Description

Sets relation id. None

CertificateRequestEvent.
snapshot(

*self*
)

Description

Returns event data. None

CertificateRequestEvent.
restore(

*self*

,
snapshot
)

Description

Restores event data. None

#### class CertificateAvailableEvent

Description

Dataclass for Certificate available events. None

Methods

CertificateAvailableEvent.
\_\_init\_\_(

*self*

,
handle

,
certificate: str

,
private\_key: str
)

Description

Sets certificate and private key. None

CertificateAvailableEvent.
snapshot(

*self*
)

Description

Returns event data. None

CertificateAvailableEvent.
restore(

*self*

,
snapshot
)

Description

Restores event data. None

#### class CertControllerProviderCharmEvents

Description

All custom events for the CertControllerProvider. None

#### class CertControllerRequirerCharmEvents

Description

All custom events for the CertControllerRequirer. None

#### class CertControllerProvides

Description

Class to be instantiated by provider of controller certificates. None

Methods

CertControllerProvides.
\_\_init\_\_(

*self*

,
charm: CharmBase

,
relationship\_name: str
)

Observes relation joined event.

Arguments

charm

Juju charm

relationship\_name
(str)

Relation name

CertControllerProvides.
set\_certificate(

*self*

,
relation\_id: int

,
certificate: str

,
private\_key: str
)

Sets certificates in relation data.

Arguments

relation\_id
(str)

Relation ID

certificate
(str)

TLS Certificate

private\_key
(str)

Private Key

Returns

None

#### class CertControllerRequires

Description

Class to be instantiated by requirer of controller certificates. None

Methods

CertControllerRequires.
\_\_init\_\_(

*self*

,
charm: CharmBase

,
relationship\_name: str
)

Observes relation joined and relation changed events.

Arguments

charm

Juju charm

relationship\_name
(str)

Relation name
