ndd-core

module
v0.2.23 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 5, 2022 License: Apache-2.0

README

github release Go Report Godoc Doc Docker Pulls Twitter Follow

Overview

NDD is an opensource Kubernetes add-on that enables platform and application teams to consume network devices in a similar way as other resources are consumed in Kubernetes.

NDD uses a modular approach, through providers, which allows multiple network device types to be supported. NDD allows the network providers to be generated from YANG, which enables rapid enablement of multiple network device types. Through YANG we can provider automate input and dependency management between the various resource that are consumed within the device.

An NDD provider represents the device model through various CRs within the Kubernetes API in order to provide flexible management of the device resources.

NDD is build on the basis of the kubebuilder and operator-pattern within kubernetes.

Features:

  • Device discovery and Provider registration
  • Declaritive CRUD configuration of network devices through CRs
  • Configuration Input Validation:
    • Declarative validation using an OpenAPI v3 schema derived from YANG
    • Runtime Dependency Management amongst the various resources comsumed within a device (parent dependency management and leaf reference dependency management amont resources)
  • Automatic or Operator interacted configuration drift management
  • Delete Policy, and Active etc

Releases

NDD is in alpha phase so dont use it in production

Getting Started

Take a look at the documentation to get started.

Get involved

ndd is a community driven project and we welcome contribution.

For filling bugs, suggesting improvments, or requesting new feature, please open an issue.

Code of conduct

Licensing

ndd-runtime is under the Apache 2.0 license.

Directories

Path Synopsis
apis
pkg/meta/v1
Package v1 contains API Schema definitions for the meta pkg v1 API group +kubebuilder:object:generate=true +groupName=meta.pkg.ndd.yndd.io
Package v1 contains API Schema definitions for the meta pkg v1 API group +kubebuilder:object:generate=true +groupName=meta.pkg.ndd.yndd.io
pkg/v1
Package v1 contains API Schema definitions for the pkg v1 API group +kubebuilder:object:generate=true +groupName=pkg.ndd.yndd.io Package v1 contains API Schema definitions for the pkg v1 API group +kubebuilder:object:generate=true +groupName=pkg.ndd.yndd.io
Package v1 contains API Schema definitions for the pkg v1 API group +kubebuilder:object:generate=true +groupName=pkg.ndd.yndd.io Package v1 contains API Schema definitions for the pkg v1 API group +kubebuilder:object:generate=true +groupName=pkg.ndd.yndd.io
cmd
internal
dag

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL