Commit 81ceceea authored by Manuel Kieweg's avatar Manuel Kieweg 🤷
Browse files

rewrite readme. asciinema missing

parent 2e2349b8
# goSDN [![coverage report](]( [![pipeline status](](
### CI Status Master
[![coverage report](](
[![pipeline status](](
`goSDN` is a prototypical approach to build a model driven multi-vendor SDN controller.
### CI Status Develop
# Table of Contents
[![coverage report](](
[![pipeline status](](
- [Overview](#overview)
- [Concepts](#concepts)
- [Installing](#installing)
- [Getting Started](#getting-started)
* [k8s](#k8s)
* [Using the goSDN CLI](#using-the-cli)
* [Example](#example)
- [Contributing](
- [License](LICENSE)
- [CI Status](#ci-status)
The GIT repo for the GoSDN design and implementation. GoSDN is intended to be controller for Software Defined Networks (SDN) that follows a modern software architecture design and a well-documented implementation in the go language.
# Overview
## Generate Code Stubs
`goSDN` is also an application that will allow you to manage your multi-vendor network using one unified controller.
YANG code stubs are located in the `yang-processor` directory. They are generated by calling `go generate` from their respective sub directories.
+-- yang-processor
+-- ciena //Ciena code stubs
+-- tapi //TAPI code stubs
+-- yang //All YANG modules
`goSDN` provides:
* Model driven device representation
* Native multi vendor support
* Multi controller environments
# Concepts
The `goSDN` core - also called `nucleus` - is a lightweight library that manages principal network domains and provides southbound interface operations for orchestrated networking devices.
## Principal Networking Domain (PND)
The PND is the single source of truth within a network. Its state is held and maintained by the controller. Any configuration of an OND has to be applied by the PND.
## Orchestrated Networking Device (OND)
Any device directly configured by `goSDN`
# Installing
You can install `goSDN` locally using the `go get` command. Since the repository and some dependencies are not publicly available you have to modify your git config first:
> git config --global url."".insteadOf ""
> go get
Now you can start `goSDN` locally using the `gosdn` command or [use the CLI](#using-the-cli) to interact with a running `goSDN` instance.
# Getting Started
## k8s
We have an instance of `goSDN` for each the latest master and current develop branch running on the department's k8s cluster. These endpoints can be accessed using the `gosdn cli` command. If anything breaks please file an [issue](
## Using the CLI
The `gosdn cli` command allows you to interact with a running `goSDN` controller. Use `gosdn help cli` to print the available commands and flags.
## Example
## Documentation
# CI Status
The latest documentatiion generated on the master branch can be downloaded [here](
| Master | Develop |
| ------ | ------ |
| [![coverage report](]( | [![coverage report](]( |
| [![pipeline status](]( | [![pipeline status](]( |
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment