Skip to main content

Homer allows to manage the lifecycle of the configuration for network devices, generating and deploying their configuration.

The configuration generation is based on YAML files to define variables and Jinja2 templates. The YAML files allow for hierarchical override of variables based on the device role, site or hostname. Once generated, the configuration can be deployed to the selected devices.

The device list can either live hardcoded in the configuration files or be dynamically gathered from Netbox. When using Netbox as inventory both the Virtual Chassis endpoint and the Device endpoint are used to select all the devices that matches the configured whitelist of device roles and statuses.

Also when using Netbox as inventory for each device additional metadata is exposed to the templates, namely:

  • role: device role slug

  • site: device site slug

  • type: device type slug

  • ip4: primary IPv4 without netmask

  • ip6: primary IPv6 without netmask

  • netbox_object: the Netbox device object. Directly exposed data should always be preferred in templates. It is exposed to not be a blocker in case some additional data is needed that is not yet exposed by Homer explicitely. It could be removed in a future release.

If any metadata is present in the YAML inventory file when using Netbox as inventory, this additional metadata ie exposed too to the templates, with the Netbox values having precedence in case of overlapping keys.

When using Netbox to gather dynamic configuration, it’s also possible to write a custom plugin in the form of a Python module that implements a class called NetboxDeviceDataPlugin that inherits from homer.netbox.BaseNetboxDeviceData and is in the Python PATH. Assuming that the plugin class implements a method named _get_name, it will be accessible within the templates with netbox.device_plugin.name.

Homer can use GraphQL to fetch Netbox data. For that, store your query in the basepath/public/graphql directory. And reference it using _gql_execute(filename, variables).

Metadata

Release files for homer 0.11.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for homer 0.11.0
File Size Uploaded Provenance
homer-0.11.0.tar.gz 66.3 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for homer 0.11.0
File Interpreter ABI Platform
homer-0.11.0-py3-none-any.whl Python 3 none any Details

Total release size: 108.2 kB

Release files / homer-0.11.0.tar.gz

Download URL homer-0.11.0.tar.gz
Size 66.3 kB
Tags Source
SHA-256 checksum
How to use checksums
33ee248d68fd8fe6e0dc0dfd7d582bd28405c179b6630b837f99b988731d8e65
BLAKE2b-256 checksum
How to use checksums
6c6d8498c7abb15adb94235d0178e2efd24b89461be08a508f8df6c3ccd7201e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.0rc1

Release files / homer-0.11.0-py3-none-any.whl

Download URL homer-0.11.0-py3-none-any.whl
Size 42.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a5aa6b811593a8c9a7d5d45773434746848adfcc47cd9a5181bdeff2f74abd02
BLAKE2b-256 checksum
How to use checksums
5cf2fbb72af1c622580d631b46e8093381f845b9e6efb3595940ef18643af268
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.0rc1

Security for homer 0.11.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page