slackhq / nebula

A scalable overlay networking tool with a focus on performance, simplicity and security

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Feature/Info: NetworkManager plugin for nebula

ieugen opened this issue · comments

What version of nebula are you using? (nebula -version)

1.8.2

What operating system are you using?

Linux

Describe the Bug

This is not a bug, but a discussion / place to gather information for implementing a NetworkManager plugin for nebula so Linux desktop users can easily manage one or more nebula connections.

The plugin can be built by third party or nebula devs if they desire.

Discussion on slack: https://nebulaoss.slack.com/archives/CRWJJM52B/p1705352904916759

hi, is there any prior work in integrating nebula with the Linux desktop?
I use Debian and would like to be able to see / control nebula from NetworkManager.
Something like this (just a caption) (edited)

Logs from affected hosts

N/A

Config files from affected hosts

N/A

Basic parts/lingo (poor names have historic reasons):

Service -- gets spawned by NM when VPN connection is activated. Does the real work and sends state/L3 configuration to NM over D-Bus.
Plugin -- .so file that implements serializing and validating the configuration, loads the Properties dialog
Properties dialog -- the .so file (one for gtk3 and one for gtk4) that implements the configuration UI
auth-helper -- gets secrets. spawned by secret agent (nm-agent or GNOME Shell) if necessary. Either draws the secrets dialog or tells the agent how to do so. Not necessary if the secrets are just username/password.

So according to the above we need some C libraries that can start nebula and interact with it.
auth-helper should get the certificates somehow (or generate + sign)
A UI for nebula options that will write the config yaml.