magma-orc8r-libs
- Canonical Telco
Channel | Revision | Published | Runs on |
---|---|---|---|
latest/edge | 30 | 27 Apr 2023 | |
latest/edge | 23 | 01 Feb 2023 |
juju deploy magma-orc8r-libs --channel edge
Deploy Kubernetes operators easily with Juju, the Universal Operator Lifecycle Manager. Need a Kubernetes cluster? Install MicroK8s to create a full CNCF-certified Kubernetes system in under 60 seconds.
Platform:
charms.magma_orc8r_libs.v0.orc8r_base
-
- Last updated 14 Mar 2023
- Revision Library version 0.15
Orc8rBase Library.
This library is designed to enable developers to easily create new charms for Magma orc8r. This
library contains all the logic necessary to wait for necessary relations and be deployed.
When initialised, this library binds a handler to the parent charm's pebble_ready
event. This will ensure that the service is configured when this event is triggered.
The constructor simply takes the following:
- Reference to the parent charm (CharmBase)
- The startup command (str)
Getting Started
To get started using the library, you just need to fetch the library using charmcraft
.
cd some-charm
charmcraft fetch-lib charms.magma_orc8r_libs.v0.orc8r_base
Then, to initialise the library:
from charms.magma_orc8r_libs.v0.orc8r_base import Orc8rBase
from charms.observability_libs.v0.kubernetes_service_patch import KubernetesServicePatch
from ops.charm import CharmBase
from ops.main import main
class MagmaOrc8rHACharm(CharmBase):
def __init__(self, *args):
super().__init__(*args)
self._service_patcher = KubernetesServicePatch(self, [("grpc", 9180)])
startup_command = (
"/usr/bin/envdir "
"/var/opt/magma/envdir "
"/var/opt/magma/bin/ha "
"-logtostderr=true "
"-v=0"
)
self._orc8r_base = Orc8rBase(self, startup_command=startup_command)
Charms that leverage this library also need to specify a provides
relation in their
metadata.yaml
file. For example:
provides:
magma-orc8r-ha:
interface: magma-orc8r-ha
Index
class Orc8rBase
Description
Instantiated by Orchestrator charms. None
Methods
Orc8rBase. __init__( self , charm: CharmBase , startup_command: str , required_relations: list , additional_environment_variables: dict )
Description
Observes common events for all Orchestrator charms. None
Orc8rBase. namespace( self )
Returns Kubernetes namespace.
Returns
Kubernetes namespace