Skip to content
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

Epic: Nephio Concepts Series #268

Open
johnbelamaric opened this issue Dec 22, 2022 · 12 comments
Open

Epic: Nephio Concepts Series #268

johnbelamaric opened this issue Dec 22, 2022 · 12 comments

Comments

@johnbelamaric
Copy link
Member

johnbelamaric commented Dec 22, 2022

Develop a series of short videos, decks, blogs and user exercises to explain Nephio and the concepts underlying it, using R1.

Each episode should include:

  • 1-3 slide deck explaining the content
  • 10 minutes or shorter video
  • Workshop exercises to try
  • Which other episodes' content is a prerequisite to understanding this episode

Episodes

  • Series Introduction (2 minutes)
    • What is Nephio - in brief
    • The project, the community
    • About the tutorial series
  • Why Nephio (10 minutes)
    • Prerequisite: Series Introduction
    • What problems does it solve
  • Community (10 minutes)
    • Prerequisite: Series Introduction
    • How does the community work
    • How can you get involved
  • Demo Environment (15 minutes)
    • Prerequisite: Series Introduction
    • What’s in it
    • What its purpose is
    • How to get it up and running
    • How to reset it
    • Exercise: get the environment up
  • Core Concepts
    • Prerequisite: Nephio Demo Environment
    • Management cluster vs workload clusters
    • Declarative vs imperative
    • Kubernetes and KRM
    • Packages, Repositories, Upstream, Downstream
    • Exercises:
      • Clone a cluster creation external package into an organizational package
      • Customize the organizational package with the UI
      • Publish the package and deploy it to the management cluster
      • Observe the creation and registration of the workload cluster
  • Deploying a Package Many Times
    • Fan out
    • Fan out with variations
    • Exercises:
      • Creating more workload clusters
      • Deploying a workload across all workload clusters
  • Collaborative Package Configuration
    • Nephio package configuration lifecycle overview
    • Package conditions and multiple user interaction
    • Specializers and external system integrations
  • Deep Dive: PackageVariant and PackageVariantSet
  • Deep Dive: Nephio Package Configuration Methods
    • Different ways to mutate a package as it goes from the original source, to your workload cluster
    • How and when to use different methods, their pros and cons
    • Mutations on clone, KRM functions, injectors, package fanout, apply time mutation, mutating webhooks, runtime operators
  • Deep Dive: KRM Functions

Future Potential Topics

  • Package Dependencies
  • Nephio Network Function APIs
  • Nephio Infrastructure Management APIs
  • General tools and techniques for reducing complexity in configuration
@electrocucaracha
Copy link
Member

I'm not sure if this is the right place to comment, but I suggest to use Divio documentation system for this project. Essentially, it doesn't change anything, but it helps to structure the documentation.

@johnbelamaric
Copy link
Member Author

I would leave it up to SIG Release to determine how we manage and package docs.

@johnbelamaric
Copy link
Member Author

/retitle Epic: Nephio Concepts Series

@nephio-prow nephio-prow bot changed the title Nephio Concepts Tutorials using Workshop Proof-of-Concept Epic: Nephio Concepts Series May 11, 2023
@gvbalaji gvbalaji transferred this issue from nephio-project/docs Jun 8, 2023
@johnbelamaric
Copy link
Member Author

/area docs

@nephio-prow nephio-prow bot added the area/docs label Jun 8, 2023
@debeaueric
Copy link

I think that we should add

  • a video explaining NFDeployment concepts and to illustrate how a package is enriched via kpt pipeline for SMF
  • a video explaining how R1 is using KRM for networking between clusters

@rravindran123
Copy link
Contributor

rravindran123 commented Jul 12, 2023

  • Developing Use Case Specific CRDs using Nephio's Automation platform to provision Clusters and Network Functions, e.g. CRDs that were developed in R1 to handle 5GC (AMF/SMF/UPF) NFs in Free5gc

@johnbelamaric
Copy link
Member Author

Some more ideas:

  • What's in R1 (use cases, capabilities, demo)
  • How data gets into apiserver(s)
    • imperative / kubectl create
    • declarative / kubectl apply
    • helm
    • operators
    • gitops
    • pkg mgmt and specialization is how data gets into git (backing up the process further)
  • Nephio and GitOps (either one video or maybe multiple for different tools - ConfigSync, Argo, Flux)
  • Nephio and Crossplane
  • Nephio and Helm

@tliron
Copy link

tliron commented Jul 12, 2023

Proposing two workload-cluster videos:

  • Using the free5GC operator to deploy UPF, AMF, and SMF (without using the rest of Nephio, link to videos that show the complete end-to-end flow)
  • How did we convert the towards5GS Helm charts to operators? Code and architecture overview

@efiacor
Copy link
Contributor

efiacor commented Jul 12, 2023

Proposal for the UI lovers:)

  • Closer look at the nephio web ui dashboard. Repos, blueprint types, etc. and their intended uses.

  • Also (if useful) a look at how config-sync hooks the above up to the gitea backend?

@johnbelamaric
Copy link
Member Author

In the TSC approval slide, I listed a few "General Purpose Config Management Capabilities". I think these are all covered above, but I am copying them here just so we can make sure.

  • Bundle infrastructure and workload intent into packages
  • Day 1 general purpose package management
    • Discovery, inventory, cloning, organizational, team, and multi-level trees of customization
    • Package deployment across a fleet, with variation based on region, location, and other deployment context
    • Delivery of fully configured packages via GitOps to edge clusters
  • Day 1 package specialization
    • Collaborative package editing by automation and humans
    • Package specializers that integrate with external resource backends
    • Developer SDK and specializer test framework to simplify development of specializers
  • Day 2 package management
    • Regulated, manual adoption of changes to configuration across the fleet
    • Discovery of updated packages and the affected downstream deployments
    • Propagation of input changes across affected downstream deployments

@johnbelamaric
Copy link
Member Author

I think for each of these suggestions, we probably need to create a separate issues, and assign it to someone. The issues should each include an outline of the contents of that episode.

@johnbelamaric
Copy link
Member Author

FYI, this is underway, see: https://wiki.nephio.org/display/HOME/Learning+with+Nephio+R1

So far I put together:

  • Demo video
  • Series introduction
  • Why Nephio?
  • The Nephio Approach

I will leave this open for now, but eventually we should make separate issues for each future episode and close this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants