test(core): confirm AgentConfigGenerator compiles the netprobe systemd-service assignment (#3425) #3484
No reviewers
Labels
No labels
1week
2weeks
Failed compliance check
IP cameras
NATS
Possible security concern
Review effort 1/5
Review effort 2/5
Review effort 3/5
Review effort 4/5
Review effort 5/5
UI
aardvark
accessibility
amd64
api
arm64
auth
back-end
bgp
blog
bug
build
checkers
ci-cd
cleanup
cnpg
codex
core
dependencies
device-management
documentation
duplicate
dusk
ebpf
enhancement
eta 1d
eta 1hr
eta 3d
eta 3hr
feature
fieldsurvey
github_actions
go
good first issue
help wanted
invalid
javascript
k8s
log-collector
mapper
mtr
needs-triage
netflow
network-sweep
observability
oracle
otel
plug-in
proton
python
question
reddit
redhat
research
rperf
rperf-checker
rust
sdk
security
serviceradar-agent
serviceradar-agent-gateway
serviceradar-web
serviceradar-web-ng
siem
snmp
sysmon
topology
ubiquiti
wasm
wontfix
zen-engine
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
carverauto/serviceradar!3484
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/netprobe-config-generator-test"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
migrate-netprobe-to-native-addon§3.2 — confirmAgentConfigGeneratorcompiles the netprobe systemd-service assignment. The generic add-on compilation path already handles netprobe, so this is a confirm-via-test (no production code change) that locks the control-plane → agent contract the §2.2 cutover (#3483) depends on.What the test asserts (DB-backed,
agent_config_generator_test.exs)A netprobe
AddonPackage(addon_id: "netprobe",delivery: :pushed_artifact,supervision: :systemd_service,requires.os_capabilities: [cap_net_raw, cap_bpf, cap_perfmon], per-archartifacts["linux/amd64"]) + an enabledAddonAssignmentfor alinux/amd64agent →generate_config/1:addon_id "netprobe",:pushed_artifact/:systemd_service, the approved capability subset, the os_capabilities, and the per-arch artifact reference (object_key/sha256/target_os/target_arch).to_proto_response/1stringifies:systemd_service→"systemd_service"— the exact constant the agent'sclassifyAddonSupervisionmatches to route netprobe onto the attach path. A hyphen/format drift here would silently break the cutover, so it's pinned.VisibilityConfigrides in the same response — the agent §2.2 cutover reads both: the assignment to decide attach,VisibilityConfigfor the capture params.create_approved_addon_packagegainedsupervision/addon_id/binary/requiresopts (backward-compatible defaults; the existing addon tests are unchanged and still pass).Validation
agent_config_generator_test.exs38/38 green against ansrql-fixturesscratch CNPG DB (--include integration).mix format --check-formatted+mix credo --strictclean.Where this sits
The build → sign → publish → import → assign → compile-config → agent-attach/configure loop is now covered in code + tests on both sides (control plane emits the netprobe assignment; the agent consumes it). The remaining migrate-netprobe items are §3.1 (seed/import a real netprobe
AddonPackage— needs the Linux-built+published bundle), §2.3 status, §2.4 rollback, §3.3 Edge Ops UI, and the §4.3 scratch-Linux-agent e2e (the full-flow gate; bundles can't build/run on darwin).🤖 Generated with Claude Code
lgtm