APIs
ODIN exposes a set of Application Programming Interfaces (APIs) that allow users to apply policies, initiate monitoring tasks, and manage the control logic of the network.
ODIN is implemented as a Kubernetes (K8s) Operator, built using the Operator SDK framework. As such, its APIs are provided through Custom Resource Definitions (CRDs). These CRDs enable users to define the desired system behavior in a declarative way. The ODIN controllers then reconcile the current system state toward the desired state based on these definitions.
Exposed Custom Resource Definitions (CRDs)​
ODIN defines the following CRDs:
-
Dynamic xApp CRD
Defines a dynamic xApp to be deployed on demand based on orchestration logic or runtime requirements. -
Monitoring Job CRD
Describes a monitoring job where one or more xApps are deployed to observe and report on specified RAN metrics. -
Policy Job CRD
Describes a policy job where one or more xApps are deployed to enforce specific policies in the access network.
Communication with ODIN​
There are multiple ways to interact with ODIN. The recommended methods prioritize abstraction and ease of use:
Method | Status | Notes |
---|---|---|
Direct HTTP API to K8s API | ❌ Not Recommended | Low-level and error-prone |
Kubernetes CLI or SDK | âś… Supported | Suitable for advanced users |
BubbleRAN’s rApp SDK | ✅ Recommended | Simplified and abstracted API access |
brc Command Line Tool | đźš§ Coming Soon | CLI tool designed for operator usage |