Files
netbird/contribution.md
shatoboar b052e74fe7 Code guide for new contributors
Description for daemon, CLI and UI
2022-06-22 15:50:15 +02:00

1.0 KiB

Contribution

Code Structure

The codebase is structured in 3 big components:

  • Client
  • Server
  • Signal
  • Dashboard (separate repository)

CLIENT

The Client consists of three different components.

Daemon
client/server     # daemon server that runs in the background
client/proto      # grpc daemon server listening to either the CLI or UI for requests
management/client # grpc client that connects to the management server

The Daemon runs in the background, and keeps the connection running.

CLI

We use Cobra as our CLI framework

client/cmd          # All CLI commands are defined and implemented here
client/cmd/root.go  # All commands are registered in root.go
UI-App

We use systray and fyne to write a UI application for the Systemtray.

client/ui       #  

MANAGEMENT


SIGNAL


DASHBOARD