Device and Network Charts

Hi all,

Before a few weeks I started to get into VyOS. I love it, it’s incredible powerful. But there is something I can think of what would make it really kicking.

I think of Charts as you might know them from Helm/Kubernetes.

While this might read like a feature request, first of all I would like to get your thoughts for my proposal.

2 Types
Device Charts/Extended Configfile:

  • defines what a device is
  • can be altered by network chart service to rebalance for resilience
  • conf file describes device settings as already happening
  • conf file contains deployment settings while configured charts are loaded from an own repo and container images from some docker registry (both can be masked with own repositories, for version control, eg. Podman integration already allows some of that stuff)

Network Charts:

  • defines a set of vyos devices building up a virtual network topology with virtual services which then can also be balanced kubernetes style)
  • as kubernetes a system of favored equilibrium capable of reallocation’s to achieve crucial resilience
  • unlike kubernetes having an areial workload focus. So it’s not about keeping all services up as long as possible, but about keeping most important workflows up as long as possible.
    Eg, having an office, doing important and less important stuff => problem => services for less important stuff are dropped and ressources reallocated(minding physical possibilities) to keep services for most important stuff up an running at the locations where they are needed. So you have some tuple service, location, priority telling where is what needed how urgently.
  • this could be live configured driven by some kind of live genetic optimization (not minimizing a static problem but by rating how well system configurations cover operabilitiy required always using actual system configuration as base of evolution so every change of systems state is a soft transition)
    This way you even could preempathize failures and prepare the configurations necessary to quickly transition system into a resilience state.
    You even could get this preempathized optimized configurations onto the devices together with triggers to activate them so even network service going down could not keep system from partial recovery.
  • lateron this could be interconnected with a firewall concept capable of putting system into a locked down emergency mode. Ensuring that important stuff is running while isolating systems as far as possible to get them invulnerable.

UI:

  • Well when you do such a thing, a fancy, at least viewing, UI allowing you an overview over your whole network chart might be important for usage.

Persistent Replicated and Balanced Volumes:

  • Secure Data
  • Balance Data as near to point of usage as possible (could be done measuring latencies and bandwidths)
  • kinda like OpenEBS does, but I do not think that cSTOR is necessary. VyOS could do that using a DRBD+LVM combo or probably using BTRFS
  • Should be an edge replacement for cloud storages (safely done by saftey zones telling when this burns down, then also that but not the other location so system can balance to mitigate the risk)

Since I myself are about to do high level stuff requiring such a platform and with https://causal-rt.org (tuxfamily is down at the moment :frowning: ) I created an algorithmic, I think, capable of actually executing such flows, I for sure would also make my claim for implementing low level stuff required into vyos.

BR
Ralph

2 Likes

By charts you mean like graphs?

There is a webgui in progress which had a few sneakpeaks in another thread not too long ago (stills but still).

Personally I think that the syntax of VyOS should remain as is in config mode however the other stuff can be exposed through various API’s such as REST-API and similar.

This way the admin wont have to dig into and know everything about DRDB etc just to setup VyOS and have it routing packets.

No, a concept similar to Helm | Charts

It would.

You would not, but via config you could set up, lets say, a file server which is getting synchronized with a set of other devices. You files would be at your home, but also at, lets say, your brothers and at some safe house. Probably not all data everywhere, but well you shall be able to configure it.

The networking service just would generate configuration files as needed to balance your data as you please and as available resources allow within a swarm of devices which can be on different locations. But for sure only if you configure such a thing. If pleased by that, manually via cli or copy pasted config file. But the network service would have an own configuration, same style and an web interface and you should be able to change into controller mode on cli from every device in the swarm. probably something like

# edit ctrl

which would redirect you to the control plane of the swarm.