Package Orchestration API Specifications
Reference for the Nephio Porch APIs
Nephio APIs primarily consist of a collection of Go API objects, CRDs and other KRM types, specified and maintained in the Nephio API repository. This page aims to give a high level overview of the objects that are available and their relationships, and is based on an original document developed by Tal Liron.
The aim is to keep these diagrams as simple as possible for now and only convey the important aspects of the modelled entities. As such they are intended to give a high-level overview of the entities and relationships that can be accessed and modified via the Nephio API, and provide reference to detailed documentation, generated from the code, where available.
This is a high-level overview of the Nephio models and their relationships, with links to the relevant API documentation where available, and to the source code where not.
flowchart TD %% Topology constructs NFTopology-- 1 .. n -->NFInstance NFInstance -. refers .-> NFTemplate NFTemplate -- 1..n --> NFInterface NFInterface -. "refers (by name)" .-> NetworkInstance NFTemplate-.refers..->Capacity NFTemplate -. "refers (by name)" .-> NFClass NFClass -. refers .-> PackageRevisionReference style NFTopology fill:#00CC00 click NFTopology "https://doc.crds.dev/github.com/nephio-project/api/topology.nephio.org/NFTopology/v1alpha1@v2.0.0" "NFTopology" style NFInstance fill:#00CC00 click NFInstance "https://github.com/nephio-project/api/blob/main/nf_topology/v1alpha1/nf_topology_types.go#L59" "NFInstance" style NFTemplate fill:#00CC00 click NFTemplate "https://github.com/nephio-project/api/blob/main/nf_topology/v1alpha1/nf_topology_types.go#L45" "NFTemplate" style NFInterface fill:#00CC00 click NFInterface "https://github.com/nephio-project/api/blob/main/nf_topology/v1alpha1/nf_topology_types.go#L35" "NFInterface" style Capacity fill:#00CC00 click Capacity "https://doc.crds.dev/github.com/nephio-project/api/req.nephio.org/Capacity/v1alpha1@v2.0.0" "Capacity" style NFClass fill:#00CC00 click NFClass "https://doc.crds.dev/github.com/nephio-project/api/req.nephio.org/NFClass/v1alpha1@v2.0.0" "NFClass" style PackageRevisionReference fill:#00CC00 click PackageRevisionReference "https://github.com/nephio-project/api/blob/main/nf_topology/v1alpha1/nf_class_types.go#L25" "PackageRevisionReference" %% Workload constructs DataNetwork -- 1..n --> Pool DataNetwork -. refers .-> NetworkInstance NFDeployment -. refers .-> Provider NFDeployment -. refers .-> Capacity NFDeployment -- 1..n --> InterfaceConfig NFDeployment -- 1..n --> NetworkInstance NFDeployment -. refers .-> ParametersRefs style DataNetwork fill:#CCCCFF click DataNetwork "https://doc.crds.dev/github.com/nephio-project/api/req.nephio.org/DataNetwork/v1alpha1@v2.0.0" "DataNetwork" style NetworkInstance fill:#CCCCFF click NetworkInstance "https://doc.crds.dev/github.com/nephio-project/api/req.nephio.org/NetworkInstance/v1alpha1@v2.0.0" "NetworkInstance" style Pool fill:#CCCCFF click Pool "https://github.com/nephio-project/api/blob/main/workload/v1alpha1/nf_deployment_types.go#L165" "Pool"
The detailed API description is here
The detailed API description of Porch is here
Reference for the Nephio Porch APIs
Reference for the Nephio Topology and Networking APIs