-
-
Notifications
You must be signed in to change notification settings - Fork 533
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIP] profile switching (multiple networks) #2401
base: main
Are you sure you want to change the base?
Conversation
Never mind, this works; I just had a stale module cache from when I wrote #1161 |
Hello @oskardotglobal, thank you for your proposal to add multiple profile switching to Netbird. We appreciate your contribution and wanted to share our vision for this feature. We’ve been planning to move configuration files to a user-specific path for increased security, especially on shared user computers. With that, profiles would be managed in the following paths:
When creating a new profile via CLI, it will initially be stored in memory, and once activated, it will be saved to the appropriate directory. For the GUI, since it’s user-bound, we plan to create the profile on disk immediately. The most recently selected profile will be stored in a state file, allowing the application to reload this profile on system boot or daemon restart. We envision that profile switching will be simple, with commands to select and activate profiles, but note that switching profiles will disconnect any running processes. Finally, our GUI will display the current profile and offer easy management options, including creating, selecting, and deleting profiles. We’d love to discuss this vision with you in more detail. Please join our Slack channel, where we can discuss further this vision. Looking forward to your thoughts! |
I've gone ahead and sent a message with my ideas in the slack channel |
When are you planning to have this? |
Quality Gate failedFailed conditions See analysis details on SonarCloud Catch issues before they fail your Quality Gate with our IDE extension SonarLint |
Up. There is really needed feature. |
👍 |
Also looking forward to this to be included in a future release! |
Yeah, sorry, this PR is kind of a mess atm |
Hi there, we still don't have this feature; in the meantime, can you test this simple script that allows you to switch between installed NetBird service installs. You can create a service using
The script handles multiple "profiles" and also handles the default name for service named Since you can only be running one service at a time (well, you can but then DNS, routing, etc, will compete), I ended up creating this script to handle the start/stop of each service and to show me which running "profile" is activated. I know it's a temporary solution, but at least will help handle this scenario a bit better until we implement the feature. |
Describe your changes
This issue attempts to support switching between multiple management servers and/or users ("networks") as described in #446.
I have thought of 3 approaches to implement this:
For obvious reasons, I decided on approach 3. I'm still currently facing an issue where the service doesn't start on macOS unless I reinstall it, but otherwise this works. A GUI integration is planned, but I won't be writing support for Android / iOS anytime soon.
The usage looks like this:
Issue ticket number and link
#2233
#446 (in parts)
Checklist