-
Notifications
You must be signed in to change notification settings - Fork 1
docs: add direct Nix flake installation option and fix Darwin compatibility #21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
kennethdsheridan
wants to merge
5
commits into
main
Choose a base branch
from
netbox-fields-update
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
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
- Complete NetBox API client with authentication and error handling - Device creation/update with proper field mapping and 4U rack height for Digital Ocean nodes - Enhanced network interface detection with inband/out-of-band classification - IP address management with automatic subnet detection and primary IP assignment - Detailed hardware component inventory (CPU per-socket, memory modules, storage, GPUs) - Automatic site/manufacturer/device-type creation in NetBox - Command-line options for NetBox configuration and dry-run mode - Support for updating existing devices by serial number lookup All NetBox device fields properly populated including: - System information (name, serial, device type, manufacturer) - Network interfaces with speeds, types, and NUMA topology - IP addresses with role classification (primary, secondary, management) - Hardware components with detailed specifications and custom fields - BIOS/firmware information in custom fields Usage: hardware_report --netbox --netbox-url <URL> --netbox-token <TOKEN>
- Add dedicated BMC interface creation with IPMI IP and MAC addresses - Implement Tailscale VPN interface detection (100.64.0.0/10 CGNAT range) - Enhanced IP address collection using all detected interface IPs - Prioritize Tailscale IPs for primary IP assignment - Add BMC information to device custom fields (bmc_ip, bmc_mac) - Set explicit 4U rack height in device custom fields - Improved IP role classification (VIP for BMC, anycast for Tailscale) - Better primary IP detection logic with interface prioritization NetBox BMC fields now populated: - BMC interface with management-only flag - BMC IP address with VIP role and proper DNS naming - BMC MAC address in interface configuration - Device custom fields include BMC IP/MAC for easy reference Tailscale integration: - Automatic detection of Tailscale interfaces and IP ranges - Proper /32 subnet assignment for Tailscale IPs - Custom fields and comments identifying VPN addresses - Priority assignment as device primary IP when available
- Add oob_ip field to NetBox device structure for BMC IP reference - Store BMC IP ID during creation for proper device field assignment - Improve device update logic to set both primary_ip4 and oob_ip fields - Enhance error handling and debugging output for IP assignments - Ensure BMC interface and IP creation is properly tracked This should fix the blank BMC IP and Primary IPv4 fields in NetBox by: - Creating BMC IP address and storing its ID - Setting device.oob_ip to reference the BMC IP address object - Setting device.primary_ip4 to reference the primary IP address object - Using proper NetBox API field references instead of string values The height issue (1U vs 4U) may require device type recreation or manual update.
- Remove incorrect oob_ip field (NetBox doesn't have this native field) - Add detailed debugging output for IP creation and device updates - Show which IPs are selected as primary with clear indicators - Display full update payload being sent to NetBox - Add error details when device updates fail - Store BMC info in custom fields since NetBox lacks native BMC fields This version will show exactly: - Which IPs are created and their IDs - Which IP is selected as primary and why - The exact payload sent to update the device - Any errors returned by NetBox API Run with --netbox-dry-run first to see the debug output without making changes.
…bility - Add new Option 3 for direct flake installation from GitHub - Fix Darwin compatibility by making Linux-specific tools conditional - Update flake.nix to use proper Apple SDK frameworks - Improve development shell hook with platform-specific messaging - Suppress verbose direnv output for cleaner development experience 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
Changed Files
|
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
Changes Made
Benefits
nix profile install github:sfcompute/hardware_report
Test Plan