Skip to content
Snippets Groups Projects
Commit 81ceceea authored by Manuel Kieweg's avatar Manuel Kieweg
Browse files

rewrite readme. asciinema missing

parent 2e2349b8
No related branches found
No related tags found
1 merge request!133Rewrite readme
# GoSDN
# goSDN [![coverage report](https://code.fbi.h-da.de/cocsn/gosdn/badges/master/coverage.svg)](https://code.fbi.h-da.de/cocsn/gosdn/-/commits/master) [![pipeline status](https://code.fbi.h-da.de/cocsn/gosdn/badges/master/pipeline.svg)](https://code.fbi.h-da.de/cocsn/gosdn/-/commits/master)
### CI Status Master
[![coverage report](https://code.fbi.h-da.de/cocsn/gosdn/badges/master/coverage.svg)](https://code.fbi.h-da.de/cocsn/gosdn/-/commits/master)
[![pipeline status](https://code.fbi.h-da.de/cocsn/gosdn/badges/master/pipeline.svg)](https://code.fbi.h-da.de/cocsn/gosdn/-/commits/master)
`goSDN` is a prototypical approach to build a model driven multi-vendor SDN controller.
### CI Status Develop
# Table of Contents
[![coverage report](https://code.fbi.h-da.de/cocsn/gosdn/badges/develop/coverage.svg)](https://code.fbi.h-da.de/cocsn/gosdn/-/commits/develop)
[![pipeline status](https://code.fbi.h-da.de/cocsn/gosdn/badges/develop/pipeline.svg)](https://code.fbi.h-da.de/cocsn/gosdn/-/commits/develop)
- [Overview](#overview)
- [Concepts](#concepts)
- [Installing](#installing)
- [Getting Started](#getting-started)
* [k8s](#k8s)
* [Using the goSDN CLI](#using-the-cli)
* [Example](#example)
- [Contributing](CONTRIBUTING.md)
- [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.
```
gosdn
+-- 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:
```sh
> git config --global url."git@code.fbi.h-da.de:".insteadOf "https://code.fbi.h-da.de"
> go get code.fbi.h-da.de/cocsn/gosdn/cmd/gosdn
```
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](https://code.fbi.h-da.de/cocsn/gosdn/-/issues/new).
## 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](https://code.fbi.h-da.de/cocsn/gosdn/-/jobs).
| Master | Develop |
| ------ | ------ |
| [![coverage report](https://code.fbi.h-da.de/cocsn/gosdn/badges/master/coverage.svg)](https://code.fbi.h-da.de/cocsn/gosdn/-/commits/master) | [![coverage report](https://code.fbi.h-da.de/cocsn/gosdn/badges/develop/coverage.svg)](https://code.fbi.h-da.de/cocsn/gosdn/-/commits/develop) |
| [![pipeline status](https://code.fbi.h-da.de/cocsn/gosdn/badges/master/pipeline.svg)](https://code.fbi.h-da.de/cocsn/gosdn/-/commits/master) | [![pipeline status](https://code.fbi.h-da.de/cocsn/gosdn/badges/develop/pipeline.svg)](https://code.fbi.h-da.de/cocsn/gosdn/-/commits/develop) |
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment