Skip to main content

NetBox plugin for FreeIPA integration - manage hosts, DNS zones and records

Project description

NetBox FreeIPA Plugin

NetBox plugin for integration with FreeIPA identity management system. View and manage FreeIPA enrolled hosts, DNS zones, and records directly from NetBox.

Features

  • View enrolled hosts from FreeIPA
  • DNS zones and records management
  • Detailed host information (FQDN, SSH keys, descriptions)
  • Automatic background synchronization (hosts, DNS zones, and DNS records)
  • Manual sync option via Web UI and API
  • REST API support
  • Filtering and search
  • High-performance bulk operations for large installations

Compatibility

NetBox v4.0 or later (v4.2+ recommended for automatic background synchronization)

Installation

pip install netbox-freeipa

Configuration

Edit /opt/netbox/netbox/netbox/configuration.py:

PLUGINS = ['netbox_freeipa']

PLUGINS_CONFIG = {
    'netbox_freeipa': {
        'freeipa_host': 'ipa.example.com',
        'freeipa_username': 'admin',
        'freeipa_password': 'your-password',
        # Optional settings:
        'freeipa_verify_ssl': True,
        'sync_interval': 300,  # seconds
        'auto_sync_enabled': True,
    }
}

Run migrations and restart:

cd /opt/netbox/netbox
python manage.py migrate
sudo systemctl restart netbox netbox-rq

Important: For automatic background synchronization to work, ensure the netbox-rq worker is running:

# Check status
sudo systemctl status netbox-rq

# View worker logs
sudo journalctl -u netbox-rq -f

Usage

Navigate to Plugins > FreeIPA in NetBox menu to access:

  • Hosts - View and manage FreeIPA enrolled hosts
  • DNS Zones - View DNS zones from FreeIPA
  • DNS Records - View DNS records associated with zones

Automatic Synchronization

The plugin automatically synchronizes all data (hosts, DNS zones, and records) every 5 minutes by default (configurable via sync_interval). Check the Jobs section in NetBox admin to monitor synchronization status.

REST API

# List hosts
curl -H "Authorization: Token YOUR_TOKEN" \
     https://netbox.example.com/api/plugins/freeipa/hosts/

# List DNS zones
curl -H "Authorization: Token YOUR_TOKEN" \
     https://netbox.example.com/api/plugins/freeipa/dns-zones/

# List DNS records
curl -H "Authorization: Token YOUR_TOKEN" \
     https://netbox.example.com/api/plugins/freeipa/dns-records/

# Trigger manual sync for hosts
curl -X POST -H "Authorization: Token YOUR_TOKEN" \
     https://netbox.example.com/api/plugins/freeipa/hosts/sync/

# Trigger manual sync for DNS zones
curl -X POST -H "Authorization: Token YOUR_TOKEN" \
     https://netbox.example.com/api/plugins/freeipa/dns-zones/sync/

# Trigger manual sync for DNS records
curl -X POST -H "Authorization: Token YOUR_TOKEN" \
     https://netbox.example.com/api/plugins/freeipa/dns-records/sync/

# Trigger full sync (all data types)
curl -X POST -H "Authorization: Token YOUR_TOKEN" \
     https://netbox.example.com/api/plugins/freeipa/sync/all/

Build & Publish

# Install build tools
pip install build twine

# Build package
python -m build

# Upload to PyPI
twine upload dist/*

License

Apache License 2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

netbox_freeipa-0.2.9.tar.gz (26.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

netbox_freeipa-0.2.9-py3-none-any.whl (36.2 kB view details)

Uploaded Python 3

File details

Details for the file netbox_freeipa-0.2.9.tar.gz.

File metadata

  • Download URL: netbox_freeipa-0.2.9.tar.gz
  • Upload date:
  • Size: 26.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.12

File hashes

Hashes for netbox_freeipa-0.2.9.tar.gz
Algorithm Hash digest
SHA256 8f955c14f2993e4543fca1bb3a2a5c5eeb007d90d760004e41073c90498eb40a
MD5 8009f8e4e7417003bce4f3759ca84b6f
BLAKE2b-256 398a08413df3af9bce8f17c7557f1b49f46250d75c240c31d0fda58248f38876

See more details on using hashes here.

File details

Details for the file netbox_freeipa-0.2.9-py3-none-any.whl.

File metadata

  • Download URL: netbox_freeipa-0.2.9-py3-none-any.whl
  • Upload date:
  • Size: 36.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.12

File hashes

Hashes for netbox_freeipa-0.2.9-py3-none-any.whl
Algorithm Hash digest
SHA256 e39aeb5133c3346e50cb7bd460085909bce55fa282bc1228aa6adda13f7124d7
MD5 a9db0185c13fef65bdac1ee9356b9081
BLAKE2b-256 a7efbeff200d6b876518f7cf3277fadd35350e49f711a89b0a7dd3ab90e8a4ad

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page