fix(audit-sidecar): add macOS compatibility for workspace builds#6
Open
denverbaumgartner wants to merge 1 commit intoghuntley:trunkfrom
Open
fix(audit-sidecar): add macOS compatibility for workspace builds#6denverbaumgartner wants to merge 1 commit intoghuntley:trunkfrom
denverbaumgartner wants to merge 1 commit intoghuntley:trunkfrom
Conversation
The aya crate (eBPF userspace library) uses Linux-specific APIs (netlink, bpf syscalls) that cause compilation failures on macOS. This prevented `cargo build --workspace` from succeeding on macOS. Changes: - Move aya dependency to Linux-only target section in Cargo.toml - Add module-level cfg gate to loader.rs (only compiles on Linux+ebpf) - Update cfg attributes in main.rs to require both ebpf feature AND Linux - Add #[allow(unused_variables)] for raw_event_tx on non-Linux platforms The audit sidecar now runs in "stub mode" on macOS (no eBPF monitoring) while preserving full functionality on Linux. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
cargo build --workspacesucceed on macOS by making theayacrate (eBPF userspace library) Linux-onlyChanges
Cargo.tomlayadependency to[target.'cfg(target_os = "linux")'.dependencies]loader.rs#![cfg(all(feature = "ebpf", target_os = "linux"))]main.rsebpffeature AND LinuxProblem
The
ayacrate uses Linux-specific APIs (netlink, bpf syscalls) that cause compilation failures on macOS:Solution
Use Cargo's target-specific dependencies combined with conditional compilation to:
ayaas a dependency on LinuxebpffeatureVerification
cargo build --workspacepasses on macOScargo test -p loom-weaver-audit-sidecarpasses (19 tests)Test plan
🤖 Generated with Claude Code