Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
73 changes: 73 additions & 0 deletions content/en/docs/apis/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
---
title: "Models and APIs"
type: docs
weight: 5
description: Reference for the Nephio models and APIs
---

# Nephio APIs

## Overview

Nephio APIs primarily consist of a collection of Go API objects, CRDs and other KRM types,
specified and maintained in the [Nephio API repository](https://github.com/nephio-project/api).
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](https://docs.google.com/document/d/1-5nlpY4FbuhWtdKTvIqPOv4bWmA6zx6TdHoEfk9Jc_Q/edit)
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.


## Topology and Network APIs

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.

```mermaid
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"

```


## Porch
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's remove this until it is only an empty chapter.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think having a recognition that content is needed here is good. I would work on this over the next few days and make a new PR for that


TBD

7 changes: 7 additions & 0 deletions content/en/docs/apis/porch/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
title: "Package Orchestration API Specifications"
type: docs
weight: 5
description: Reference for the Nephio Porch APIs
---
{{< iframe src="https://doc.crds.dev/github.com/nephio-project/porch@v2.0.0" sub="https://doc.crds.dev/github.com/nephio-project/porch@v2.0.0">}}
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
---
title: "API Specifications"
type: docs
weight: 5
description: Reference for the Nephio APIs
---

---
title: "Topology and Networking API Specifications"
type: docs
weight: 5
description: Reference for the Nephio APIs
---
{{< iframe src="https://doc.crds.dev/github.com/nephio-project/api@v2.0.0" sub="https://doc.crds.dev/github.com/nephio-project/api@v2.0.0">}}