aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--UPDATING31
-rw-r--r--net-mgmt/netbox/Makefile40
-rw-r--r--net-mgmt/netbox/distinfo6
-rw-r--r--net-mgmt/netbox/files/netboxrc.sample.in62
-rw-r--r--net-mgmt/netbox/files/pkg-message.in53
-rw-r--r--net-mgmt/netbox/pkg-plist78
6 files changed, 229 insertions, 41 deletions
diff --git a/UPDATING b/UPDATING
index 687d37a4e45b..e4cdeb051df9 100644
--- a/UPDATING
+++ b/UPDATING
@@ -5,6 +5,37 @@ they are unavoidable.
You should get into the habit of checking this file for changes each time
you update your ports collection, before attempting any port upgrades.
+20190930:
+ AFFECTS: users of NetBox
+ AUTHOR: kai@FreeBSD.org
+
+ Since the 2.6 release a running Redis server instance is required for
+ caching objects to run. Also the following settings like below need to be
+ added (or modified) in the existing configuration.py:
+
+ REDIS = {
+ 'HOST': 'localhost',
+ 'PORT': 6397,
+ 'PASSWORD': ''
+ 'DATABASE': 0,
+ 'CACHE_DATABASE': 1,
+ 'DEFAULT_TIMEOUT': 300,
+ 'SSL': False,
+ }
+
+ Note that if you were using these settings in a prior release with
+ webhooks, the DATABASE setting remains the same but an additional
+ CACHE_DATABASE settings has been added with a default value of 1 to
+ support the caching backend.
+
+ The DATABASE setting will be renamed in a future release of NetBox to
+ better relay the meaning of the setting. It is highly recommended to keep
+ the webhook and cache databases separate. Using the same database number
+ for both may result in webhook processing data being lost during cache
+ flushing events.
+
+ Please also check the pkg-message and the changelogs for further info.
+
20190927:
AFFECTS: users of emulators/qemu-devel
AUTHOR: bofh@FreeBSD.org
diff --git a/net-mgmt/netbox/Makefile b/net-mgmt/netbox/Makefile
index 497fd98abfe9..fe0492c3bea1 100644
--- a/net-mgmt/netbox/Makefile
+++ b/net-mgmt/netbox/Makefile
@@ -2,8 +2,7 @@
PORTNAME= netbox
DISTVERSIONPREFIX= v
-DISTVERSION= 2.5.13
-PORTREVISION= 1
+DISTVERSION= 2.6.5
CATEGORIES= net-mgmt
MAINTAINER= kai@FreeBSD.org
@@ -12,36 +11,39 @@ COMMENT= IP address management tool
LICENSE= APACHE20
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
-RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django22>=2.2,<2.3:www/py-django22@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}dj22-django-cors-headers>=2.4.0:www/py-dj22-django-cors-headers@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}dj22-django-debug-toolbar>=1.11:www/py-dj22-django-debug-toolbar@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}dj22-django-filter>=2.0.0:www/py-dj22-django-filter@${PY_FLAVOR} \
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django22>=2.2<2.3:www/py-django22@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}dj22-django-cacheops>=4.1:www/py-dj22-django-cacheops@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}dj22-django-cors-headers>=3.0.2:www/py-dj22-django-cors-headers@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}dj22-django-debug-toolbar>=2.0:www/py-dj22-django-debug-toolbar@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}dj22-django-filter>=2.1.0:www/py-dj22-django-filter@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}dj22-django-mptt>=0.9.1:www/py-dj22-django-mptt@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}dj22-django-tables2>=2.0.3:www/py-dj22-django-tables2@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}dj22-django-taggit>=0.24.0:www/py-dj22-django-taggit@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}dj22-django-prometheus>=1.0.15:www/py-dj22-django-prometheus@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}dj22-django-rq>=2.1.0:devel/py-dj22-django-rq@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}dj22-django-tables2>=2.0.6:www/py-dj22-django-tables2@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}dj22-django-taggit>=0:www/py-dj22-django-taggit@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}dj22-django-taggit-serializer>=0.1.7:www/py-dj22-django-taggit-serializer@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}dj22-django-timezone-field>=3.0:www/py-dj22-django-timezone-field@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}dj22-djangorestframework>=3.9.1:www/py-dj22-djangorestframework@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}dj22-drf-yasg>=1.14.0:www/py-dj22-drf-yasg@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}dj22-djangorestframework>=3.9.4:www/py-dj22-djangorestframework@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}dj22-drf-yasg>=1.16.0:www/py-dj22-drf-yasg@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}gfm>=0.1.4:textproc/py-gfm@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}graphviz>=0.10.1:graphics/py-graphviz@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}Jinja2>=2.10:devel/py-Jinja2@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}Jinja2>=2.10.1:devel/py-Jinja2@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}markdown>=2.6.11:textproc/py-markdown@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}netaddr>=0.7.19:net/py-netaddr@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}pycryptodome>=3.7.2:security/py-pycryptodome@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}pillow>=5.3.0:graphics/py-pillow@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}psycopg2>=2.7.6.1:databases/py-psycopg2@${PY_FLAVOR}
+ ${PYTHON_PKGNAMEPREFIX}pycryptodome>=3.8.2:security/py-pycryptodome@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pillow>=6.0.0:graphics/py-pillow@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}psycopg2>=2.8.3:databases/py-psycopg2@${PY_FLAVOR}
USES= pgsql:9.4+ python:3.5+
USE_GITHUB= yes
GH_ACCOUNT= digitalocean
-SUB_FILES= pkg-message
-SUB_LIST= DATADIR=${DATADIR} PYTHON_VER=${PYTHON_VER}
+SUB_FILES= netboxrc.sample pkg-message
+SUB_LIST= DATADIR=${DATADIR} PYTHON_CMD=${PYTHON_CMD} PYTHON_VER=${PYTHON_VER} WWWOWN=${WWWOWN}
NO_BUILD= yes
NO_ARCH= yes
-OPTIONS_DEFINE= DOCS
+OPTIONS_DEFINE= DOCS EXAMPLES
post-patch:
@${REINPLACE_CMD} -e 's|==|>=|' ${WRKSRC}/requirements.txt
@@ -69,4 +71,8 @@ post-install-DOCS-on:
fi \
done
+post-install-EXAMPLES-on:
+ @${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
+ ${INSTALL_DATA} ${WRKDIR}/netboxrc.sample ${STAGEDIR}${EXAMPLESDIR}
+
.include <bsd.port.mk>
diff --git a/net-mgmt/netbox/distinfo b/net-mgmt/netbox/distinfo
index 2d970b2c16fd..f8ce0dfcd204 100644
--- a/net-mgmt/netbox/distinfo
+++ b/net-mgmt/netbox/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1559512206
-SHA256 (digitalocean-netbox-v2.5.13_GH0.tar.gz) = 71b6d05d3c76985cff590c8d2cf70b1896928ed943c2a3818e0b88ddd9f2a6ae
-SIZE (digitalocean-netbox-v2.5.13_GH0.tar.gz) = 2365536
+TIMESTAMP = 1569582543
+SHA256 (digitalocean-netbox-v2.6.5_GH0.tar.gz) = 8116e1be37a6a6188a7bfc6f2d842f500813d72ffcc9072ad5ac8a70198b9c8f
+SIZE (digitalocean-netbox-v2.6.5_GH0.tar.gz) = 2408180
diff --git a/net-mgmt/netbox/files/netboxrc.sample.in b/net-mgmt/netbox/files/netboxrc.sample.in
new file mode 100644
index 000000000000..4b2cfa9ed417
--- /dev/null
+++ b/net-mgmt/netbox/files/netboxrc.sample.in
@@ -0,0 +1,62 @@
+#!/bin/sh
+
+# This sample rc script eliminate the need to use sysutils/py-supervisor to
+# run NetBox as a system service. Only www/py-gunicorn is needed as a WSGI.
+#
+# Of course a working HTTP server like Apache/nginx is still required to make
+# use of the gunicorn WSGI.
+
+#
+# PROVIDE: netbox
+# REQUIRE: DAEMON
+# KEYWORD: shutdown
+#
+# Add the following line to /etc/rc.conf.local or /etc/rc.conf
+# to enable netbox:
+#
+# netbox_enable (bool): Set to NO by default.
+# Set it to YES to enable netbox.
+# netbox_config (str): Default to "/usr/local/etc/${name}.conf}"
+# Config file for gunicorn's netbox config file
+# netbox_command (str): Default to "/usr/local/bin/gunicorn-3.6"
+# Path to gunicorn to run netbox
+# netbox_bind (str): Default to "localhost:8001"
+# Interface and port to bind to
+# netbox_workers (int): Default to "3"
+# Number of gunicorn works
+# netbox_timeout (int): Default to "120"
+# Worker timeout for gunicorn
+#
+
+. /etc/rc.subr
+
+name="netbox"
+rcvar=netbox_enable
+netbox_path=%%DATADIR%%
+
+load_rc_config $name
+
+start_precmd="netbox_precmd"
+command=${netbox_program:-%%LOCALBASE%%/bin/gunicorn}
+procname=${netbox_procname:-%%PYTHON_CMD%%}
+netbox_chdir=${netbox_path}
+pidfile=${netbox_pidfile:-/var/run/${name}/${name}.pid}
+netbox_user=${netbox_user:-%%WWWOWN%%}
+netbox_bind=${netbox_bind:-localhost:8001}
+netbox_workers=${netbox_workers:-3}
+netbox_timeout=${netbox_timeout:-120}
+
+command_args="${netbox_args} -D \
+ --log-syslog --log-syslog-prefix ${name} \
+ --log-syslog-to unix:///var/run/log#dgram \
+ --disable-redirect-access-to-syslog \
+ -p ${pidfile} --pythonpath ${netbox_path} \
+ -b ${netbox_bind} -w ${netbox_workers} -t ${netbox_timeout} \
+ netbox.wsgi"
+
+netbox_precmd()
+{
+ install -d -o ${netbox_user} `dirname ${pidfile}`
+}
+
+run_rc_command "$1"
diff --git a/net-mgmt/netbox/files/pkg-message.in b/net-mgmt/netbox/files/pkg-message.in
index 7148e9a719ae..d87d8ef3cef9 100644
--- a/net-mgmt/netbox/files/pkg-message.in
+++ b/net-mgmt/netbox/files/pkg-message.in
@@ -1,5 +1,5 @@
[
-{
+{ type: install
message: <<EOD
Please note that NetBox requires a PostgreSQL database server, which uses its
built-in network address datatypes. Thus NetBox won't work with other RDBMS's,
@@ -9,9 +9,8 @@ For installation instructions please refer to the related wiki page:
- https://wiki.freebsd.org/Ports/net-mgmt/netbox
EOD
- type: install
}
-{
+{ type: upgrade
message: <<EOD
As always it is strongly encouraged to make a backup of the database before the
database migrations will be executed.
@@ -26,6 +25,52 @@ The following steps are required to finish the upgrade:
2. Restart WSGI/httpd environment (supervisord/apache/nginx/etc.)
EOD
- type: upgrade
+}
+{ type: upgrade
+ maximum_version: "2.6.5"
+ message: <<EOD
+1. New dependency: Redis
+
+Since the 2.6 release a running Redis server instance is required for caching
+objects to run. Also the following settings like below need to be added (or
+modified) in the existing configuration.py:
+
+REDIS = {
+ 'HOST': 'localhost',
+ 'PORT': 6397,
+ 'PASSWORD': ''
+ 'DATABASE': 0,
+ 'CACHE_DATABASE': 1,
+ 'DEFAULT_TIMEOUT': 300,
+ 'SSL': False,
+}
+
+Note that if you were using these settings in a prior release with webhooks,
+the DATABASE setting remains the same but an additional CACHE_DATABASE settings
+has been added with a default value of 1 to support the caching backend.
+
+The DATABASE setting will be renamed in a future release of NetBox to better
+relay the meaning of the setting. It is highly recommended to keep the webhook
+and cache databases separate. Using the same database number for both may
+result in webhook processing data being lost during cache flushing events.
+
+
+2. View Permissions
+
+NetBox now enforces view-only permissions by default. You can grant view
+permission to a user or group by assigning the "can view" permission for the
+desired objects.
+
+To exclude _all_ objects, effectively disabling view permissions and restoring
+the pre-v2.6 behavior, set:
+
+EXEMPT_VIEW_PERMISSIONS = ['*']
+
+
+3. CORS_ORIGIN_WHITELIST requires URI Scheme
+
+If you have the CORS_ORIGIN_WHITELIST configuration parameter defined, note
+that each origin must now include a URI scheme.
+EOD
}
]
diff --git a/net-mgmt/netbox/pkg-plist b/net-mgmt/netbox/pkg-plist
index 0e7bb0be2d7b..2c535dc821fb 100644
--- a/net-mgmt/netbox/pkg-plist
+++ b/net-mgmt/netbox/pkg-plist
@@ -1,8 +1,12 @@
+%%PORTDOCS%%%%DOCSDIR%%/additional-features/caching.md
%%PORTDOCS%%%%DOCSDIR%%/additional-features/change-logging.md
%%PORTDOCS%%%%DOCSDIR%%/additional-features/context-data.md
%%PORTDOCS%%%%DOCSDIR%%/additional-features/custom-fields.md
+%%PORTDOCS%%%%DOCSDIR%%/additional-features/custom-links.md
+%%PORTDOCS%%%%DOCSDIR%%/additional-features/custom-scripts.md
%%PORTDOCS%%%%DOCSDIR%%/additional-features/export-templates.md
%%PORTDOCS%%%%DOCSDIR%%/additional-features/graphs.md
+%%PORTDOCS%%%%DOCSDIR%%/additional-features/prometheus-metrics.md
%%PORTDOCS%%%%DOCSDIR%%/additional-features/reports.md
%%PORTDOCS%%%%DOCSDIR%%/additional-features/tags.md
%%PORTDOCS%%%%DOCSDIR%%/additional-features/topology-maps.md
@@ -42,6 +46,7 @@
%%PORTDOCS%%%%DOCSDIR%%/media/screenshot2.png
%%PORTDOCS%%%%DOCSDIR%%/media/screenshot3.png
%%PORTDOCS%%%%DOCSDIR%%/netbox_logo.png
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/netboxrc.sample
%%DATADIR%%/circuits/__init__.py
%%DATADIR%%/circuits/api/__init__.py
%%DATADIR%%/circuits/api/nested_serializers.py
@@ -68,6 +73,7 @@
%%DATADIR%%/circuits/migrations/0012_change_logging.py
%%DATADIR%%/circuits/migrations/0013_cables.py
%%DATADIR%%/circuits/migrations/0014_circuittermination_description.py
+%%DATADIR%%/circuits/migrations/0015_custom_tag_models.py
%%DATADIR%%/circuits/migrations/__init__.py
%%DATADIR%%/circuits/models.py
%%DATADIR%%/circuits/signals.py
@@ -165,6 +171,11 @@
%%DATADIR%%/dcim/migrations/0067_device_type_remove_qualifiers.py
%%DATADIR%%/dcim/migrations/0068_rack_new_fields.py
%%DATADIR%%/dcim/migrations/0069_deprecate_nullablecharfield.py
+%%DATADIR%%/dcim/migrations/0070_custom_tag_models.py
+%%DATADIR%%/dcim/migrations/0071_device_components_add_description.py
+%%DATADIR%%/dcim/migrations/0072_powerfeeds.py
+%%DATADIR%%/dcim/migrations/0073_interface_form_factor_to_type.py
+%%DATADIR%%/dcim/migrations/0074_increase_field_length_platform_name_slug.py
%%DATADIR%%/dcim/migrations/__init__.py
%%DATADIR%%/dcim/models.py
%%DATADIR%%/dcim/signals.py
@@ -214,14 +225,28 @@
%%DATADIR%%/extras/migrations/0016_exporttemplate_add_cable.py
%%DATADIR%%/extras/migrations/0017_exporttemplate_mime_type_length.py
%%DATADIR%%/extras/migrations/0018_exporttemplate_add_jinja2.py
+%%DATADIR%%/extras/migrations/0019_tag_taggeditem.py
+%%DATADIR%%/extras/migrations/0020_tag_data.py
+%%DATADIR%%/extras/migrations/0021_add_color_comments_changelog_to_tag.py
+%%DATADIR%%/extras/migrations/0022_custom_links.py
+%%DATADIR%%/extras/migrations/0023_fix_tag_sequences.py
+%%DATADIR%%/extras/migrations/0024_scripts.py
+%%DATADIR%%/extras/migrations/0025_objectchange_time_index.py
%%DATADIR%%/extras/migrations/__init__.py
%%DATADIR%%/extras/models.py
%%DATADIR%%/extras/querysets.py
%%DATADIR%%/extras/reports.py
+%%DATADIR%%/extras/scripts.py
+%%DATADIR%%/extras/signals.py
%%DATADIR%%/extras/tables.py
+%%DATADIR%%/extras/templatetags/__init__.py
+%%DATADIR%%/extras/templatetags/custom_links.py
+%%DATADIR%%/extras/templatetags/log_levels.py
%%DATADIR%%/extras/tests/__init__.py
%%DATADIR%%/extras/tests/test_api.py
+%%DATADIR%%/extras/tests/test_changelog.py
%%DATADIR%%/extras/tests/test_customfields.py
+%%DATADIR%%/extras/tests/test_scripts.py
%%DATADIR%%/extras/tests/test_tags.py
%%DATADIR%%/extras/tests/test_views.py
%%DATADIR%%/extras/urls.py
@@ -270,6 +295,9 @@
%%DATADIR%%/ipam/migrations/0022_tags.py
%%DATADIR%%/ipam/migrations/0023_change_logging.py
%%DATADIR%%/ipam/migrations/0024_vrf_allow_null_rd.py
+%%DATADIR%%/ipam/migrations/0025_custom_tag_models.py
+%%DATADIR%%/ipam/migrations/0026_prefix_ordering_vrf_nulls_first.py
+%%DATADIR%%/ipam/migrations/0027_ipaddress_add_dns_name.py
%%DATADIR%%/ipam/migrations/__init__.py
%%DATADIR%%/ipam/models.py
%%DATADIR%%/ipam/querysets.py
@@ -279,6 +307,7 @@
%%DATADIR%%/ipam/tests/test_models.py
%%DATADIR%%/ipam/tests/test_views.py
%%DATADIR%%/ipam/urls.py
+%%DATADIR%%/ipam/validators.py
%%DATADIR%%/ipam/views.py
%%DATADIR%%/manage.py
%%DATADIR%%/media/image-attachments/.gitignore
@@ -291,22 +320,22 @@
%%DATADIR%%/netbox/urls.py
%%DATADIR%%/netbox/views.py
%%DATADIR%%/netbox/wsgi.py
-%%DATADIR%%/project-static/bootstrap-3.3.7-dist/css/bootstrap-theme.css
-%%DATADIR%%/project-static/bootstrap-3.3.7-dist/css/bootstrap-theme.css.map
-%%DATADIR%%/project-static/bootstrap-3.3.7-dist/css/bootstrap-theme.min.css
-%%DATADIR%%/project-static/bootstrap-3.3.7-dist/css/bootstrap-theme.min.css.map
-%%DATADIR%%/project-static/bootstrap-3.3.7-dist/css/bootstrap.css
-%%DATADIR%%/project-static/bootstrap-3.3.7-dist/css/bootstrap.css.map
-%%DATADIR%%/project-static/bootstrap-3.3.7-dist/css/bootstrap.min.css
-%%DATADIR%%/project-static/bootstrap-3.3.7-dist/css/bootstrap.min.css.map
-%%DATADIR%%/project-static/bootstrap-3.3.7-dist/fonts/glyphicons-halflings-regular.eot
-%%DATADIR%%/project-static/bootstrap-3.3.7-dist/fonts/glyphicons-halflings-regular.svg
-%%DATADIR%%/project-static/bootstrap-3.3.7-dist/fonts/glyphicons-halflings-regular.ttf
-%%DATADIR%%/project-static/bootstrap-3.3.7-dist/fonts/glyphicons-halflings-regular.woff
-%%DATADIR%%/project-static/bootstrap-3.3.7-dist/fonts/glyphicons-halflings-regular.woff2
-%%DATADIR%%/project-static/bootstrap-3.3.7-dist/js/bootstrap.js
-%%DATADIR%%/project-static/bootstrap-3.3.7-dist/js/bootstrap.min.js
-%%DATADIR%%/project-static/bootstrap-3.3.7-dist/js/npm.js
+%%DATADIR%%/project-static/bootstrap-3.4.1-dist/css/bootstrap-theme.css
+%%DATADIR%%/project-static/bootstrap-3.4.1-dist/css/bootstrap-theme.css.map
+%%DATADIR%%/project-static/bootstrap-3.4.1-dist/css/bootstrap-theme.min.css
+%%DATADIR%%/project-static/bootstrap-3.4.1-dist/css/bootstrap-theme.min.css.map
+%%DATADIR%%/project-static/bootstrap-3.4.1-dist/css/bootstrap.css
+%%DATADIR%%/project-static/bootstrap-3.4.1-dist/css/bootstrap.css.map
+%%DATADIR%%/project-static/bootstrap-3.4.1-dist/css/bootstrap.min.css
+%%DATADIR%%/project-static/bootstrap-3.4.1-dist/css/bootstrap.min.css.map
+%%DATADIR%%/project-static/bootstrap-3.4.1-dist/fonts/glyphicons-halflings-regular.eot
+%%DATADIR%%/project-static/bootstrap-3.4.1-dist/fonts/glyphicons-halflings-regular.svg
+%%DATADIR%%/project-static/bootstrap-3.4.1-dist/fonts/glyphicons-halflings-regular.ttf
+%%DATADIR%%/project-static/bootstrap-3.4.1-dist/fonts/glyphicons-halflings-regular.woff
+%%DATADIR%%/project-static/bootstrap-3.4.1-dist/fonts/glyphicons-halflings-regular.woff2
+%%DATADIR%%/project-static/bootstrap-3.4.1-dist/js/bootstrap.js
+%%DATADIR%%/project-static/bootstrap-3.4.1-dist/js/bootstrap.min.js
+%%DATADIR%%/project-static/bootstrap-3.4.1-dist/js/npm.js
%%DATADIR%%/project-static/clipboard-2.0.4.min.js
%%DATADIR%%/project-static/css/base.css
%%DATADIR%%/project-static/font-awesome-4.7.0/css/font-awesome.css
@@ -438,6 +467,7 @@
%%DATADIR%%/project-static/select2-4.0.5/js/select2.min.js
%%DATADIR%%/project-static/select2-bootstrap-0.1.0-beta.10/select2-bootstrap.min.css
%%DATADIR%%/reports/__init__.py
+%%DATADIR%%/scripts/__init__.py
%%DATADIR%%/secrets/__init__.py
%%DATADIR%%/secrets/admin.py
%%DATADIR%%/secrets/api/__init__.py
@@ -458,6 +488,7 @@
%%DATADIR%%/secrets/migrations/0003_unicode_literals.py
%%DATADIR%%/secrets/migrations/0004_tags.py
%%DATADIR%%/secrets/migrations/0005_change_logging.py
+%%DATADIR%%/secrets/migrations/0006_custom_tag_models.py
%%DATADIR%%/secrets/migrations/__init__.py
%%DATADIR%%/secrets/models.py
%%DATADIR%%/secrets/querysets.py
@@ -541,7 +572,12 @@
%%DATADIR%%/templates/dcim/manufacturer_list.html
%%DATADIR%%/templates/dcim/platform_list.html
%%DATADIR%%/templates/dcim/power_connections_list.html
+%%DATADIR%%/templates/dcim/powerfeed.html
+%%DATADIR%%/templates/dcim/powerfeed_edit.html
+%%DATADIR%%/templates/dcim/powerfeed_list.html
%%DATADIR%%/templates/dcim/poweroutlet_delete.html
+%%DATADIR%%/templates/dcim/powerpanel.html
+%%DATADIR%%/templates/dcim/powerpanel_list.html
%%DATADIR%%/templates/dcim/powerport_delete.html
%%DATADIR%%/templates/dcim/rack.html
%%DATADIR%%/templates/dcim/rack_edit.html
@@ -572,8 +608,12 @@
%%DATADIR%%/templates/extras/objectchange_list.html
%%DATADIR%%/templates/extras/report.html
%%DATADIR%%/templates/extras/report_list.html
+%%DATADIR%%/templates/extras/script.html
+%%DATADIR%%/templates/extras/script_list.html
%%DATADIR%%/templates/extras/tag.html
+%%DATADIR%%/templates/extras/tag_edit.html
%%DATADIR%%/templates/extras/tag_list.html
+%%DATADIR%%/templates/extras/templatetags/log_level.html
%%DATADIR%%/templates/home.html
%%DATADIR%%/templates/import_success.html
%%DATADIR%%/templates/inc/ajax_loader.html
@@ -684,6 +724,7 @@
%%DATADIR%%/tenancy/migrations/0003_unicode_literals.py
%%DATADIR%%/tenancy/migrations/0004_tags.py
%%DATADIR%%/tenancy/migrations/0005_change_logging.py
+%%DATADIR%%/tenancy/migrations/0006_custom_tag_models.py
%%DATADIR%%/tenancy/migrations/__init__.py
%%DATADIR%%/tenancy/models.py
%%DATADIR%%/tenancy/tables.py
@@ -708,10 +749,12 @@
%%DATADIR%%/users/views.py
%%DATADIR%%/utilities/__init__.py
%%DATADIR%%/utilities/api.py
+%%DATADIR%%/utilities/auth_backends.py
%%DATADIR%%/utilities/constants.py
%%DATADIR%%/utilities/context_processors.py
%%DATADIR%%/utilities/custom_inspectors.py
%%DATADIR%%/utilities/error_handlers.py
+%%DATADIR%%/utilities/exceptions.py
%%DATADIR%%/utilities/fields.py
%%DATADIR%%/utilities/filters.py
%%DATADIR%%/utilities/forms.py
@@ -723,7 +766,6 @@
%%DATADIR%%/utilities/middleware.py
%%DATADIR%%/utilities/models.py
%%DATADIR%%/utilities/paginator.py
-%%DATADIR%%/utilities/sql.py
%%DATADIR%%/utilities/tables.py
%%DATADIR%%/utilities/templates/buttons/add.html
%%DATADIR%%/utilities/templates/buttons/export.html
@@ -738,6 +780,7 @@
%%DATADIR%%/utilities/templatetags/helpers.py
%%DATADIR%%/utilities/testing.py
%%DATADIR%%/utilities/tests/__init__.py
+%%DATADIR%%/utilities/tests/test_api.py
%%DATADIR%%/utilities/tests/test_managers.py
%%DATADIR%%/utilities/tests/test_utils.py
%%DATADIR%%/utilities/utils.py
@@ -763,6 +806,7 @@
%%DATADIR%%/virtualization/migrations/0006_tags.py
%%DATADIR%%/virtualization/migrations/0007_change_logging.py
%%DATADIR%%/virtualization/migrations/0008_virtualmachine_local_context_data.py
+%%DATADIR%%/virtualization/migrations/0009_custom_tag_models.py
%%DATADIR%%/virtualization/migrations/__init__.py
%%DATADIR%%/virtualization/models.py
%%DATADIR%%/virtualization/tables.py