-
Notifications
You must be signed in to change notification settings - Fork 36
Modelling of Nephio API objects #126
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
218787e
e6259f3
9c27ea1
c168336
873e3a0
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| 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 | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Let's remove this until it is only an empty chapter.
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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 | ||
|
|
||
| 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">}} |
Uh oh!
There was an error while loading. Please reload this page.