feat(addons): migrate Bumblebee scanner to native add-on #3493

Merged
mfreeman451 merged 2 commits from feat/migrate-bumblebee-native-addon into staging 2026-06-01 13:06:09 +00:00
Owner

Implements Agent B for issue #3456 / migrate-bumblebee-to-native-addon.

Scope:

  • Adds addons/bumblebee-scan/ native add-on manifest, config schema, default config, systemd service, and timer.
  • Wires bumblebee_scan_addon_bundle into build/native_addons/addon_inventory.bzl for linux/amd64 and linux/arm64 pushed-artifact tarballs.
  • Adds a control-plane BumblebeeAddonPackageSeeder and coordinator child. The seeder is a no-op until real artifact refs are configured, so it will not approve placeholder packages.
  • Adds a DB-backed test that seeds an approved package, creates an assignment, and verifies AgentConfigGenerator + proto output select the amd64 pushed artifact.
  • Updates the OpenSpec proposal/tasks for the addons/bumblebee-scan/ path.

Boundary honored: this does not touch the shared agent-side add-on status/rollback code.

Validation:

  • openspec validate migrate-bumblebee-to-native-addon --strict
  • git diff --check HEAD~2..HEAD
  • mix format lib/serviceradar/plugins/bumblebee_addon_package_seeder.ex lib/serviceradar/cluster/coordinator_children.ex test/serviceradar/plugins/bumblebee_addon_package_seeder_test.exs
  • bazel build --config=remote --action_env=PATH=/Library/Frameworks/Python.framework/Versions/3.13/bin:/usr/bin:/bin:/usr/sbin:/sbin //build/native_addons:bumblebee_scan_addon_bundle
  • MIX_ENV=test mix ecto.migrate + MIX_ENV=test mix test --include integration test/serviceradar/plugins/bumblebee_addon_package_seeder_test.exs against srql-fixtures scratch DB codex_bumblebee_1780292223_81955 (dropped)

Note: local non-remote Bazel build on macOS still hits the existing rules_go Linux toolchain execution issue; the remote build path above passes.

Implements Agent B for issue #3456 / migrate-bumblebee-to-native-addon. Scope: - Adds `addons/bumblebee-scan/` native add-on manifest, config schema, default config, systemd service, and timer. - Wires `bumblebee_scan_addon_bundle` into `build/native_addons/addon_inventory.bzl` for linux/amd64 and linux/arm64 pushed-artifact tarballs. - Adds a control-plane `BumblebeeAddonPackageSeeder` and coordinator child. The seeder is a no-op until real artifact refs are configured, so it will not approve placeholder packages. - Adds a DB-backed test that seeds an approved package, creates an assignment, and verifies `AgentConfigGenerator` + proto output select the amd64 pushed artifact. - Updates the OpenSpec proposal/tasks for the `addons/bumblebee-scan/` path. Boundary honored: this does not touch the shared agent-side add-on status/rollback code. Validation: - `openspec validate migrate-bumblebee-to-native-addon --strict` - `git diff --check HEAD~2..HEAD` - `mix format lib/serviceradar/plugins/bumblebee_addon_package_seeder.ex lib/serviceradar/cluster/coordinator_children.ex test/serviceradar/plugins/bumblebee_addon_package_seeder_test.exs` - `bazel build --config=remote --action_env=PATH=/Library/Frameworks/Python.framework/Versions/3.13/bin:/usr/bin:/bin:/usr/sbin:/sbin //build/native_addons:bumblebee_scan_addon_bundle` - `MIX_ENV=test mix ecto.migrate` + `MIX_ENV=test mix test --include integration test/serviceradar/plugins/bumblebee_addon_package_seeder_test.exs` against srql-fixtures scratch DB `codex_bumblebee_1780292223_81955` (dropped) Note: local non-remote Bazel build on macOS still hits the existing rules_go Linux toolchain execution issue; the remote build path above passes.
Proposal to deliver Bumblebee as a signed pushed-artifact / systemd-timer native
add-on governed by Edge Ops, superseding the ad-hoc standalone deb. Keeps the
non-root agent + root-owned scanner privilege boundary; reuses the merged
control-plane (AddonPackage/Assignment/Status) and delivery-models supervision.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
feat(addons): seed Bumblebee native add-on
Some checks failed
Rust Tests / test-rust (rust/rdp-adapter, cargo) (push) Successful in 1m20s
lint / lint (push) Successful in 1m42s
Secret Scan / gitleaks (pull_request) Successful in 36s
Rust Add-on Interop Test / interop (push) Successful in 1m59s
Fingerprint Licensing / netprobe-fingerprint-licenses (push) Successful in 2m10s
Rust Tests / test-rust (rust/consumers/zen, cargo) (push) Failing after 2m10s
lint / lint (pull_request) Successful in 1m31s
Golang Tests / test-go (push) Successful in 2m18s
Rust Tests / test-rust (rust/rperf-client, cargo) (push) Successful in 1m51s
Rust Tests / test-rust (rust/trapd, cargo) (push) Successful in 1m58s
Rust Tests / test-rust (rust/log-collector, cargo) (push) Successful in 2m42s
Rust Tests / test-rust (//rust/netprobe:netprobe, //build/platforms:linux_x86_64_musl, rust/netprobe, bazel-static) (push) Successful in 3m35s
Rust Tests / test-rust (//rust/netprobe:netprobe, //build/platforms:linux_aarch64_musl, rust/netprobe, bazel-static) (push) Successful in 3m35s
Rust Tests / test-rust (//rust/rperf-server:rperf, rust/rperf-server, bazel) (push) Successful in 4m9s
Rust Tests / test-rust (rust/rdp-connector-probe, cargo) (push) Successful in 3m52s
Rust Tests / test-rust (rust/srql, cargo) (push) Successful in 4m8s
Rust Tests / test-rust (//rust/netprobe:netprobe_test, rust/netprobe, bazel-test) (push) Successful in 5m3s
CI / build (pull_request) Failing after 10m10s
Elixir Quality / Elixir Quality (pull_request) Failing after 26m36s
Netprobe eBPF Verifier / Verify eBPF programs on Linux 5.8 (push) Has been cancelled
Netprobe eBPF Verifier / Verify eBPF programs on Linux 6.x (push) Has been cancelled
Netprobe eBPF Verifier / Verify eBPF refusal on Linux 5.4 (push) Has been cancelled
Netprobe eBPF Verifier / Verify eBPF programs on Linux 5.15 (push) Has been cancelled
17df1618d1
mfreeman451 left a comment

lgtm

lgtm
mfreeman451 deleted branch feat/migrate-bumblebee-native-addon 2026-06-01 13:06:09 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
carverauto/serviceradar!3493
No description provided.