Why This document provides background context for Package Orchestration, which is further elaborated in a dedicated document. Configuration as Data Configuration as Data is an approach to management of configuration (incl. configuration of infrastructure, policy, services, applications, etc.) which: makes configuration data the source of truth, stored separately from the live state uses a uniform, serializable data model to represent configuration separates code that acts on the configuration...| Start on Nephio Documentation
Flux CD provides a set of Kubernetes controllers to enable a GitOps driven deployment of helm charts. In this example, we deploy the flux helm and source controllers via a kpt package to the target workload cluster. Then, we can utilize the flux Custom Resources defined in another test kpt package to deploy an example helm chart. Prerequisites: [Nephio R1 sandbox]/content/en/docs/guides/install-guides/install-guides/_index.md): Set up the Nephio sandbox environment. Access to the Nephio Web U...| Start on Nephio Documentation
The Helm to Operator Codegen SDK offers a streamlined solution for translating existing Helm charts into Kubernetes operators with minimal effort and cost. By utilizing the Helm to Operator Codegen SDK, users can efficiently convert existing Helm charts into Kubernetes operators. This transition enables users to leverage the advanced capabilities provided by Kubernetes operators, such as enhanced automation, lifecycle management, and custom logic handling. Overall, the SDK facilitates a smoot...| Start on Nephio Documentation
The Helm to Operator Codegen SDK offers a streamlined solution for translating existing Helm charts into Kubernetes operators with minimal effort and cost. The Flow Diagram In a nutshell, the Helm-Charts are converted to YAML files using the values provided in “values.yaml”. Then, each Kubernetes Resource Model (KRM) in the YAML is translated into Go code, employing one of two methods. If the resource is Runtime-Supported, it undergoes a conversion process where the KRM resource is first ...| Start on Nephio Documentation
Some of these, like the resource-backend, will move out of the “required” category in later releases. Even if you do not use these directly in your installation, the CRDs that come along with them are necessary. Note If you want to use a version other than that at the tip of Nephio catalog repo, then replace the @main suffix on the package URLs on the kpt pkg get commands below with the tag of the version you wish to use.| Start on Nephio Documentation
This page is draft and the separation of the content to different categories is not clearly done. Note If you want to use a version other than that at the tip of Nephio catalog repo, then replace the @main suffix on the package URLs on the kpt pkg get commands below with the tag of the version you wish to use. Porch This “Package Orchestration” component provides the Kubernetes APIs for Repositories, PackageRevisions, PackageRevisionResources, PackageVariants, and PackageVariantSets.| Start on Nephio Documentation
Why Customers who want to take advantage of the benefits of Configuration as Data can do so today using a kpt CLI and kpt function ecosystem, including functions catalog. Package authoring is possible using a variety of editors with YAML support. That said, a delightful UI experience of WYSIWYG package authoring which supports broader package lifecycle, including package authoring with guardrails, approval workflow, package deployment, and more, is not yet available.| Start on Nephio Documentation
You can install Porch by either using one of the released versions, or building Porch from sources. Prerequisites Note Porch should run on any kubernetes cluster and should work on any cloud. We have just started by documenting one known-good configuration: GCP and GKE. We would welcome comparable installation instructions or feedback from people that try it out on other clouds / configurations. To run one of the released versions of Porch on GKE, you will need:| Start on Nephio Documentation
Introduction There are many ways to assemble a Nephio installation. This Installation Guide describes the common pieces across environments, and describes the choices that need to be made to create a “Bring Your Own Cluster” Nephio installation. Because there are so many combinations, a comprehensive guide is not practical. Instead, several guides showing opinionated installations are available. Prerequisites Regardless of the specific choices you make, you will need the following prerequ...| Start on Nephio Documentation
Introduction This Installation Guide will set up and run a Nephio demonstration environment. This environment is a single VM that will be used in the exercises to simulate a topology with a Nephio management cluster and three workload clusters. Installing on GCE GCE Prerequisites You will need an account in GCP and gcloud installed on your local environment. Create a Virtual Machine on GCE gcloud compute instances create --machine-type e2-standard-16 \ --boot-disk-size 200GB \ --image-family=...| Start on Nephio Documentation
In this guide, you will set up Nephio with: Management Cluster: GKE Standard with auto scaling enabled Cluster Provisioner: Kubernetes Config Connector (KCC), hosted as a managed service via Config Controller (CC). Workload Clusters: GKE Gitops Tool: Config Sync Git Provider: Google Cloud Source Repositories will be the git provider for cluster deployment repositories. Some external repositories will be on GitHub. Web UI Auth: Google OAuth 2.0 Ingress/Load Balancer: Ingress with a GKE-specifi...| Start on Nephio Documentation
This page is draft and the separation of the content to different categories is not clearly done. In this guide, you will set up Nephio with: Management Cluster: OpenShift with Advanced Cluster Management Cluster Provisioner: Assisted Service Workload Clusters: OpenShift Cluster or Single Node OpenShift Cluster or HyperShift Cluster or Remote Worker Node Gitops Tool: OpenShift GitOps backed by ArgoCD Git Provider: Gitea running in the Nephio management cluster will be the git provider for clu...| Start on Nephio Documentation
Why When deploying workloads across large fleets of clusters, it is often necessary to modify the workload configuration for a specific cluster. Additionally, those workloads may evolve over time with security or other patches that require updates. Configuration as Data in general and Package Orchestration in particular can assist in this. However, they are still centered around manual, one-by-one hydration and configuration of a workload. This proposal introduces concepts and a set of resour...| Start on Nephio Documentation
Why porch-fn-runner implements a simplistic function-as-a-service for executing kpt functions, running the needed kpt functions wrapped in a grpc server. The function is starting up a number of function evaluator pods for each of the kpt functions. As with any operator that manages pods, it’s good to provide some templating and parametrization capabilities of the pods that will be managed by the function runner. Contract for writing pod templates The following contract needs to be fulfilled...| Start on Nephio Documentation
This page is draft and the separation of the content to different categories is not clearly done. In this guide, you will set up Nephio running in a single VM with: Management Cluster: kind Cluster Provisioner: Cluster API Workload Clusters: kind Gitops Tool: ConfigSync Git Provider: Gitea running in the Nephio management cluster will be the git provider for cluster deployment repositories. Some external repositories will be on GitHub. Web UI Auth: None Ingress/Load Balancer: MetalLB, but onl...| Start on Nephio Documentation
The following environment install works on a MacBook Pro M1 or via SSH to Ubuntu 22.04 to get the nephio-operators running in vscode talking to a local kind cluster running in Docker. Note that depending on what part of Nephio you are working on, you may wish to install less or more of the components below. It should work on other environments with appropriate tweaking. Install Docker, kind, and kpt packages This script automates steps 3 to 9 below.| Start on Nephio Documentation
Overview The O-RAN Software Community (OSC) and Open Air Interface (OAI) and Nephio open source communities are working together to provide a reference implementation of the Open RAN (O-RAN) Alliance’s cloud-centric specifications using the Nephio enablers and capabilities in order to deploy and manage O-RAN NFs and xApps. The focus of the O-RAN Integration within Nephio focuses on the Federated O-Cloud Orchestration and Management (FOCOM), Network Function Orchestration (NFO), Infrastructu...| Start on Nephio Documentation
You have installed the Nephio single VM using the installation instructions. The installation has done a good job of installing a complex software stack without any fuss. Let’s take a look around. Components Installed on the VM Itself The following components are installed on the VM itself. These components are installed directly on the VM by the Ansible install scripts. Component Purpose docker Used to host Kubernetes clusters created by KinD kind Used to create clusters in docker kubectl ...| Start on Nephio Documentation
This guide describes how to use testify and mockery for writing, mocking, and executing unit tests. This guide will help folks come up to speed on using testify and mockery. How Mockery works The mockery documentation describes why you would use and how to use Mockery. In a nutshell, Mockery generates mock implementations for interfaces in go, which you can then use instead of real implementations when unit testing. Mockery support in Nephio make The make files in Nephio repos containing go c...| Start on Nephio Documentation
This page is draft and the separation of the content to different categories is not clearly done. Steps Install git Install virtualbox Install vagrant open git bash git clone https://github.com/nephio-project/test-infra.git && cd test-infra/e2e/provision vagrant up vagrant ssh -- -L 7007:localhost:7007 -L 3000:172.18.0.200:3000 Networking The Vagrant networking will not work on Windows to allow access to the Nephio Web UI and Gitea Web UI due the Hyper-V limitation. Meanwhile, for VirtualBox ...| Start on Nephio Documentation
Concepts as Operator and Controller and CR have already been explained here. Deploy the operator to the cluster In the nephio/free5gc repository the Makefile is used to deploy the operator to the cluster automating tasks such as Build Targets: build: Builds the operator binary. run: Runs the controller from the host. docker-build: Builds a Docker image with the operator. docker-push: Pushes the Docker image with the operator. Deployment Targets: install: Installs CustomResourceDefinitions (CR...| Start on Nephio Documentation
Prerequisites Cluster Management (master) 4 vCPU 8 GB RAM Kubernetes version 1.26+ kubectl installed Ingress/Load Balancer: MetalLB, but only internally to the VM Cluster Edge 2 vCPU 1 NODE 4 GB RAM Kubernetes version 1.26+ kubectl installed kpt installed (version v1.0.0-beta.43 or later) porchctl installed on your workstation Installation of the management cluster Manual Installation of the management cluster using kpt Common Dependencies Common Components Manual Installation of the Edge clu...| Start on Nephio Documentation
Vanilla kpt for the Management cluster Before reading this, please read the kpt book. kpt pkg get The kpt pkg get --for-deployment https://<repo-path>/<repo-pkg-name>@<repo-pkg-name>/<pkg-version> <local-pkg-name> command downloads a kpt package from a repository. The fields in the command above are as follows: Field Description repo-path The path in the repository to the kpt package repo-pkg-name The name of the kpt package in the repository pkg-version The version of the kpt package local-p...| Start on Nephio Documentation
Overview Prerequisites Please refer to the Install Guide for the prerequisites on supported environments. Support Matrix The sandbox environment requires a physical or virtual machine with: Ubuntu-20.04-focal or Ubuntu 22.04 Linux Or Fedora 34 Minimum 8 cores and Recommended 16 cores (Needed for end-to-end testing with RAN and core ) 32 GB memory 200 GB disk size Default user with sudo passwordless permissions This installation has been verified on VMs running on Google Cloud.| docs.nephio.org