[PR #4350] [CLOSED] Add 'Generate Debug Bundle' feature via Management server and Dashboard #25268

Open
opened 2026-08-05 07:05:47 -04:00 by saavagebueno · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/netbirdio/netbird/pull/4350
Author: @aliamerj
Created: 8/14/2025
Status: Closed

Base: mainHead: debug/manangement


📝 Commits (1)

  • f91f65e new bi-directional stream for jobs

📊 Changes

3 files changed (+1173 additions, -783 deletions)

View changed files

📝 shared/management/proto/management.pb.go (+1080 -783)
📝 shared/management/proto/management.proto (+28 -0)
📝 shared/management/proto/management_grpc.pb.go (+65 -0)

📄 Description

Describe your changes

We’re adding a "Generate Debug Bundle" feature to the Dashboard.
When clicked, this button will:

  1. Send a request from the Dashboard to the Management server.
  2. The Management server will send a notification to the target peer’s NetBird client over the existing Management stream.
  3. The client will run the built-in debug bundle or debug for 1m command.
  4. The client uploads the logs to the configured storage backend.
  5. The Management server returns an upload key to the Dashboard so the user can retrieve the logs.

Implementation Details

  • Extend the existing Management ↔ Client stream to support custom message types (e.g., CONFIG_UPDATE, DEBUG).
  • Use a oneof in the protobuf to allow flexible payloads for different message types.
  • Implement debug triggering logic on the client side.
  • Add server logic to relay debug requests and return the upload key to the dashboard.

TODO

  • Protocol changes

    • Extend protobuf with:
      • enum NotificationType { CONFIG_UPDATE = 1; DEBUG = 2; }
      • oneof payload { ... } for flexible request/response payloads.
      • Add NotificationType to both request and response messages.
  • fix all tests and make sure current functionality is still working

  • add debugging call

  • implement the api endpoint and make sure it will call the debugging


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/netbirdio/netbird/pull/4350 **Author:** [@aliamerj](https://github.com/aliamerj) **Created:** 8/14/2025 **Status:** ❌ Closed **Base:** `main` ← **Head:** `debug/manangement` --- ### 📝 Commits (1) - [`f91f65e`](https://github.com/netbirdio/netbird/commit/f91f65e2c8a0ffa7af2bb7379c1a00ee7267d479) new bi-directional stream for jobs ### 📊 Changes **3 files changed** (+1173 additions, -783 deletions) <details> <summary>View changed files</summary> 📝 `shared/management/proto/management.pb.go` (+1080 -783) 📝 `shared/management/proto/management.proto` (+28 -0) 📝 `shared/management/proto/management_grpc.pb.go` (+65 -0) </details> ### 📄 Description ## Describe your changes We’re adding a "Generate Debug Bundle" feature to the Dashboard. When clicked, this button will: 1. Send a request from the Dashboard to the Management server. 2. The Management server will send a notification to the target peer’s NetBird client over the existing Management stream. 3. The client will run the built-in debug bundle or debug for 1m command. 4. The client uploads the logs to the configured storage backend. 5. The Management server returns an upload key to the Dashboard so the user can retrieve the logs. ### Implementation Details - Extend the existing Management ↔ Client stream to support custom message types (e.g., `CONFIG_UPDATE`, `DEBUG`). - Use a `oneof` in the protobuf to allow flexible payloads for different message types. - Implement debug triggering logic on the client side. - Add server logic to relay debug requests and return the upload key to the dashboard. ### TODO - [x] **Protocol changes** - Extend protobuf with: - enum NotificationType { CONFIG_UPDATE = 1; DEBUG = 2; } - oneof payload { ... } for flexible request/response payloads. - Add NotificationType to both request and response messages. - [ ] fix all tests and make sure current functionality is still working - [ ] add debugging call - [ ] implement the api endpoint and make sure it will call the debugging --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
saavagebueno added the pull-request label 2026-08-05 07:05:47 -04:00
Sign in to join this conversation.
No Label pull-request
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: DYNR/netbird#25268