Repository navigation
v0.1.0
retriever2snipe v0.1.0
Initial public release. Syncs asset records from the Retriever v2 API to Snipe-IT asset management.
Features
- Sync warehouse device inventory from Retriever to Snipe-IT assets
- Match assets by serial number (creates new or updates existing)
- Map all Retriever device statuses to Snipe-IT status labels
- Custom field support: Retriever ID, Has Charger, CODD, Legal Hold, Rating
- Map hardware specs (RAM, storage, processor, etc.) to existing Snipe-IT custom fields
- Automatically download and attach CODD PDFs from Google Drive
- Interactive
setupcommand to auto-create Snipe-IT resources - Config file generation from cached Retriever data with model mapping
- Local data caching for Retriever's strict rate limits
- Dry-run mode with debug payload output
- Single-device sync by serial number or Retriever device ID
- Idempotent sync: only updates assets when data has actually changed
- Deduplicates warehouse records by serial number (keeps latest deployment)
- Optional Slack webhook notifications when new assets are created (Block Kit)
- Structured logrus logging with progress milestones and summary table
- Automatic retry with exponential backoff for Snipe-IT API rate limits (429)
- Stops sync immediately with helpful message on misconfigured custom fields
Configuration
Supports three-tier config precedence: CLI flags > environment variables > config.yaml. See config.yaml.example for all options.
Commands
sync— Main sync from Retriever to Snipe-ITsetup— Interactive Snipe-IT resource creationdownload— Cache Retriever API data locallygenerate-config— Generate config template with model mappings