feat(addon): Rust native add-on SDK + rust-sample reference (#3425) #3460
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!3460
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/native-addon-rust-sdk"
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?
What
Rust native add-on SDK + reference add-on for the agent feature-sets framework (#3425), plus a correctness fix so the reference manifest matches the binary it ships.
This branch is stacked — vs
stagingit contains three commits:37be0ebd1feat(addons): native add-on manifest schema + Go validator + build-hygiene gates — this is thefeat/native-addon-build-signingworkbc5abb31bfeat(addon): Rust SDK (rust/addon-sdk) +rust-samplereference + Go interop test6222bbea3fix(addon): rename phantomfingerprintd→ honestrust-samplemanifestRust SDK (
bc5abb31b)rust/addon-sdk: go-plugin v1.8.0 handshake, AutoMTLS (tls.rs, DER-pinned verifier,aws-lc-rsfor the host's ECDSA P-521 cert), tonic gRPC server + health,Addontrait,serviceradar-rust-sample-addonreference binary.manager_rust_addon_test.go: Go↔Rust interop test driving the realaddon.Manager+ go-plugin client.Honesty fix (
6222bbea3)The reference consumer shipped as
addons/fingerprintd/declaringid: fingerprintd/binary: serviceradar-fingerprintd, but the bundle packagesserviceradar-rust-sample-addon, whoseInfo()reportsid: rust-sample. The manifest disagreed with the binary. "fingerprintd" was a placeholder; the real passive-fingerprinting daemon is netprobe (seemigrate-netprobe-to-native-addon). Renamedaddons/fingerprintd/→addons/rust-sample-addon/and aligned id/capabilities/binary/schema with the binary's runtimeInfo().Verification
cargo build -p addon-sdk+cargo test -p addon-sdkpass, including thehandshake_mtlsAutoMTLS integration test (runs unconditionally).go run ./go/tools/addon-manifest-validator/...passes foraddons/rust-sample-addon/andaddons/sample-addon/; validator tests green.Merge notes / caveats
feat/native-addon-build-signing(PR #3463) — its base commits here are the build-signing slice plus its lint fix. Merge #3463 first; once it lands instaging, this PR's diff reduces to just the Rust-SDK commits (Rust SDK + the rust-sample fix + the interop CI lane).manager_rust_addon_test.go) is skip-gated — it only runs whenSERVICERADAR_RUST_ADDON_BINis set (orSERVICERADAR_BUILD_RUST_ADDON=1). No CI lane wires that yet, so the polyglot proof is skipped on a plaingo test ./....fingerprintdwas never a real daemon; the real capability is netprobe, migrated separately.🤖 Generated with Claude Code
lgtm
eb963a39992b4f42c861