Skip to main content

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:

MethodStatusNotes
Direct HTTP API to K8s API❌ Not RecommendedLow-level and error-prone
Kubernetes CLI or SDKâś… SupportedSuitable for advanced users
BubbleRAN’s rApp SDK✅ RecommendedSimplified and abstracted API access
brc Command Line Toolđźš§ Coming SoonCLI tool designed for operator usage