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.3.0.tar.gz (26.9 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.3.0-py3-none-any.whl (36.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: netbox_freeipa-0.3.0.tar.gz
  • Upload date:
  • Size: 26.9 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.3.0.tar.gz
Algorithm Hash digest
SHA256 b90331d0e73cba0de3ff5fa264ff4fd3a86a66f87c4464028f446389dfdca561
MD5 87d534a93eb1e5952948487911f7abdc
BLAKE2b-256 899856322c448e02a2dfadfb84a98269cce015cfde6b15eee5677e2e0a92f19d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: netbox_freeipa-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 36.4 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.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 67854b2d8706d251d34b0881f87ab7494330051623097f6e07ed184a79853fc8
MD5 23bba473b8492497b2e1890d96cc52c5
BLAKE2b-256 b4657ddb6144cbb68d3049e734d0593e156be820fea722df919abb8c4539eaae

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