Skip to content

Commit

Permalink
Provide ipaddr filter for jinja templates (#18)
Browse files Browse the repository at this point in the history
* Provide ipaddr filter for jinja templates

* Avoid installing full ansible

* Fix approach to pythonpath append

* Fix permissions for ansible home dir

* Adjust permissions

* Switch ansible home instead

* More permission fixes

* Ensure correct perms for subdir
  • Loading branch information
mraerino committed Sep 9, 2024
1 parent 97104fc commit 626fa7c
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 3 deletions.
14 changes: 11 additions & 3 deletions docker/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,16 @@ RUN jq -r '.settings.http.max_body_size = 52428800' /etc/unit/nginx-unit.json \
> /etc/unit/nginx-unit-edit.json && \
mv /etc/unit/nginx-unit-edit.json /etc/unit/nginx-unit.json

COPY plugin_requirements.txt /opt/netbox/
RUN /opt/netbox/venv/bin/pip install --no-warn-script-location -r /opt/netbox/plugin_requirements.txt
COPY plugin_requirements.txt extra_requirements.txt /opt/netbox/
RUN /opt/netbox/venv/bin/pip install --no-warn-script-location -r /opt/netbox/plugin_requirements.txt && \
/opt/netbox/venv/bin/pip install --no-warn-script-location -r /opt/netbox/extra_requirements.txt

COPY plugins.py /etc/netbox/config/plugins.py
# Add ansible.utils collection to use ipaddr filter
RUN mkdir -p /etc/netbox/config/modules/ansible_collections/ansible && \
curl --fail -L https://github.com/ansible-collections/ansible.utils/archive/main.tar.gz | tar -xz -C . && \
mv ansible.utils-main /etc/netbox/config/modules/ansible_collections/ansible/utils && \
mkdir -p /tmp/.ansible/tmp && chmod -R a+rwx /tmp/.ansible
ENV ANSIBLE_HOME=/tmp/.ansible

COPY plugins.py extra.py /etc/netbox/config/
RUN SECRET_KEY="dummydummydummydummydummydummydummydummydummydummy" /opt/netbox/venv/bin/python /opt/netbox/netbox/manage.py collectstatic --no-input
8 changes: 8 additions & 0 deletions docker/extra.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
import sys
sys.path.append('/etc/netbox/config/modules')

from ansible_collections.ansible.utils.plugins.plugin_utils.base.ipaddr_utils import ipaddr

JINJA2_FILTERS = {
'ipaddr': ipaddr,
}
1 change: 1 addition & 0 deletions docker/extra_requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ansible-core

0 comments on commit 626fa7c

Please sign in to comment.