Skip to content
Norberto Aquino edited this page Sep 26, 2025 · 3 revisions

rudder2snipe Wiki

MIT License Python 3.7+ GitHub stars

rudder2snipe is a Python tool that synchronizes asset inventory between Rudder.io configuration management platform and Snipe-IT asset management system.

πŸ“– Overview

This tool eliminates manual data entry by automatically creating, updating, and managing hardware assets in Snipe-IT based on node information from Rudder. It provides bidirectional synchronization with flexible field mapping and user management capabilities.

Key Benefits

  • πŸ”„ Automated Sync: Eliminates manual data entry between systems
  • πŸ“Š Asset Discovery: Automatically finds Rudder nodes and creates Snipe-IT assets
  • 🎯 Flexible Mapping: Customizable field mapping between systems
  • πŸ‘₯ User Management: Automatic asset assignment to users
  • πŸ›‘οΈ Asset Tag Sync: Bidirectional synchronization with Snipe-IT as authority
  • ⏱️ Smart Updates: Only updates when source data is newer

πŸš€ Quick Start

# Clone and setup
git clone https://github.com/norbertoaquino/rudder2snipe.git
cd rudder2snipe
pip install -r requirements.txt

# Configure
cp settings-rudder.conf.example settings.conf
# Edit settings.conf with your API credentials

# Test and run
python3 rudder2snipe --connection_test
python3 rudder2snipe --dryrun --verbose
python3 rudder2snipe --verbose

πŸ“š Documentation Pages

πŸ”§ Installation

Complete installation guide for different platforms including:

  • System requirements and dependencies
  • Virtual environment setup
  • Production deployment recommendations

βš™οΈ Configuration

Detailed configuration guide covering:

  • API credentials and endpoints
  • Field mapping between Rudder and Snipe-IT
  • Custom fields and advanced settings

πŸš€ Usage

Comprehensive usage guide including:

  • Command line options and parameters
  • Operation modes (dry run, force update, etc.)
  • User management and asset assignment

πŸ’‘ Examples

Practical examples for different scenarios:

  • Small office setup (50 computers)
  • Enterprise deployment (1000+ assets)
  • Managed Service Provider configurations
  • Development environments

πŸ› Troubleshooting

Common issues and solutions:

  • Authentication problems
  • Connection issues
  • Data mapping errors
  • Performance optimization

❓ FAQ

Frequently asked questions covering:

  • General usage questions
  • Technical implementation details
  • Best practices and recommendations

πŸ› οΈ Features

Core Functionality

  • βœ… Asset discovery and creation
  • βœ… Model management and categorization
  • βœ… Flexible field mapping
  • βœ… User assignment automation
  • βœ… Asset tag synchronization
  • βœ… Timestamp-based updates

Advanced Features

  • βœ… Rate limiting for API calls
  • βœ… SSL configuration options
  • βœ… Force update capabilities
  • βœ… Auto-incrementing asset tags
  • βœ… Comprehensive logging
  • βœ… Error handling and recovery

🚦 System Requirements

  • Python: 3.7 or higher
  • Network: HTTPS access to Rudder and Snipe-IT APIs
  • Credentials:
    • Rudder API token (read permissions)
    • Snipe-IT API key (create/edit permissions)

🀝 Contributing

We welcome contributions! Please see our Contributing Guide for:

  • Development workflow
  • Coding standards
  • Testing requirements
  • Pull request process

πŸ“ž Support & Community

πŸ“Š Project Status

Aspect Status
Stability βœ… Production Ready
Maintenance βœ… Actively Maintained
License βœ… MIT (Open Source)
Documentation βœ… Comprehensive
Testing βœ… CI/CD Pipeline

πŸ† Credits

Based on the excellent jamf2snipe project by Brian Monroe and contributors, adapted for Rudder.io integration.


Last updated: December 2024

Clone this wiki locally