Skip to main content

The Racora API

You run a Racora network by declaring two kinds of Kubernetes resources and reading what they report back. Nothing else in the cluster is yours to manage: the CU planes, the DUs, their configuration and the core's subscriber database are generated from these two.

ResourceGroup and versionShort nameDeclaresReconciled by
NRCellracora.io/v1alpha1cellone cell: its carrier, radio, placement, neighbors and stateracora-controller
Subscriberracora.io/v1alpha1simone SIM: its IMSI and a Secret holding its keysracora-core-controller

Both are namespaced and live in racora-system, where the controllers watch.

Spec Is What You Want, Status Is What Happened​

You write spec; the controller writes status. Three things write into an NRCell's spec besides you: the controller fills in a temporary PCI when you declare none, the Intelligence Plane retunes a PCI that collides, and automatic neighbor relations add and remove the relations they own.

  • An NRCell turns into a DU in distributed-unit, an entry in the CU-CP's configuration, and on the first cell a CU plane scaled from zero. Its status carries the identity the controller assigned (sectorId, gnbDuId, nci), the PCI and where it came from, the applied neighbors, a phase and conditions (NRCell Status and Conditions). Delete the last cell and the CU plane scales back to zero.
  • A Subscriber turns into an entry in whichever core runs, through the core provider's adapter. Its status says whether the SIM reached the core (Provisioned), is waiting, is wrong, or belongs to a core Racora does not provision (Add Subscribers).

What Is Not in the API​

Install-time choices are chart values, not resources: the core provider, the network identity (global.network), placement, the registry. You set them through the installer or a values file, and the chart values reference lists them. Runtime commands to the CU-CP and DUs exist for diagnostics (Runtime Commands); a change made that way is not recorded and does not survive a restart, which is why every operator change goes through the resources above.

Every field, with its type, default and range, is in the NRCell API and Subscriber API references.