nautobot 2.2.3__py3-none-any.whl → 2.2.4__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of nautobot might be problematic. Click here for more details.

Files changed (301) hide show
  1. nautobot/core/settings.py +6 -4
  2. nautobot/core/settings.yaml +51 -16
  3. nautobot/core/templates/admin/base.html +2 -2
  4. nautobot/core/templates/base_django.html +2 -2
  5. nautobot/core/templates/buttons/export.html +47 -47
  6. nautobot/core/templates/inc/javascript.html +3 -0
  7. nautobot/core/templates/inc/media.html +3 -0
  8. nautobot/core/templates/login.html +2 -2
  9. nautobot/core/templates/nautobot_config.py.j2 +2 -0
  10. nautobot/core/tests/test_jobs.py +79 -2
  11. nautobot/core/tests/test_views.py +33 -0
  12. nautobot/core/views/mixins.py +4 -0
  13. nautobot/dcim/tests/test_views.py +239 -55
  14. nautobot/dcim/views.py +23 -20
  15. nautobot/extras/api/serializers.py +17 -6
  16. nautobot/extras/tests/test_context_managers.py +18 -0
  17. nautobot/extras/utils.py +2 -1
  18. nautobot/extras/views.py +35 -21
  19. nautobot/ipam/views.py +6 -6
  20. nautobot/project-static/docs/404.html +107 -51
  21. nautobot/project-static/docs/apps/index.html +107 -51
  22. nautobot/project-static/docs/apps/nautobot-apps.html +107 -51
  23. nautobot/project-static/docs/assets/_mkdocstrings.css +6 -1
  24. nautobot/project-static/docs/assets/extra.css +7 -0
  25. nautobot/project-static/docs/assets/javascripts/bundle.3220b9d7.min.js +29 -0
  26. nautobot/project-static/docs/assets/javascripts/bundle.3220b9d7.min.js.map +7 -0
  27. nautobot/project-static/docs/assets/stylesheets/main.66ac8b77.min.css +1 -0
  28. nautobot/project-static/docs/assets/stylesheets/main.66ac8b77.min.css.map +1 -0
  29. nautobot/project-static/docs/code-reference/nautobot/apps/__init__.html +107 -51
  30. nautobot/project-static/docs/code-reference/nautobot/apps/admin.html +107 -51
  31. nautobot/project-static/docs/code-reference/nautobot/apps/api.html +107 -51
  32. nautobot/project-static/docs/code-reference/nautobot/apps/change_logging.html +107 -51
  33. nautobot/project-static/docs/code-reference/nautobot/apps/choices.html +107 -51
  34. nautobot/project-static/docs/code-reference/nautobot/apps/config.html +107 -51
  35. nautobot/project-static/docs/code-reference/nautobot/apps/constants.html +107 -51
  36. nautobot/project-static/docs/code-reference/nautobot/apps/datasources.html +107 -51
  37. nautobot/project-static/docs/code-reference/nautobot/apps/exceptions.html +107 -51
  38. nautobot/project-static/docs/code-reference/nautobot/apps/factory.html +107 -51
  39. nautobot/project-static/docs/code-reference/nautobot/apps/filters.html +107 -51
  40. nautobot/project-static/docs/code-reference/nautobot/apps/forms.html +107 -51
  41. nautobot/project-static/docs/code-reference/nautobot/apps/graphql.html +107 -51
  42. nautobot/project-static/docs/code-reference/nautobot/apps/jobs.html +107 -51
  43. nautobot/project-static/docs/code-reference/nautobot/apps/models.html +107 -51
  44. nautobot/project-static/docs/code-reference/nautobot/apps/querysets.html +107 -51
  45. nautobot/project-static/docs/code-reference/nautobot/apps/secrets.html +107 -51
  46. nautobot/project-static/docs/code-reference/nautobot/apps/tables.html +107 -51
  47. nautobot/project-static/docs/code-reference/nautobot/apps/testing.html +107 -51
  48. nautobot/project-static/docs/code-reference/nautobot/apps/ui.html +107 -51
  49. nautobot/project-static/docs/code-reference/nautobot/apps/urls.html +107 -51
  50. nautobot/project-static/docs/code-reference/nautobot/apps/utils.html +107 -51
  51. nautobot/project-static/docs/code-reference/nautobot/apps/views.html +107 -51
  52. nautobot/project-static/docs/development/apps/api/configuration-view.html +110 -54
  53. nautobot/project-static/docs/development/apps/api/database-backend-config.html +110 -54
  54. nautobot/project-static/docs/development/apps/api/models/django-admin.html +107 -51
  55. nautobot/project-static/docs/development/apps/api/models/global-search.html +110 -54
  56. nautobot/project-static/docs/development/apps/api/models/graphql.html +113 -57
  57. nautobot/project-static/docs/development/apps/api/models/index.html +107 -51
  58. nautobot/project-static/docs/development/apps/api/nautobot-app-config.html +113 -57
  59. nautobot/project-static/docs/development/apps/api/platform-features/custom-validators.html +107 -51
  60. nautobot/project-static/docs/development/apps/api/platform-features/filter-extensions.html +110 -54
  61. nautobot/project-static/docs/development/apps/api/platform-features/git-repository-content.html +107 -51
  62. nautobot/project-static/docs/development/apps/api/platform-features/index.html +107 -51
  63. nautobot/project-static/docs/development/apps/api/platform-features/jinja2-filters.html +110 -54
  64. nautobot/project-static/docs/development/apps/api/platform-features/jobs.html +110 -54
  65. nautobot/project-static/docs/development/apps/api/platform-features/populating-extensibility-features.html +110 -54
  66. nautobot/project-static/docs/development/apps/api/platform-features/secrets-providers.html +110 -54
  67. nautobot/project-static/docs/development/apps/api/platform-features/uniquely-identify-objects.html +107 -51
  68. nautobot/project-static/docs/development/apps/api/prometheus.html +110 -54
  69. nautobot/project-static/docs/development/apps/api/setup.html +107 -51
  70. nautobot/project-static/docs/development/apps/api/testing.html +113 -57
  71. nautobot/project-static/docs/development/apps/api/ui-extensions/banners.html +110 -54
  72. nautobot/project-static/docs/development/apps/api/ui-extensions/home-page.html +110 -54
  73. nautobot/project-static/docs/development/apps/api/ui-extensions/index.html +107 -51
  74. nautobot/project-static/docs/development/apps/api/ui-extensions/navigation.html +107 -51
  75. nautobot/project-static/docs/development/apps/api/ui-extensions/object-views.html +113 -57
  76. nautobot/project-static/docs/development/apps/api/views/base-template.html +107 -51
  77. nautobot/project-static/docs/development/apps/api/views/core-view-overrides.html +110 -54
  78. nautobot/project-static/docs/development/apps/api/views/django-generic-views.html +107 -51
  79. nautobot/project-static/docs/development/apps/api/views/help-documentation.html +110 -54
  80. nautobot/project-static/docs/development/apps/api/views/index.html +107 -51
  81. nautobot/project-static/docs/development/apps/api/views/nautobot-generic-views.html +113 -57
  82. nautobot/project-static/docs/development/apps/api/views/nautobotuiviewset.html +122 -66
  83. nautobot/project-static/docs/development/apps/api/views/nautobotuiviewsetrouter.html +110 -54
  84. nautobot/project-static/docs/development/apps/api/views/notes.html +110 -54
  85. nautobot/project-static/docs/development/apps/api/views/rest-api.html +107 -51
  86. nautobot/project-static/docs/development/apps/api/views/urls.html +107 -51
  87. nautobot/project-static/docs/development/apps/index.html +128 -72
  88. nautobot/project-static/docs/development/apps/migration/code-updates.html +107 -51
  89. nautobot/project-static/docs/development/apps/migration/dependency-updates.html +107 -51
  90. nautobot/project-static/docs/development/apps/migration/from-v1.html +107 -51
  91. nautobot/project-static/docs/development/apps/migration/model-updates/dcim.html +107 -51
  92. nautobot/project-static/docs/development/apps/migration/model-updates/extras.html +107 -51
  93. nautobot/project-static/docs/development/apps/migration/model-updates/global.html +107 -51
  94. nautobot/project-static/docs/development/apps/migration/model-updates/ipam.html +107 -51
  95. nautobot/project-static/docs/development/apps/porting-from-netbox.html +110 -54
  96. nautobot/project-static/docs/development/core/application-registry.html +119 -63
  97. nautobot/project-static/docs/development/core/best-practices.html +122 -66
  98. nautobot/project-static/docs/development/core/bootstrap-ui.html +107 -51
  99. nautobot/project-static/docs/development/core/caching.html +107 -51
  100. nautobot/project-static/docs/development/core/controllers.html +107 -51
  101. nautobot/project-static/docs/development/core/docker-compose-advanced-use-cases.html +113 -57
  102. nautobot/project-static/docs/development/core/generic-views.html +110 -54
  103. nautobot/project-static/docs/development/core/getting-started.html +135 -79
  104. nautobot/project-static/docs/development/core/homepage.html +110 -54
  105. nautobot/project-static/docs/development/core/index.html +107 -51
  106. nautobot/project-static/docs/development/core/model-checklist.html +107 -51
  107. nautobot/project-static/docs/development/core/model-features.html +107 -51
  108. nautobot/project-static/docs/development/core/natural-keys.html +110 -54
  109. nautobot/project-static/docs/development/core/navigation-menu.html +107 -51
  110. nautobot/project-static/docs/development/core/release-checklist.html +107 -51
  111. nautobot/project-static/docs/development/core/role-internals.html +107 -51
  112. nautobot/project-static/docs/development/core/settings.html +107 -51
  113. nautobot/project-static/docs/development/core/style-guide.html +110 -54
  114. nautobot/project-static/docs/development/core/templates.html +113 -57
  115. nautobot/project-static/docs/development/core/testing.html +125 -69
  116. nautobot/project-static/docs/development/core/user-preferences.html +107 -51
  117. nautobot/project-static/docs/development/index.html +107 -51
  118. nautobot/project-static/docs/development/jobs/index.html +173 -117
  119. nautobot/project-static/docs/development/jobs/migration/from-v1.html +110 -54
  120. nautobot/project-static/docs/docker/index.html +3 -3
  121. nautobot/project-static/docs/index.html +125 -69
  122. nautobot/project-static/docs/installation/selinux-troubleshooting.html +3 -3
  123. nautobot/project-static/docs/release-notes/index.html +107 -51
  124. nautobot/project-static/docs/release-notes/version-1.0.html +107 -51
  125. nautobot/project-static/docs/release-notes/version-1.1.html +107 -51
  126. nautobot/project-static/docs/release-notes/version-1.2.html +107 -51
  127. nautobot/project-static/docs/release-notes/version-1.3.html +107 -51
  128. nautobot/project-static/docs/release-notes/version-1.4.html +107 -51
  129. nautobot/project-static/docs/release-notes/version-1.5.html +116 -60
  130. nautobot/project-static/docs/release-notes/version-1.6.html +107 -51
  131. nautobot/project-static/docs/release-notes/version-2.0.html +110 -54
  132. nautobot/project-static/docs/release-notes/version-2.1.html +107 -51
  133. nautobot/project-static/docs/release-notes/version-2.2.html +321 -117
  134. nautobot/project-static/docs/requirements.txt +2 -2
  135. nautobot/project-static/docs/search/search_index.json +1 -1
  136. nautobot/project-static/docs/sitemap.xml +262 -262
  137. nautobot/project-static/docs/sitemap.xml.gz +0 -0
  138. nautobot/project-static/docs/user-guide/administration/configuration/authentication/ldap.html +107 -51
  139. nautobot/project-static/docs/user-guide/administration/configuration/authentication/remote.html +107 -51
  140. nautobot/project-static/docs/user-guide/administration/configuration/authentication/sso.html +107 -51
  141. nautobot/project-static/docs/user-guide/administration/configuration/index.html +107 -51
  142. nautobot/project-static/docs/user-guide/administration/configuration/optional-settings.html +251 -164
  143. nautobot/project-static/docs/user-guide/administration/configuration/required-settings.html +113 -57
  144. nautobot/project-static/docs/user-guide/administration/configuration/time-zones.html +107 -51
  145. nautobot/project-static/docs/user-guide/administration/guides/caching.html +113 -57
  146. nautobot/project-static/docs/user-guide/administration/guides/celery-queues.html +107 -51
  147. nautobot/project-static/docs/user-guide/administration/guides/healthcheck.html +107 -51
  148. nautobot/project-static/docs/user-guide/administration/guides/permissions.html +107 -51
  149. nautobot/project-static/docs/user-guide/administration/guides/prometheus-metrics.html +113 -57
  150. nautobot/project-static/docs/user-guide/administration/guides/replicating-nautobot.html +107 -51
  151. nautobot/project-static/docs/user-guide/administration/guides/request-profiling.html +107 -51
  152. nautobot/project-static/docs/user-guide/administration/guides/s3-django-storage.html +107 -51
  153. nautobot/project-static/docs/user-guide/administration/installation/app-install.html +171 -112
  154. nautobot/project-static/docs/user-guide/administration/installation/docker.html +13 -8626
  155. nautobot/project-static/docs/user-guide/administration/installation/external-authentication.html +117 -61
  156. nautobot/project-static/docs/user-guide/administration/installation/health-checks.html +13 -8614
  157. nautobot/project-static/docs/user-guide/administration/installation/http-server.html +252 -165
  158. nautobot/project-static/docs/user-guide/administration/installation/index.html +165 -192
  159. nautobot/project-static/docs/user-guide/administration/installation/install_system.html +411 -691
  160. nautobot/project-static/docs/user-guide/administration/installation/nautobot.html +248 -229
  161. nautobot/project-static/docs/user-guide/administration/installation/selinux-troubleshooting.html +13 -8118
  162. nautobot/project-static/docs/user-guide/administration/installation/services.html +350 -240
  163. nautobot/project-static/docs/user-guide/administration/installation-extras/docker.html +8684 -0
  164. nautobot/project-static/docs/user-guide/administration/installation-extras/health-checks.html +8672 -0
  165. nautobot/project-static/docs/user-guide/administration/installation-extras/selinux-troubleshooting.html +8176 -0
  166. nautobot/project-static/docs/user-guide/administration/migration/migrating-from-netbox.html +110 -54
  167. nautobot/project-static/docs/user-guide/administration/migration/migrating-from-postgresql.html +110 -54
  168. nautobot/project-static/docs/user-guide/administration/tools/nautobot-server.html +155 -99
  169. nautobot/project-static/docs/user-guide/administration/tools/nautobot-shell.html +107 -51
  170. nautobot/project-static/docs/user-guide/administration/upgrading/database-backup.html +109 -53
  171. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/after-you-upgrade.html +107 -51
  172. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/before-you-upgrade.html +107 -51
  173. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/for-developers.html +107 -51
  174. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/index.html +107 -51
  175. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/whats-changed.html +107 -51
  176. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/region-and-site-data-migration-guide.html +107 -51
  177. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/upgrading-from-nautobot-v1.html +113 -57
  178. nautobot/project-static/docs/user-guide/administration/upgrading/upgrading.html +113 -57
  179. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuit.html +107 -51
  180. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittermination.html +107 -51
  181. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittype.html +107 -51
  182. nautobot/project-static/docs/user-guide/core-data-model/circuits/provider.html +107 -51
  183. nautobot/project-static/docs/user-guide/core-data-model/circuits/providernetwork.html +110 -54
  184. nautobot/project-static/docs/user-guide/core-data-model/dcim/cable.html +107 -51
  185. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleport.html +110 -54
  186. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleporttemplate.html +110 -54
  187. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverport.html +110 -54
  188. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverporttemplate.html +110 -54
  189. nautobot/project-static/docs/user-guide/core-data-model/dcim/controller.html +107 -51
  190. nautobot/project-static/docs/user-guide/core-data-model/dcim/controllermanageddevicegroup.html +107 -51
  191. nautobot/project-static/docs/user-guide/core-data-model/dcim/device.html +113 -57
  192. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebay.html +110 -54
  193. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebaytemplate.html +110 -54
  194. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicefamily.html +110 -54
  195. nautobot/project-static/docs/user-guide/core-data-model/dcim/deviceredundancygroup.html +110 -54
  196. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicetype.html +116 -60
  197. nautobot/project-static/docs/user-guide/core-data-model/dcim/frontport.html +110 -54
  198. nautobot/project-static/docs/user-guide/core-data-model/dcim/frontporttemplate.html +110 -54
  199. nautobot/project-static/docs/user-guide/core-data-model/dcim/interface.html +119 -63
  200. nautobot/project-static/docs/user-guide/core-data-model/dcim/interfaceredundancygroup.html +110 -54
  201. nautobot/project-static/docs/user-guide/core-data-model/dcim/interfacetemplate.html +110 -54
  202. nautobot/project-static/docs/user-guide/core-data-model/dcim/inventoryitem.html +113 -57
  203. nautobot/project-static/docs/user-guide/core-data-model/dcim/location.html +113 -57
  204. nautobot/project-static/docs/user-guide/core-data-model/dcim/locationtype.html +113 -57
  205. nautobot/project-static/docs/user-guide/core-data-model/dcim/manufacturer.html +107 -51
  206. nautobot/project-static/docs/user-guide/core-data-model/dcim/platform.html +113 -57
  207. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerfeed.html +107 -51
  208. nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlet.html +110 -54
  209. nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlettemplate.html +110 -54
  210. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerpanel.html +107 -51
  211. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerport.html +110 -54
  212. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerporttemplate.html +110 -54
  213. nautobot/project-static/docs/user-guide/core-data-model/dcim/rack.html +107 -51
  214. nautobot/project-static/docs/user-guide/core-data-model/dcim/rackgroup.html +107 -51
  215. nautobot/project-static/docs/user-guide/core-data-model/dcim/rackreservation.html +107 -51
  216. nautobot/project-static/docs/user-guide/core-data-model/dcim/rearport.html +110 -54
  217. nautobot/project-static/docs/user-guide/core-data-model/dcim/rearporttemplate.html +110 -54
  218. nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareimagefile.html +110 -54
  219. nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareversion.html +110 -54
  220. nautobot/project-static/docs/user-guide/core-data-model/dcim/virtualchassis.html +107 -51
  221. nautobot/project-static/docs/user-guide/core-data-model/extras/configcontext.html +113 -57
  222. nautobot/project-static/docs/user-guide/core-data-model/extras/configcontextschema.html +110 -54
  223. nautobot/project-static/docs/user-guide/core-data-model/extras/contact.html +110 -54
  224. nautobot/project-static/docs/user-guide/core-data-model/extras/team.html +110 -54
  225. nautobot/project-static/docs/user-guide/core-data-model/ipam/ipaddress.html +125 -69
  226. nautobot/project-static/docs/user-guide/core-data-model/ipam/namespace.html +113 -57
  227. nautobot/project-static/docs/user-guide/core-data-model/ipam/prefix.html +128 -72
  228. nautobot/project-static/docs/user-guide/core-data-model/ipam/rir.html +110 -54
  229. nautobot/project-static/docs/user-guide/core-data-model/ipam/routetarget.html +107 -51
  230. nautobot/project-static/docs/user-guide/core-data-model/ipam/service.html +110 -54
  231. nautobot/project-static/docs/user-guide/core-data-model/ipam/vlan.html +116 -60
  232. nautobot/project-static/docs/user-guide/core-data-model/ipam/vlangroup.html +107 -51
  233. nautobot/project-static/docs/user-guide/core-data-model/ipam/vrf.html +113 -57
  234. nautobot/project-static/docs/user-guide/core-data-model/overview/introduction.html +107 -51
  235. nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenant.html +110 -54
  236. nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenantgroup.html +107 -51
  237. nautobot/project-static/docs/user-guide/core-data-model/virtualization/cluster.html +107 -51
  238. nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustergroup.html +107 -51
  239. nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustertype.html +107 -51
  240. nautobot/project-static/docs/user-guide/core-data-model/virtualization/virtualmachine.html +113 -57
  241. nautobot/project-static/docs/user-guide/core-data-model/virtualization/vminterface.html +113 -57
  242. nautobot/project-static/docs/user-guide/feature-guides/contacts-and-teams.html +107 -51
  243. nautobot/project-static/docs/user-guide/feature-guides/custom-fields.html +113 -57
  244. nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-devices.html +107 -51
  245. nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-location-types-and-locations.html +107 -51
  246. nautobot/project-static/docs/user-guide/feature-guides/getting-started/index.html +107 -51
  247. nautobot/project-static/docs/user-guide/feature-guides/getting-started/interfaces.html +107 -51
  248. nautobot/project-static/docs/user-guide/feature-guides/getting-started/ipam.html +107 -51
  249. nautobot/project-static/docs/user-guide/feature-guides/getting-started/platforms.html +107 -51
  250. nautobot/project-static/docs/user-guide/feature-guides/getting-started/search-bar.html +107 -51
  251. nautobot/project-static/docs/user-guide/feature-guides/getting-started/tenants.html +107 -51
  252. nautobot/project-static/docs/user-guide/feature-guides/getting-started/vlans-and-vlan-groups.html +107 -51
  253. nautobot/project-static/docs/user-guide/feature-guides/git-data-source.html +110 -54
  254. nautobot/project-static/docs/user-guide/feature-guides/graphql.html +113 -57
  255. nautobot/project-static/docs/user-guide/feature-guides/ip-address-merge-tool.html +107 -51
  256. nautobot/project-static/docs/user-guide/feature-guides/relationships.html +110 -54
  257. nautobot/project-static/docs/user-guide/feature-guides/software-image-files-and-versions.html +107 -51
  258. nautobot/project-static/docs/user-guide/index.html +109 -53
  259. nautobot/project-static/docs/user-guide/platform-functionality/change-logging.html +107 -51
  260. nautobot/project-static/docs/user-guide/platform-functionality/computedfield.html +113 -57
  261. nautobot/project-static/docs/user-guide/platform-functionality/customfield.html +128 -72
  262. nautobot/project-static/docs/user-guide/platform-functionality/customlink.html +107 -51
  263. nautobot/project-static/docs/user-guide/platform-functionality/dynamicgroup.html +125 -69
  264. nautobot/project-static/docs/user-guide/platform-functionality/exporttemplate.html +107 -51
  265. nautobot/project-static/docs/user-guide/platform-functionality/externalintegration.html +110 -54
  266. nautobot/project-static/docs/user-guide/platform-functionality/gitrepository.html +125 -69
  267. nautobot/project-static/docs/user-guide/platform-functionality/graphql.html +110 -54
  268. nautobot/project-static/docs/user-guide/platform-functionality/graphqlquery.html +107 -51
  269. nautobot/project-static/docs/user-guide/platform-functionality/imageattachment.html +107 -51
  270. nautobot/project-static/docs/user-guide/platform-functionality/jobs/index.html +128 -72
  271. nautobot/project-static/docs/user-guide/platform-functionality/jobs/job-scheduling-and-approvals.html +113 -57
  272. nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobbutton.html +113 -57
  273. nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobhook.html +110 -54
  274. nautobot/project-static/docs/user-guide/platform-functionality/jobs/models.html +119 -63
  275. nautobot/project-static/docs/user-guide/platform-functionality/napalm.html +107 -51
  276. nautobot/project-static/docs/user-guide/platform-functionality/note.html +110 -54
  277. nautobot/project-static/docs/user-guide/platform-functionality/relationship.html +116 -60
  278. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/authentication.html +110 -54
  279. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/filtering.html +131 -75
  280. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/overview.html +149 -93
  281. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/ui-related-endpoints.html +110 -54
  282. nautobot/project-static/docs/user-guide/platform-functionality/role.html +107 -51
  283. nautobot/project-static/docs/user-guide/platform-functionality/secret.html +116 -60
  284. nautobot/project-static/docs/user-guide/platform-functionality/status.html +119 -63
  285. nautobot/project-static/docs/user-guide/platform-functionality/tag.html +110 -54
  286. nautobot/project-static/docs/user-guide/platform-functionality/template-filters.html +137 -81
  287. nautobot/project-static/docs/user-guide/platform-functionality/users/objectpermission.html +110 -54
  288. nautobot/project-static/docs/user-guide/platform-functionality/users/token.html +107 -51
  289. nautobot/project-static/docs/user-guide/platform-functionality/webhook.html +110 -54
  290. nautobot/tenancy/views.py +2 -6
  291. nautobot/virtualization/views.py +5 -9
  292. {nautobot-2.2.3.dist-info → nautobot-2.2.4.dist-info}/METADATA +2 -2
  293. {nautobot-2.2.3.dist-info → nautobot-2.2.4.dist-info}/RECORD +297 -294
  294. nautobot/project-static/docs/assets/javascripts/bundle.bd41221c.min.js +0 -29
  295. nautobot/project-static/docs/assets/javascripts/bundle.bd41221c.min.js.map +0 -7
  296. nautobot/project-static/docs/assets/stylesheets/main.bcfcd587.min.css +0 -1
  297. nautobot/project-static/docs/assets/stylesheets/main.bcfcd587.min.css.map +0 -1
  298. {nautobot-2.2.3.dist-info → nautobot-2.2.4.dist-info}/LICENSE.txt +0 -0
  299. {nautobot-2.2.3.dist-info → nautobot-2.2.4.dist-info}/NOTICE +0 -0
  300. {nautobot-2.2.3.dist-info → nautobot-2.2.4.dist-info}/WHEEL +0 -0
  301. {nautobot-2.2.3.dist-info → nautobot-2.2.4.dist-info}/entry_points.txt +0 -0
@@ -18,7 +18,7 @@
18
18
 
19
19
 
20
20
  <link rel="icon" href="../../../assets/favicon.ico">
21
- <meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.16">
21
+ <meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.18">
22
22
 
23
23
 
24
24
 
@@ -26,12 +26,20 @@
26
26
 
27
27
 
28
28
 
29
- <link rel="stylesheet" href="../../../assets/stylesheets/main.bcfcd587.min.css">
29
+ <link rel="stylesheet" href="../../../assets/stylesheets/main.66ac8b77.min.css">
30
30
 
31
31
 
32
32
  <link rel="stylesheet" href="../../../assets/stylesheets/palette.06af60db.min.css">
33
33
 
34
34
 
35
+
36
+
37
+
38
+
39
+
40
+
41
+ <style>:root{--md-admonition-icon--example:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M288 0H128c-17.7 0-32 14.3-32 32s14.3 32 32 32v132.8c0 11.8-3.3 23.5-9.5 33.5L10.3 406.2C3.6 417.2 0 429.7 0 442.6 0 480.9 31.1 512 69.4 512h309.2c38.3 0 69.4-31.1 69.4-69.4 0-12.8-3.6-25.4-10.3-36.4L329.5 230.4c-6.2-10.1-9.5-21.7-9.5-33.5V64c17.7 0 32-14.3 32-32S337.7 0 320 0h-32zm-96 196.8V64h64v132.8c0 23.7 6.6 46.9 19 67.1l34.5 56.1h-171l34.5-56.1c12.4-20.2 19-43.4 19-67.1z"/></svg>');}</style>
42
+
35
43
 
36
44
 
37
45
 
@@ -200,7 +208,7 @@
200
208
  <a href="https://github.com/nautobot/nautobot" title="Go to repository" class="md-source" data-md-component="source">
201
209
  <div class="md-source__icon md-icon">
202
210
 
203
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
211
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
204
212
  </div>
205
213
  <div class="md-source__repository">
206
214
  GitHub
@@ -360,7 +368,7 @@
360
368
  <a href="https://github.com/nautobot/nautobot" title="Go to repository" class="md-source" data-md-component="source">
361
369
  <div class="md-source__icon md-icon">
362
370
 
363
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
371
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
364
372
  </div>
365
373
  <div class="md-source__repository">
366
374
  GitHub
@@ -532,7 +540,7 @@
532
540
 
533
541
 
534
542
  <span class="md-ellipsis">
535
- Prerequisites
543
+ Getting Started
536
544
  </span>
537
545
 
538
546
 
@@ -615,15 +623,6 @@
615
623
  </label>
616
624
  <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
617
625
 
618
- <li class="md-nav__item">
619
- <a href="#choose-your-nautobot_root" class="md-nav__link">
620
- <span class="md-ellipsis">
621
- Choose your NAUTOBOT_ROOT
622
- </span>
623
- </a>
624
-
625
- </li>
626
-
627
626
  <li class="md-nav__item">
628
627
  <a href="#create-the-nautobot-system-user" class="md-nav__link">
629
628
  <span class="md-ellipsis">
@@ -673,15 +672,6 @@
673
672
  </span>
674
673
  </a>
675
674
 
676
- </li>
677
-
678
- <li class="md-nav__item">
679
- <a href="#understanding-the-virtual-environment" class="md-nav__link">
680
- <span class="md-ellipsis">
681
- Understanding the Virtual Environment
682
- </span>
683
- </a>
684
-
685
675
  </li>
686
676
 
687
677
  <li class="md-nav__item">
@@ -737,54 +727,15 @@
737
727
  </span>
738
728
  </a>
739
729
 
740
- <nav class="md-nav" aria-label="Required Settings">
741
- <ul class="md-nav__list">
742
-
743
- <li class="md-nav__item">
744
- <a href="#mysql-unicode-settings" class="md-nav__link">
745
- <span class="md-ellipsis">
746
- MySQL Unicode Settings
747
- </span>
748
- </a>
749
-
750
- </li>
751
-
752
- </ul>
753
- </nav>
754
-
755
730
  </li>
756
731
 
757
- </ul>
758
- </nav>
759
-
760
- </li>
761
-
762
- <li class="md-nav__item">
732
+ <li class="md-nav__item">
763
733
  <a href="#optional-settings" class="md-nav__link">
764
734
  <span class="md-ellipsis">
765
735
  Optional Settings
766
736
  </span>
767
737
  </a>
768
738
 
769
- <nav class="md-nav" aria-label="Optional Settings">
770
- <ul class="md-nav__list">
771
-
772
- <li class="md-nav__item">
773
- <a href="#configuring-napalm" class="md-nav__link">
774
- <span class="md-ellipsis">
775
- Configuring NAPALM
776
- </span>
777
- </a>
778
-
779
- </li>
780
-
781
- <li class="md-nav__item">
782
- <a href="#remote-file-storage" class="md-nav__link">
783
- <span class="md-ellipsis">
784
- Remote File Storage
785
- </span>
786
- </a>
787
-
788
739
  </li>
789
740
 
790
741
  </ul>
@@ -904,11 +855,11 @@
904
855
 
905
856
 
906
857
  <li class="md-nav__item">
907
- <a href="external-authentication.html" class="md-nav__link">
858
+ <a href="app-install.html" class="md-nav__link">
908
859
 
909
860
 
910
861
  <span class="md-ellipsis">
911
- External Authentication (Optional)
862
+ Installing and Using Apps
912
863
  </span>
913
864
 
914
865
 
@@ -925,11 +876,11 @@
925
876
 
926
877
 
927
878
  <li class="md-nav__item">
928
- <a href="app-install.html" class="md-nav__link">
879
+ <a href="external-authentication.html" class="md-nav__link">
929
880
 
930
881
 
931
882
  <span class="md-ellipsis">
932
- Installing and Using Plugins
883
+ External Authentication (Optional)
933
884
  </span>
934
885
 
935
886
 
@@ -939,6 +890,52 @@
939
890
 
940
891
 
941
892
 
893
+ </ul>
894
+ </nav>
895
+
896
+ </li>
897
+
898
+
899
+
900
+
901
+
902
+
903
+
904
+
905
+
906
+
907
+
908
+
909
+
910
+
911
+
912
+
913
+
914
+ <li class="md-nav__item md-nav__item--nested">
915
+
916
+
917
+
918
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1_2" >
919
+
920
+
921
+ <label class="md-nav__link" for="__nav_2_1_2" id="__nav_2_1_2_label" tabindex="0">
922
+
923
+
924
+ <span class="md-ellipsis">
925
+ Installation Extras
926
+ </span>
927
+
928
+
929
+ <span class="md-nav__icon md-icon"></span>
930
+ </label>
931
+
932
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_1_2_label" aria-expanded="false">
933
+ <label class="md-nav__title" for="__nav_2_1_2">
934
+ <span class="md-nav__icon md-icon"></span>
935
+ Installation Extras
936
+ </label>
937
+ <ul class="md-nav__list" data-md-scrollfix>
938
+
942
939
 
943
940
 
944
941
 
@@ -946,7 +943,7 @@
946
943
 
947
944
 
948
945
  <li class="md-nav__item">
949
- <a href="docker.html" class="md-nav__link">
946
+ <a href="../installation-extras/docker.html" class="md-nav__link">
950
947
 
951
948
 
952
949
  <span class="md-ellipsis">
@@ -967,7 +964,7 @@
967
964
 
968
965
 
969
966
  <li class="md-nav__item">
970
- <a href="health-checks.html" class="md-nav__link">
967
+ <a href="../installation-extras/health-checks.html" class="md-nav__link">
971
968
 
972
969
 
973
970
  <span class="md-ellipsis">
@@ -988,7 +985,7 @@
988
985
 
989
986
 
990
987
  <li class="md-nav__item">
991
- <a href="selinux-troubleshooting.html" class="md-nav__link">
988
+ <a href="../installation-extras/selinux-troubleshooting.html" class="md-nav__link">
992
989
 
993
990
 
994
991
  <span class="md-ellipsis">
@@ -1027,10 +1024,10 @@
1027
1024
 
1028
1025
 
1029
1026
 
1030
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1_2" >
1027
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1_3" >
1031
1028
 
1032
1029
 
1033
- <label class="md-nav__link" for="__nav_2_1_2" id="__nav_2_1_2_label" tabindex="0">
1030
+ <label class="md-nav__link" for="__nav_2_1_3" id="__nav_2_1_3_label" tabindex="0">
1034
1031
 
1035
1032
 
1036
1033
  <span class="md-ellipsis">
@@ -1041,8 +1038,8 @@
1041
1038
  <span class="md-nav__icon md-icon"></span>
1042
1039
  </label>
1043
1040
 
1044
- <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_1_2_label" aria-expanded="false">
1045
- <label class="md-nav__title" for="__nav_2_1_2">
1041
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_1_3_label" aria-expanded="false">
1042
+ <label class="md-nav__title" for="__nav_2_1_3">
1046
1043
  <span class="md-nav__icon md-icon"></span>
1047
1044
  Upgrading
1048
1045
  </label>
@@ -1107,7 +1104,7 @@
1107
1104
 
1108
1105
 
1109
1106
 
1110
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1_2_3" >
1107
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1_3_3" >
1111
1108
 
1112
1109
 
1113
1110
 
@@ -1123,14 +1120,14 @@
1123
1120
  </a>
1124
1121
 
1125
1122
 
1126
- <label class="md-nav__link " for="__nav_2_1_2_3" id="__nav_2_1_2_3_label" tabindex="0">
1123
+ <label class="md-nav__link " for="__nav_2_1_3_3" id="__nav_2_1_3_3_label" tabindex="0">
1127
1124
  <span class="md-nav__icon md-icon"></span>
1128
1125
  </label>
1129
1126
 
1130
1127
  </div>
1131
1128
 
1132
- <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_1_2_3_label" aria-expanded="false">
1133
- <label class="md-nav__title" for="__nav_2_1_2_3">
1129
+ <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_1_3_3_label" aria-expanded="false">
1130
+ <label class="md-nav__title" for="__nav_2_1_3_3">
1134
1131
  <span class="md-nav__icon md-icon"></span>
1135
1132
  Upgrading Nautobot from v1.X to v2.0
1136
1133
  </label>
@@ -1174,7 +1171,7 @@
1174
1171
 
1175
1172
 
1176
1173
 
1177
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1_2_3_2" >
1174
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1_3_3_2" >
1178
1175
 
1179
1176
 
1180
1177
 
@@ -1190,14 +1187,14 @@
1190
1187
  </a>
1191
1188
 
1192
1189
 
1193
- <label class="md-nav__link " for="__nav_2_1_2_3_2" id="__nav_2_1_2_3_2_label" tabindex="0">
1190
+ <label class="md-nav__link " for="__nav_2_1_3_3_2" id="__nav_2_1_3_3_2_label" tabindex="0">
1194
1191
  <span class="md-nav__icon md-icon"></span>
1195
1192
  </label>
1196
1193
 
1197
1194
  </div>
1198
1195
 
1199
- <nav class="md-nav" data-md-level="5" aria-labelledby="__nav_2_1_2_3_2_label" aria-expanded="false">
1200
- <label class="md-nav__title" for="__nav_2_1_2_3_2">
1196
+ <nav class="md-nav" data-md-level="5" aria-labelledby="__nav_2_1_3_3_2_label" aria-expanded="false">
1197
+ <label class="md-nav__title" for="__nav_2_1_3_3_2">
1201
1198
  <span class="md-nav__icon md-icon"></span>
1202
1199
  IPAM Migration Guide
1203
1200
  </label>
@@ -1328,10 +1325,10 @@
1328
1325
 
1329
1326
 
1330
1327
 
1331
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1_3" >
1328
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1_4" >
1332
1329
 
1333
1330
 
1334
- <label class="md-nav__link" for="__nav_2_1_3" id="__nav_2_1_3_label" tabindex="0">
1331
+ <label class="md-nav__link" for="__nav_2_1_4" id="__nav_2_1_4_label" tabindex="0">
1335
1332
 
1336
1333
 
1337
1334
  <span class="md-ellipsis">
@@ -1342,8 +1339,8 @@
1342
1339
  <span class="md-nav__icon md-icon"></span>
1343
1340
  </label>
1344
1341
 
1345
- <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_1_3_label" aria-expanded="false">
1346
- <label class="md-nav__title" for="__nav_2_1_3">
1342
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_1_4_label" aria-expanded="false">
1343
+ <label class="md-nav__title" for="__nav_2_1_4">
1347
1344
  <span class="md-nav__icon md-icon"></span>
1348
1345
  Migration
1349
1346
  </label>
@@ -1416,7 +1413,7 @@
1416
1413
 
1417
1414
 
1418
1415
 
1419
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1_4" >
1416
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1_5" >
1420
1417
 
1421
1418
 
1422
1419
 
@@ -1432,14 +1429,14 @@
1432
1429
  </a>
1433
1430
 
1434
1431
 
1435
- <label class="md-nav__link " for="__nav_2_1_4" id="__nav_2_1_4_label" tabindex="0">
1432
+ <label class="md-nav__link " for="__nav_2_1_5" id="__nav_2_1_5_label" tabindex="0">
1436
1433
  <span class="md-nav__icon md-icon"></span>
1437
1434
  </label>
1438
1435
 
1439
1436
  </div>
1440
1437
 
1441
- <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_1_4_label" aria-expanded="false">
1442
- <label class="md-nav__title" for="__nav_2_1_4">
1438
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_1_5_label" aria-expanded="false">
1439
+ <label class="md-nav__title" for="__nav_2_1_5">
1443
1440
  <span class="md-nav__icon md-icon"></span>
1444
1441
  Configuration
1445
1442
  </label>
@@ -1525,10 +1522,10 @@
1525
1522
 
1526
1523
 
1527
1524
 
1528
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1_4_4" >
1525
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1_5_4" >
1529
1526
 
1530
1527
 
1531
- <label class="md-nav__link" for="__nav_2_1_4_4" id="__nav_2_1_4_4_label" tabindex="0">
1528
+ <label class="md-nav__link" for="__nav_2_1_5_4" id="__nav_2_1_5_4_label" tabindex="0">
1532
1529
 
1533
1530
 
1534
1531
  <span class="md-ellipsis">
@@ -1539,8 +1536,8 @@
1539
1536
  <span class="md-nav__icon md-icon"></span>
1540
1537
  </label>
1541
1538
 
1542
- <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_1_4_4_label" aria-expanded="false">
1543
- <label class="md-nav__title" for="__nav_2_1_4_4">
1539
+ <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_1_5_4_label" aria-expanded="false">
1540
+ <label class="md-nav__title" for="__nav_2_1_5_4">
1544
1541
  <span class="md-nav__icon md-icon"></span>
1545
1542
  External Authentication
1546
1543
  </label>
@@ -1642,10 +1639,10 @@
1642
1639
 
1643
1640
 
1644
1641
 
1645
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1_5" >
1642
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1_6" >
1646
1643
 
1647
1644
 
1648
- <label class="md-nav__link" for="__nav_2_1_5" id="__nav_2_1_5_label" tabindex="0">
1645
+ <label class="md-nav__link" for="__nav_2_1_6" id="__nav_2_1_6_label" tabindex="0">
1649
1646
 
1650
1647
 
1651
1648
  <span class="md-ellipsis">
@@ -1656,8 +1653,8 @@
1656
1653
  <span class="md-nav__icon md-icon"></span>
1657
1654
  </label>
1658
1655
 
1659
- <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_1_5_label" aria-expanded="false">
1660
- <label class="md-nav__title" for="__nav_2_1_5">
1656
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_1_6_label" aria-expanded="false">
1657
+ <label class="md-nav__title" for="__nav_2_1_6">
1661
1658
  <span class="md-nav__icon md-icon"></span>
1662
1659
  Tools
1663
1660
  </label>
@@ -1730,10 +1727,10 @@
1730
1727
 
1731
1728
 
1732
1729
 
1733
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1_6" >
1730
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1_7" >
1734
1731
 
1735
1732
 
1736
- <label class="md-nav__link" for="__nav_2_1_6" id="__nav_2_1_6_label" tabindex="0">
1733
+ <label class="md-nav__link" for="__nav_2_1_7" id="__nav_2_1_7_label" tabindex="0">
1737
1734
 
1738
1735
 
1739
1736
  <span class="md-ellipsis">
@@ -1744,8 +1741,8 @@
1744
1741
  <span class="md-nav__icon md-icon"></span>
1745
1742
  </label>
1746
1743
 
1747
- <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_1_6_label" aria-expanded="false">
1748
- <label class="md-nav__title" for="__nav_2_1_6">
1744
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_1_7_label" aria-expanded="false">
1745
+ <label class="md-nav__title" for="__nav_2_1_7">
1749
1746
  <span class="md-nav__icon md-icon"></span>
1750
1747
  Guides
1751
1748
  </label>
@@ -7978,15 +7975,6 @@
7978
7975
  </label>
7979
7976
  <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
7980
7977
 
7981
- <li class="md-nav__item">
7982
- <a href="#choose-your-nautobot_root" class="md-nav__link">
7983
- <span class="md-ellipsis">
7984
- Choose your NAUTOBOT_ROOT
7985
- </span>
7986
- </a>
7987
-
7988
- </li>
7989
-
7990
7978
  <li class="md-nav__item">
7991
7979
  <a href="#create-the-nautobot-system-user" class="md-nav__link">
7992
7980
  <span class="md-ellipsis">
@@ -8036,15 +8024,6 @@
8036
8024
  </span>
8037
8025
  </a>
8038
8026
 
8039
- </li>
8040
-
8041
- <li class="md-nav__item">
8042
- <a href="#understanding-the-virtual-environment" class="md-nav__link">
8043
- <span class="md-ellipsis">
8044
- Understanding the Virtual Environment
8045
- </span>
8046
- </a>
8047
-
8048
8027
  </li>
8049
8028
 
8050
8029
  <li class="md-nav__item">
@@ -8100,54 +8079,15 @@
8100
8079
  </span>
8101
8080
  </a>
8102
8081
 
8103
- <nav class="md-nav" aria-label="Required Settings">
8104
- <ul class="md-nav__list">
8105
-
8106
- <li class="md-nav__item">
8107
- <a href="#mysql-unicode-settings" class="md-nav__link">
8108
- <span class="md-ellipsis">
8109
- MySQL Unicode Settings
8110
- </span>
8111
- </a>
8112
-
8113
8082
  </li>
8114
8083
 
8115
- </ul>
8116
- </nav>
8117
-
8118
- </li>
8119
-
8120
- </ul>
8121
- </nav>
8122
-
8123
- </li>
8124
-
8125
- <li class="md-nav__item">
8084
+ <li class="md-nav__item">
8126
8085
  <a href="#optional-settings" class="md-nav__link">
8127
8086
  <span class="md-ellipsis">
8128
8087
  Optional Settings
8129
8088
  </span>
8130
8089
  </a>
8131
8090
 
8132
- <nav class="md-nav" aria-label="Optional Settings">
8133
- <ul class="md-nav__list">
8134
-
8135
- <li class="md-nav__item">
8136
- <a href="#configuring-napalm" class="md-nav__link">
8137
- <span class="md-ellipsis">
8138
- Configuring NAPALM
8139
- </span>
8140
- </a>
8141
-
8142
- </li>
8143
-
8144
- <li class="md-nav__item">
8145
- <a href="#remote-file-storage" class="md-nav__link">
8146
- <span class="md-ellipsis">
8147
- Remote File Storage
8148
- </span>
8149
- </a>
8150
-
8151
8091
  </li>
8152
8092
 
8153
8093
  </ul>
@@ -8243,21 +8183,25 @@
8243
8183
  <p class="admonition-title">Important</p>
8244
8184
  <p>Your database server and Redis must have been successfully installed before continuing with deployment steps. If you haven't done that yet, please visit the guide on <a href="index.html#installing-nautobot-dependencies">Installing Nautobot Dependencies</a></p>
8245
8185
  </div>
8246
- <h2 id="choose-your-nautobot_root">Choose your <code>NAUTOBOT_ROOT</code><a class="headerlink" href="#choose-your-nautobot_root" title="Permanent link">&para;</a></h2>
8186
+ <h2 id="create-the-nautobot-system-user">Create the Nautobot System User<a class="headerlink" href="#create-the-nautobot-system-user" title="Permanent link">&para;</a></h2>
8187
+ <p>Create a system user account named <code>nautobot</code>. This user will own all of the Nautobot files, and the Nautobot web services will be configured to run under this account.</p>
8188
+ <details class="abstract">
8189
+ <summary>Choosing Nautobot Root</summary>
8247
8190
  <p>You need to select a directory path where everything related to Nautobot will be installed. We will use this value across the documentation and it will be referred to as <code>NAUTOBOT_ROOT</code>.</p>
8248
8191
  <p>We will be using this path as the home directory of the <code>nautobot</code> user.</p>
8249
8192
  <div class="admonition tip">
8250
8193
  <p class="admonition-title">Tip</p>
8251
8194
  <p>We have selected <code>/opt/nautobot</code>, but you may use any directory you choose.</p>
8252
8195
  </div>
8253
- <p>Later on, we will need to set this directory path as the <code>NAUTOBOT_ROOT</code> environment variable to tell Nautobot where to find its files and settings.</p>
8254
- <h2 id="create-the-nautobot-system-user">Create the Nautobot System User<a class="headerlink" href="#create-the-nautobot-system-user" title="Permanent link">&para;</a></h2>
8255
- <p>Create a system user account named <code>nautobot</code>. This user will own all of the Nautobot files, and the Nautobot web services will be configured to run under this account.</p>
8196
+ </details>
8256
8197
  <p>The following command also creates the <code>/opt/nautobot</code> directory and sets it as the home directory for the user.</p>
8257
- <div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a>sudo useradd --system --shell /bin/bash --create-home --home-dir /opt/nautobot nautobot
8198
+ <div class="highlight"><span class="filename">Add system user</span><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a>sudo useradd --system --shell /bin/bash --create-home --home-dir /opt/nautobot nautobot
8258
8199
  </code></pre></div>
8259
8200
  <h2 id="setup-the-virtual-environment">Setup the Virtual Environment<a class="headerlink" href="#setup-the-virtual-environment" title="Permanent link">&para;</a></h2>
8201
+ <details class="info">
8202
+ <summary>Python Virtual Environment</summary>
8260
8203
  <p>A Python <a href="https://docs.python.org/3/tutorial/venv.html">virtual environment</a> or <em>virtualenv</em> is like a container for a set of Python packages. A virtualenv allows you to build environments suited to specific projects without interfering with system packages or other projects.</p>
8204
+ </details>
8261
8205
  <p>When installed per the documentation, Nautobot uses a virtual environment in production.</p>
8262
8206
  <p>In the following steps, we will have you create the virtualenv within the <code>NAUTOBOT_ROOT</code> you chose in the previous step. This is the same we had you set as the home directory as the <code>nautobot</code> user.</p>
8263
8207
  <div class="admonition note">
@@ -8266,14 +8210,14 @@
8266
8210
  </div>
8267
8211
  <h3 id="create-the-virtual-environment">Create the Virtual Environment<a class="headerlink" href="#create-the-virtual-environment" title="Permanent link">&para;</a></h3>
8268
8212
  <p>As root, we're going to create the virtualenv in our <code>NAUTOBOT_ROOT</code> as the <code>nautobot</code> user to populate the <code>/opt/nautobot</code> directory with a self-contained Python environment including a <code>bin</code> directory for scripts and a <code>lib</code> directory for Python libraries.</p>
8269
- <div class="tabbed-set tabbed-alternate" data-tabs="1:2"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">Ubuntu/Debian</label><label for="__tabbed_1_2">CentOS/RHEL8</label></div>
8213
+ <div class="tabbed-set tabbed-alternate" data-tabs="1:2"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">Ubuntu/Debian</label><label for="__tabbed_1_2">RHEL8</label></div>
8270
8214
  <div class="tabbed-content">
8271
8215
  <div class="tabbed-block">
8272
- <div class="highlight"><pre><span></span><code><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a>sudo -u nautobot python3 -m venv /opt/nautobot
8216
+ <div class="highlight"><span class="filename">Create the Virtual Environment</span><pre><span></span><code><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a>sudo -u nautobot python3 -m venv /opt/nautobot
8273
8217
  </code></pre></div>
8274
8218
  </div>
8275
8219
  <div class="tabbed-block">
8276
- <div class="highlight"><pre><span></span><code><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a>sudo -u nautobot python3.8 -m venv /opt/nautobot
8220
+ <div class="highlight"><span class="filename">Create the Virtual Environment</span><pre><span></span><code><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a>sudo -u nautobot python3.8 -m venv /opt/nautobot
8277
8221
  </code></pre></div>
8278
8222
  </div>
8279
8223
  </div>
@@ -8282,139 +8226,199 @@
8282
8226
  <p>So what about the <code>NAUTOBOT_ROOT</code>? We've referenced this environment variable several times. Here is where it finally gets set.</p>
8283
8227
  <p>We need to set the <code>NAUTOBOT_ROOT</code> environment variable for the <code>nautobot</code> user and make sure that it always set without having to do it manually.</p>
8284
8228
  <p>Run this command to update <code>~/.bashrc</code> for <code>nautobot</code> so that anytime you become <code>nautobot</code>, your <code>NAUTOBOT_ROOT</code> will be set automatically.</p>
8285
- <div class="highlight"><pre><span></span><code><a id="__codelineno-3-1" name="__codelineno-3-1" href="#__codelineno-3-1"></a>echo &quot;export NAUTOBOT_ROOT=/opt/nautobot&quot; | sudo tee -a ~nautobot/.bashrc
8229
+ <div class="highlight"><span class="filename">Add NAUTOBOT_ROOT to the nautobot user .bashrc file</span><pre><span></span><code><a id="__codelineno-3-1" name="__codelineno-3-1" href="#__codelineno-3-1"></a>echo &quot;export NAUTOBOT_ROOT=/opt/nautobot&quot; | sudo tee -a ~nautobot/.bashrc
8286
8230
  </code></pre></div>
8231
+ <details class="example">
8232
+ <summary>Example bashrc update output</summary>
8233
+ <div class="highlight"><span class="filename">Example output of updating bashrc</span><pre><span></span><code><a id="__codelineno-4-1" name="__codelineno-4-1" href="#__codelineno-4-1"></a>export NAUTOBOT_ROOT=/opt/nautobot
8234
+ </code></pre></div>
8235
+ </details>
8287
8236
  <h2 id="sudo-to-nautobot">Sudo to nautobot<a class="headerlink" href="#sudo-to-nautobot" title="Permanent link">&para;</a></h2>
8288
8237
  <p>It is critical to install Nautobot as the <code>nautobot</code> user so that we don't have to worry about fixing permissions later.</p>
8289
- <div class="highlight"><pre><span></span><code><a id="__codelineno-4-1" name="__codelineno-4-1" href="#__codelineno-4-1"></a>sudo -iu nautobot
8238
+ <div class="highlight"><span class="filename">Log into the nautobot user</span><pre><span></span><code><a id="__codelineno-5-1" name="__codelineno-5-1" href="#__codelineno-5-1"></a>sudo -iu nautobot
8290
8239
  </code></pre></div>
8240
+ <details class="note">
8241
+ <summary>Validate the NAUTOBOT_ROOT variable</summary>
8291
8242
  <p>Observe also that you can now echo the value of the <code>NAUTOBOT_ROOT</code> environment variable that is automatically set because we added to <code>.bashrc</code>:</p>
8292
- <div class="highlight"><pre><span></span><code><a id="__codelineno-5-1" name="__codelineno-5-1" href="#__codelineno-5-1"></a>echo $NAUTOBOT_ROOT
8243
+ <div class="highlight"><span class="filename">Verify Nautobot Root</span><pre><span></span><code><a id="__codelineno-6-1" name="__codelineno-6-1" href="#__codelineno-6-1"></a>echo $NAUTOBOT_ROOT
8293
8244
  </code></pre></div>
8294
- <p>Example output:</p>
8295
- <div class="highlight"><pre><span></span><code><a id="__codelineno-6-1" name="__codelineno-6-1" href="#__codelineno-6-1"></a>/opt/nautobot
8245
+ <details class="example" open="open">
8246
+ <summary>Example NAUTOBOT_ROOT output</summary>
8247
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-7-1" name="__codelineno-7-1" href="#__codelineno-7-1"></a>/opt/nautobot
8296
8248
  </code></pre></div>
8249
+ </details>
8250
+ </details>
8297
8251
  <div class="admonition warning">
8298
8252
  <p class="admonition-title">Warning</p>
8299
8253
  <p>Unless explicitly stated, all remaining steps requiring the use of <code>pip3</code> or <code>nautobot-server</code> in this document should be performed as the <code>nautobot</code> user!</p>
8300
8254
  </div>
8301
- <h2 id="understanding-the-virtual-environment">Understanding the Virtual Environment<a class="headerlink" href="#understanding-the-virtual-environment" title="Permanent link">&para;</a></h2>
8255
+ <h2 id="prepare-the-virtual-environment">Prepare the Virtual Environment<a class="headerlink" href="#prepare-the-virtual-environment" title="Permanent link">&para;</a></h2>
8256
+ <details class="abstract">
8257
+ <summary>Understanding the Virtual Environment</summary>
8302
8258
  <p>Because the <code>nautobot</code> user was created with <code>NAUTOBOT_ROOT</code> set as its home directory and we had you set the shell to <code>/bin/bash</code>, the binary path <code>$NAUTOBOT_ROOT/bin</code> is automatically added to the beginning of the <code>$PATH</code> environment variable:</p>
8303
- <div class="tabbed-set tabbed-alternate" data-tabs="2:2"><input checked="checked" id="__tabbed_2_1" name="__tabbed_2" type="radio" /><input id="__tabbed_2_2" name="__tabbed_2" type="radio" /><div class="tabbed-labels"><label for="__tabbed_2_1">Ubuntu 20.04</label><label for="__tabbed_2_2">RHEL8 flavors</label></div>
8259
+ <div class="tabbed-set tabbed-alternate" data-tabs="2:2"><input checked="checked" id="__tabbed_2_1" name="__tabbed_2" type="radio" /><input id="__tabbed_2_2" name="__tabbed_2" type="radio" /><div class="tabbed-labels"><label for="__tabbed_2_1">Ubuntu/Debian</label><label for="__tabbed_2_2">RHEL8</label></div>
8304
8260
  <div class="tabbed-content">
8305
8261
  <div class="tabbed-block">
8306
- <div class="highlight"><pre><span></span><code><a id="__codelineno-7-1" name="__codelineno-7-1" href="#__codelineno-7-1"></a>echo $PATH
8262
+ <div class="highlight"><span class="filename">Print out the PATH variable</span><pre><span></span><code><a id="__codelineno-8-1" name="__codelineno-8-1" href="#__codelineno-8-1"></a>echo $PATH
8307
8263
  </code></pre></div>
8308
- <p>Example output:</p>
8309
- <div class="highlight"><pre><span></span><code><a id="__codelineno-8-1" name="__codelineno-8-1" href="#__codelineno-8-1"></a>/opt/nautobot/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
8264
+ <details class="example">
8265
+ <summary>Example path output</summary>
8266
+ <div class="highlight"><span class="filename">Example output of a PATH variable</span><pre><span></span><code><a id="__codelineno-9-1" name="__codelineno-9-1" href="#__codelineno-9-1"></a>/opt/nautobot/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
8310
8267
  </code></pre></div>
8268
+ </details>
8311
8269
  </div>
8312
8270
  <div class="tabbed-block">
8313
- <div class="highlight"><pre><span></span><code><a id="__codelineno-9-1" name="__codelineno-9-1" href="#__codelineno-9-1"></a>echo $PATH
8271
+ <div class="highlight"><span class="filename">Print out the PATH variable</span><pre><span></span><code><a id="__codelineno-10-1" name="__codelineno-10-1" href="#__codelineno-10-1"></a>echo $PATH
8314
8272
  </code></pre></div>
8315
- <p>Example output:</p>
8316
- <div class="highlight"><pre><span></span><code><a id="__codelineno-10-1" name="__codelineno-10-1" href="#__codelineno-10-1"></a>/opt/nautobot/.local/bin:/opt/nautobot/bin:/opt/nautobot/.local/bin:/opt/nautobot/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin
8273
+ <details class="example">
8274
+ <summary>Example path output</summary>
8275
+ <div class="highlight"><span class="filename">Example output of a PATH variable</span><pre><span></span><code><a id="__codelineno-11-1" name="__codelineno-11-1" href="#__codelineno-11-1"></a>/opt/nautobot/.local/bin:/opt/nautobot/bin:/opt/nautobot/.local/bin:/opt/nautobot/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin
8317
8276
  </code></pre></div>
8277
+ </details>
8318
8278
  </div>
8319
8279
  </div>
8320
8280
  </div>
8321
8281
  <p>Therefore, any commands executed by the <code>nautobot</code> user will always check <code>$NAUTOBOT_ROOT/bin</code> first.</p>
8322
8282
  <p>Since <code>NAUTOBOT_ROOT</code> also contains the Python virtualenv for Nautobot, all of the commands you will execute as the <code>nautobot</code> user, will automatically prefer the virtualenv's commands because they come first in the <code>$PATH</code>.</p>
8323
8283
  <p>As the <code>nautobot</code> user, you may use <code>which pip3</code> to confirm that you are using the correct version of <code>pip3</code>. The path should match that of <code>$NAUTOBOT_ROOT/bin</code>. For example:</p>
8324
- <div class="highlight"><pre><span></span><code><a id="__codelineno-11-1" name="__codelineno-11-1" href="#__codelineno-11-1"></a>which pip3
8284
+ <div class="highlight"><span class="filename">Print out location of the pip3 executable</span><pre><span></span><code><a id="__codelineno-12-1" name="__codelineno-12-1" href="#__codelineno-12-1"></a>which pip3
8325
8285
  </code></pre></div>
8326
- <p>Example output:</p>
8327
- <div class="highlight"><pre><span></span><code><a id="__codelineno-12-1" name="__codelineno-12-1" href="#__codelineno-12-1"></a>/opt/nautobot/bin/pip3
8286
+ <details class="example">
8287
+ <summary>Example <code>which pip3</code> output</summary>
8288
+ <div class="highlight"><span class="filename">Example output</span><pre><span></span><code><a id="__codelineno-13-1" name="__codelineno-13-1" href="#__codelineno-13-1"></a>/opt/nautobot/bin/pip3
8328
8289
  </code></pre></div>
8290
+ </details>
8329
8291
  <p>This makes sure that the version of Python you're using, as well any dependencies that you install, remain isolated in this environment.</p>
8330
- <h2 id="prepare-the-virtual-environment">Prepare the Virtual Environment<a class="headerlink" href="#prepare-the-virtual-environment" title="Permanent link">&para;</a></h2>
8292
+ </details>
8331
8293
  <p>Before we install anything into the virtualenv, we want to make sure that Pip is running the latest version.</p>
8332
8294
  <p><a href="https://pip.pypa.io/">Pip</a> is Python's package installer and is referred interchangeably as <code>pip</code> or <code>pip3</code>. For the purpose of this document, we'll deliberately be referring to it as <code>pip3</code>. Many common issues can be solved by running the latest version of Pip. Before continuing with installing Nautobot, upgrade Pip to its latest release.</p>
8333
8295
  <p>We also want to deliberately install the <code>wheel</code> library which will tell Pip to always try to install wheel packages if they are available. A <a href="https://realpython.com/python-wheels/">wheel is a pre-compiled Python package</a>, which is quicker and safer to install because it does not require development libraries or <code>gcc</code> to be installed on your system just so that some more advanced Python libraries can be compiled.</p>
8334
- <div class="highlight"><pre><span></span><code><a id="__codelineno-13-1" name="__codelineno-13-1" href="#__codelineno-13-1"></a>pip3 install --upgrade pip wheel
8296
+ <div class="highlight"><span class="filename">Update Python Pip and Wheel</span><pre><span></span><code><a id="__codelineno-14-1" name="__codelineno-14-1" href="#__codelineno-14-1"></a>pip3 install --upgrade pip wheel
8297
+ </code></pre></div>
8298
+ <details class="example">
8299
+ <summary>Example pip update output</summary>
8300
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-15-1" name="__codelineno-15-1" href="#__codelineno-15-1"></a>Requirement already satisfied: pip in ./lib/python3.10/site-packages (22.0.2)
8301
+ <a id="__codelineno-15-2" name="__codelineno-15-2" href="#__codelineno-15-2"></a>Collecting pip
8302
+ <a id="__codelineno-15-3" name="__codelineno-15-3" href="#__codelineno-15-3"></a>Downloading pip-24.0-py3-none-any.whl (2.1 MB)
8303
+ <a id="__codelineno-15-4" name="__codelineno-15-4" href="#__codelineno-15-4"></a> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.1/2.1 MB 14.8 MB/s eta 0:00:00
8304
+ <a id="__codelineno-15-5" name="__codelineno-15-5" href="#__codelineno-15-5"></a>Collecting wheel
8305
+ <a id="__codelineno-15-6" name="__codelineno-15-6" href="#__codelineno-15-6"></a>Downloading wheel-0.43.0-py3-none-any.whl (65 kB)
8306
+ <a id="__codelineno-15-7" name="__codelineno-15-7" href="#__codelineno-15-7"></a> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 65.8/65.8 KB 11.8 MB/s eta 0:00:00
8307
+ <a id="__codelineno-15-8" name="__codelineno-15-8" href="#__codelineno-15-8"></a>Installing collected packages: wheel, pip
8308
+ <a id="__codelineno-15-9" name="__codelineno-15-9" href="#__codelineno-15-9"></a>Attempting uninstall: pip
8309
+ <a id="__codelineno-15-10" name="__codelineno-15-10" href="#__codelineno-15-10"></a> Found existing installation: pip 22.0.2
8310
+ <a id="__codelineno-15-11" name="__codelineno-15-11" href="#__codelineno-15-11"></a> Uninstalling pip-22.0.2:
8311
+ <a id="__codelineno-15-12" name="__codelineno-15-12" href="#__codelineno-15-12"></a> Successfully uninstalled pip-22.0.2
8312
+ <a id="__codelineno-15-13" name="__codelineno-15-13" href="#__codelineno-15-13"></a>Successfully installed pip-24.0 wheel-0.43.0
8335
8313
  </code></pre></div>
8314
+ </details>
8336
8315
  <p>By default, Pip will now install Python packages as wheels. In most cases this is desirable, however in some cases the wheel versions of packages may have been compiled with options differing from what is needed for a specific scenario. One such case presents itself here - the wheel for <code>pyuwsgi</code>, a key web server component of Nautobot, is built without SSL (HTTPS) support. This may be fine for a non-production deployment of Nautobot, such as in your lab, but for production deployments, not supporting HTTPS will not do at all. Fortunately, you can tell Pip when you don't want to use wheels for a specific package by passing the <code>--no-binary=&lt;package&gt;</code> CLI parameter. We'll use that below.</p>
8316
+ <p>Great! We have <code>NAUTOBOT_ROOT</code> ready for use by the <code>nautobot</code> user, so let's proceed to verifying the installation.</p>
8337
8317
  <h2 id="install-nautobot">Install Nautobot<a class="headerlink" href="#install-nautobot" title="Permanent link">&para;</a></h2>
8338
- <div class="tabbed-set tabbed-alternate" data-tabs="3:2"><input checked="checked" id="__tabbed_3_1" name="__tabbed_3" type="radio" /><input id="__tabbed_3_2" name="__tabbed_3" type="radio" /><div class="tabbed-labels"><label for="__tabbed_3_1">PostgreSQL (Ubuntu and RHEL Flavors)</label><label for="__tabbed_3_2">MySQL (Ubuntu and RHEL Flavors)</label></div>
8318
+ <div class="tabbed-set tabbed-alternate" data-tabs="3:2"><input checked="checked" id="__tabbed_3_1" name="__tabbed_3" type="radio" /><input id="__tabbed_3_2" name="__tabbed_3" type="radio" /><div class="tabbed-labels"><label for="__tabbed_3_1">PostgreSQL</label><label for="__tabbed_3_2">MySQL</label></div>
8339
8319
  <div class="tabbed-content">
8340
8320
  <div class="tabbed-block">
8341
8321
  <p>Use Pip to install Nautobot:</p>
8342
- <div class="highlight"><pre><span></span><code><a id="__codelineno-14-1" name="__codelineno-14-1" href="#__codelineno-14-1"></a>pip3 install --no-binary=pyuwsgi nautobot
8322
+ <div class="highlight"><span class="filename">Pip install Nautobot</span><pre><span></span><code><a id="__codelineno-16-1" name="__codelineno-16-1" href="#__codelineno-16-1"></a>pip3 install --no-binary=pyuwsgi nautobot
8343
8323
  </code></pre></div>
8344
8324
  </div>
8345
8325
  <div class="tabbed-block">
8346
8326
  <p>Use Pip to install Nautobot with the MySQL client:</p>
8347
- <div class="highlight"><pre><span></span><code><a id="__codelineno-15-1" name="__codelineno-15-1" href="#__codelineno-15-1"></a>pip3 install --no-binary=pyuwsgi &quot;nautobot[mysql]&quot;
8327
+ <div class="highlight"><span class="filename">Pip install Nautobot</span><pre><span></span><code><a id="__codelineno-17-1" name="__codelineno-17-1" href="#__codelineno-17-1"></a>pip3 install --no-binary=pyuwsgi &quot;nautobot[mysql]&quot;
8348
8328
  </code></pre></div>
8349
8329
  </div>
8350
8330
  </div>
8351
8331
  </div>
8352
- <p>Great! We have <code>NAUTOBOT_ROOT</code> ready for use by the <code>nautobot</code> user, so let's proceed to verifying the installation.</p>
8353
8332
  <h2 id="verify-your-nautobot-installation">Verify your Nautobot Installation<a class="headerlink" href="#verify-your-nautobot-installation" title="Permanent link">&para;</a></h2>
8354
8333
  <p>You should now have a fancy <code>nautobot-server</code> command in your environment. This will be your gateway to all things Nautobot! Run it to confirm the installed version of <code>nautobot</code>:</p>
8355
- <div class="highlight"><pre><span></span><code><a id="__codelineno-16-1" name="__codelineno-16-1" href="#__codelineno-16-1"></a>nautobot-server --version
8334
+ <div class="highlight"><span class="filename">Verify Nautobot install</span><pre><span></span><code><a id="__codelineno-18-1" name="__codelineno-18-1" href="#__codelineno-18-1"></a>nautobot-server --version
8356
8335
  </code></pre></div>
8357
8336
  <h2 id="configuration">Configuration<a class="headerlink" href="#configuration" title="Permanent link">&para;</a></h2>
8358
8337
  <p>Before you can use Nautobot, you'll need to configure it by telling it where your database and Redis servers can be found, among other things. This is done with the <code>nautobot_config.py</code> configuration file.</p>
8359
8338
  <h3 id="initialize-your-configuration">Initialize your configuration<a class="headerlink" href="#initialize-your-configuration" title="Permanent link">&para;</a></h3>
8360
8339
  <p>Initialize a new configuration by running <code>nautobot-server init</code>. You may specify an alternate location and detailed instructions for this are covered in the documentation on <a href="../configuration/index.html">Nautobot Configuration</a>.</p>
8361
8340
  <p>However, because we've set the <code>NAUTOBOT_ROOT</code>, this command will automatically create a new <code>nautobot_config.py</code> at the default location based on this at <code>$NAUTOBOT_ROOT/nautobot_config.py</code>:</p>
8362
- <div class="highlight"><pre><span></span><code><a id="__codelineno-17-1" name="__codelineno-17-1" href="#__codelineno-17-1"></a>nautobot-server init
8341
+ <div class="highlight"><span class="filename">Initialize Nautobot server</span><pre><span></span><code><a id="__codelineno-19-1" name="__codelineno-19-1" href="#__codelineno-19-1"></a>nautobot-server init
8342
+ </code></pre></div>
8343
+ <details class="example">
8344
+ <summary>Example <code>nautobot-server init</code> output</summary>
8345
+ <div class="highlight"><span class="filename">Example `nautobot-server init`</span><pre><span></span><code><a id="__codelineno-20-1" name="__codelineno-20-1" href="#__codelineno-20-1"></a>Nautobot would like to send anonymized installation metrics to the project&#39;s maintainers.
8346
+ <a id="__codelineno-20-2" name="__codelineno-20-2" href="#__codelineno-20-2"></a>These metrics include the installed Nautobot version, the Python version in use, an anonymous &quot;deployment ID&quot;, and a list of one-way-hashed names of enabled Nautobot Apps and their versions.
8347
+ <a id="__codelineno-20-3" name="__codelineno-20-3" href="#__codelineno-20-3"></a>Allow Nautobot to send these metrics? [y/n]:
8363
8348
  </code></pre></div>
8364
- <p>Example output:</p>
8365
- <div class="highlight"><pre><span></span><code><a id="__codelineno-18-1" name="__codelineno-18-1" href="#__codelineno-18-1"></a>Nautobot would like to send anonymized installation metrics to the project&#39;s maintainers.
8366
- <a id="__codelineno-18-2" name="__codelineno-18-2" href="#__codelineno-18-2"></a>These metrics include the installed Nautobot version, the Python version in use, an anonymous &quot;deployment ID&quot;, and a list of one-way-hashed names of enabled Nautobot Apps and their versions.
8367
- <a id="__codelineno-18-3" name="__codelineno-18-3" href="#__codelineno-18-3"></a>Allow Nautobot to send these metrics? [y/n]: y
8368
- <a id="__codelineno-18-4" name="__codelineno-18-4" href="#__codelineno-18-4"></a>Installation metrics will be sent when running &#39;nautobot-server post_upgrade&#39;. Thank you!
8369
- <a id="__codelineno-18-5" name="__codelineno-18-5" href="#__codelineno-18-5"></a>Configuration file created at /opt/nautobot/nautobot_config.py
8349
+ <div class="highlight"><span class="filename">Example with Metrics sent</span><pre><span></span><code><a id="__codelineno-21-1" name="__codelineno-21-1" href="#__codelineno-21-1"></a>Installation metrics will be sent when running &#39;nautobot-server post_upgrade&#39;. Thank you!
8350
+ <a id="__codelineno-21-2" name="__codelineno-21-2" href="#__codelineno-21-2"></a>Configuration file created at /opt/nautobot/nautobot_config.py
8370
8351
  </code></pre></div>
8371
- <div class="admonition version-added">
8372
- <p class="admonition-title">Added in version 1.6.0</p>
8352
+ </details>
8353
+ <details class="version-added">
8354
+ <summary>Added in version 1.6.0</summary>
8373
8355
  <p>The <code>nautobot-server init</code> command will now prompt you to set the initial value for the <a href="../configuration/optional-settings.html#installation_metrics_enabled"><code>INSTALLATION_METRICS_ENABLED</code></a> setting. See the <a href="../tools/nautobot-server.html#send_installation_metrics">send_installation_metrics</a> command for more information about the feature that this setting toggles.</p>
8374
- </div>
8356
+ </details>
8375
8357
  <h3 id="required-settings">Required Settings<a class="headerlink" href="#required-settings" title="Permanent link">&para;</a></h3>
8376
8358
  <p>Your <code>nautobot_config.py</code> provides sane defaults for all of the configuration settings. You will inevitably need to update the settings for your environment, most notably the <a href="../configuration/required-settings.html#databases"><code>DATABASES</code></a> setting. If you do not wish to modify the config, by default, many of these configuration settings can also be specified by environment variables. Please see <a href="../configuration/required-settings.html">Required Settings</a> for further details.</p>
8377
8359
  <p>Edit <code>$NAUTOBOT_ROOT/nautobot_config.py</code>, and head over to the documentation on <a href="../configuration/required-settings.html">Required Settings</a> to tweak your required settings. At a minimum, you'll need to update the following settings:</p>
8378
8360
  <ul>
8379
8361
  <li><a href="../configuration/required-settings.html#allowed_hosts"><code>ALLOWED_HOSTS</code></a>: You must set this value. This can be set to <code>["*"]</code> for a quick start, but this value is not suitable for production deployment.</li>
8380
- <li><a href="../configuration/required-settings.html#databases"><code>DATABASES</code></a>: Database connection parameters. If you installed your database server on the same system as Nautobot, you'll need to update the <code>USER</code> and <code>PASSWORD</code> fields here. If you are using MySQL, you'll also need to update the <code>ENGINE</code> field, changing the default database driver suffix from <code>django.db.backends.postgresql</code> to <code>django.db.backends.mysql</code>.</li>
8381
- <li><strong>Redis settings</strong>: Redis configuration requires multiple settings, if different from the defaults. If you installed Redis on the same system as Nautobot, you do not need to change these settings.</li>
8362
+ <li><a href="../configuration/required-settings.html#databases"><code>DATABASES</code></a>: Database connection parameters, see below.</li>
8363
+ <li><a href="../configuration/required-settings.html#redis-settings">Redis settings</a>: Redis configuration requires multiple settings, if different from the defaults. If you installed Redis on the same system as Nautobot, you most likely do not need to change these settings.</li>
8382
8364
  </ul>
8383
- <div class="admonition important">
8384
- <p class="admonition-title">Important</p>
8385
- <p>You absolutely must update your required settings in your <code>nautobot_config.py</code> or Nautobot will not work.</p>
8365
+ <div class="tabbed-set tabbed-alternate" data-tabs="4:2"><input checked="checked" id="__tabbed_4_1" name="__tabbed_4" type="radio" /><input id="__tabbed_4_2" name="__tabbed_4" type="radio" /><div class="tabbed-labels"><label for="__tabbed_4_1">PostgreSQL</label><label for="__tabbed_4_2">MySQL</label></div>
8366
+ <div class="tabbed-content">
8367
+ <div class="tabbed-block">
8368
+ <ul>
8369
+ <li>At a minimum, you'll need to update the <code>"USER"</code> and <code>"PASSWORD"</code> fields under <code>DATABASES</code>.</li>
8370
+ </ul>
8371
+ </div>
8372
+ <div class="tabbed-block">
8373
+ <ul>
8374
+ <li>At a minimum, you'll need to update the <code>"USER"</code> and <code>"PASSWORD"</code> fields under <code>DATABASES</code>.</li>
8375
+ <li>Additionally, since Nautobot's configuration defaults to assuming PostgreSQL, you must change the <code>"ENGINE"</code> setting from <code>django.db.backends.postgresql</code> to <code>django.db.backends.mysql</code>.</li>
8376
+ <li>If you want to enable support for Unicode text, including emojis, please make sure to add <code>"OPTIONS": {"charset": "utf8mb4"}</code>. Refer to the <a href="../configuration/required-settings.html#mysql-unicode-settings">configuration guide on MySQL Unicode settings</a> for more information.</li>
8377
+ </ul>
8378
+ </div>
8379
+ </div>
8386
8380
  </div>
8387
8381
  <div class="admonition warning">
8388
8382
  <p class="admonition-title">Warning</p>
8389
- <p>If you are using MySQL as your database backend, you <strong>must also update</strong> the database <code>ENGINE</code> setting to <code>django.db.backends.mysql</code>.</p>
8383
+ <p>You absolutely must update your required settings in your <code>nautobot_config.py</code> or Nautobot will not work.</p>
8390
8384
  </div>
8391
8385
  <p>Save your changes to your <code>nautobot_config.py</code> and then proceed to the next step.</p>
8392
- <h4 id="mysql-unicode-settings">MySQL Unicode Settings<a class="headerlink" href="#mysql-unicode-settings" title="Permanent link">&para;</a></h4>
8393
- <p>If you are using MySQL as your database backend, and you want to enable support for Unicode emojis, please make sure to add <code>"OPTIONS": {"charset": "utf8mb4"}</code> to your <code>DATABASES</code> setting. Please see the <a href="../configuration/required-settings.html#mysql-unicode-settings">configuration guide on MySQL Unicode settings</a> for more information.</p>
8394
- <h2 id="optional-settings">Optional Settings<a class="headerlink" href="#optional-settings" title="Permanent link">&para;</a></h2>
8386
+ <h3 id="optional-settings">Optional Settings<a class="headerlink" href="#optional-settings" title="Permanent link">&para;</a></h3>
8395
8387
  <p>All Python packages required by Nautobot will be installed automatically when running <code>pip3 install nautobot</code>.</p>
8396
8388
  <p>Nautobot also supports the ability to install optional Python packages. If desired, these packages should be listed in <code>local_requirements.txt</code> within the <code>NAUTOBOT_ROOT</code> directory, such as <code>/opt/nautobot/local_requirements.txt</code>.</p>
8397
- <p>If you decide to use any <a href="../../../apps/index.html">Nautobot Apps</a>, they should be listed in this file.</p>
8389
+ <p>If you decide to use any <a href="../../../apps/index.html">Nautobot Apps</a>, they should be listed in the file.</p>
8390
+ <details class="abstract">
8391
+ <summary>Examples of <code>local_requirements.txt</code></summary>
8398
8392
  <p>We will cover two examples of common optional settings below.</p>
8399
- <h3 id="configuring-napalm">Configuring NAPALM<a class="headerlink" href="#configuring-napalm" title="Permanent link">&para;</a></h3>
8393
+ <p><h4>NAPALM</h4></p>
8400
8394
  <p>Nautobot provides built-in support for the <a href="https://github.com/napalm-automation/napalm/">NAPALM automation</a> library, which allows Nautobot to fetch live data from devices and return it to a requester via its REST API. The <a href="../configuration/optional-settings.html#napalm_username"><code>NAPALM_USERNAME</code></a> and <a href="../configuration/optional-settings.html#napalm_password"><code>NAPALM_PASSWORD</code></a> configuration parameters define the credentials to be used when connecting to a device.</p>
8401
8395
  <p>To use NAPALM, add <code>nautobot[napalm]</code> to your <code>local_requirements.txt</code> so that it can be installed and kept up to date:</p>
8402
- <div class="highlight"><pre><span></span><code><a id="__codelineno-19-1" name="__codelineno-19-1" href="#__codelineno-19-1"></a>echo &quot;nautobot[napalm]&quot; &gt;&gt; $NAUTOBOT_ROOT/local_requirements.txt
8396
+ <div class="highlight"><span class="filename">Add napalm to the local_requirements.txt file</span><pre><span></span><code><a id="__codelineno-22-1" name="__codelineno-22-1" href="#__codelineno-22-1"></a>echo &quot;nautobot[napalm]&quot; &gt;&gt; $NAUTOBOT_ROOT/local_requirements.txt
8403
8397
  </code></pre></div>
8404
- <h3 id="remote-file-storage">Remote File Storage<a class="headerlink" href="#remote-file-storage" title="Permanent link">&para;</a></h3>
8398
+ <p><h4>Remote File Storage</h4></p>
8405
8399
  <p>By default, Nautobot will use the local filesystem to store uploaded files. To use a remote filesystem, install the <a href="https://django-storages.readthedocs.io/en/stable/"><code>django-storages</code></a> library and configure your <a href="../configuration/optional-settings.html#storage_backend">desired storage backend</a> in <code>nautobot_config.py</code>.</p>
8406
8400
  <p>To use remote file storage, add <code>nautobot[remote_storage]</code> to your <code>local_requirements.txt</code> so that it can be installed and kept up to date:</p>
8407
- <div class="highlight"><pre><span></span><code><a id="__codelineno-20-1" name="__codelineno-20-1" href="#__codelineno-20-1"></a>echo &quot;nautobot[remote_storage]&quot; &gt;&gt; $NAUTOBOT_ROOT/local_requirements.txt
8401
+ <div class="highlight"><span class="filename">Add remote storage to local_requirements.txt</span><pre><span></span><code><a id="__codelineno-23-1" name="__codelineno-23-1" href="#__codelineno-23-1"></a>echo &quot;nautobot[remote_storage]&quot; &gt;&gt; $NAUTOBOT_ROOT/local_requirements.txt
8408
8402
  </code></pre></div>
8409
- <p>An example of using django-storages with AWS S3 buckets, visit the <a href="../guides/s3-django-storage.html">django-storages with S3</a> user-guide.</p>
8403
+ <p>For an example of using django-storages with AWS S3 buckets, visit the <a href="../guides/s3-django-storage.html">django-storages with S3</a> user-guide.</p>
8404
+ </details>
8410
8405
  <h2 id="prepare-the-database">Prepare the Database<a class="headerlink" href="#prepare-the-database" title="Permanent link">&para;</a></h2>
8411
8406
  <p>Before Nautobot can run, the database migrations must be performed to prepare the database for use. This will populate the database tables and relationships:</p>
8412
- <div class="highlight"><pre><span></span><code><a id="__codelineno-21-1" name="__codelineno-21-1" href="#__codelineno-21-1"></a>nautobot-server migrate
8407
+ <div class="highlight"><span class="filename">Push migrations onto the Nautobot database</span><pre><span></span><code><a id="__codelineno-24-1" name="__codelineno-24-1" href="#__codelineno-24-1"></a>nautobot-server migrate
8413
8408
  </code></pre></div>
8414
8409
  <h2 id="create-a-superuser">Create a Superuser<a class="headerlink" href="#create-a-superuser" title="Permanent link">&para;</a></h2>
8415
8410
  <p>Nautobot does not come with any predefined user accounts. You'll need to create a administrative superuser account to be able to log into Nautobot for the first time. Specifying an email address for the user is not required, but be sure to use a very strong password.</p>
8416
- <div class="highlight"><pre><span></span><code><a id="__codelineno-22-1" name="__codelineno-22-1" href="#__codelineno-22-1"></a>nautobot-server createsuperuser
8411
+ <div class="highlight"><span class="filename">Create Nautobot local super user account</span><pre><span></span><code><a id="__codelineno-25-1" name="__codelineno-25-1" href="#__codelineno-25-1"></a>nautobot-server createsuperuser
8412
+ </code></pre></div>
8413
+ <details class="example">
8414
+ <summary>Example with admin user created</summary>
8415
+ <div class="highlight"><span class="filename">Example output with admin user created</span><pre><span></span><code><a id="__codelineno-26-1" name="__codelineno-26-1" href="#__codelineno-26-1"></a>Username: admin
8416
+ <a id="__codelineno-26-2" name="__codelineno-26-2" href="#__codelineno-26-2"></a>Email address:
8417
+ <a id="__codelineno-26-3" name="__codelineno-26-3" href="#__codelineno-26-3"></a>Password:
8418
+ <a id="__codelineno-26-4" name="__codelineno-26-4" href="#__codelineno-26-4"></a>Password (again):
8419
+ <a id="__codelineno-26-5" name="__codelineno-26-5" href="#__codelineno-26-5"></a>Superuser created successfully.
8417
8420
  </code></pre></div>
8421
+ </details>
8418
8422
  <h2 id="create-static-directories">Create Static Directories<a class="headerlink" href="#create-static-directories" title="Permanent link">&para;</a></h2>
8419
8423
  <p>Nautobot relies upon many static files including:</p>
8420
8424
  <ul>
@@ -8425,15 +8429,20 @@
8425
8429
  </ul>
8426
8430
  <p>Each of these have their own corresponding setting that defined in <code>nautobot_config.py</code>, but by default they will all be placed in <code>NAUTOBOT_ROOT</code> unless you tell Nautobot otherwise by customizing their unique variable.</p>
8427
8431
  <p>The <code>collectstatic</code> command will create these directories if they do not exist, and in the case of the <code>static</code> files directory, it will also copy the appropriate files:</p>
8428
- <div class="highlight"><pre><span></span><code><a id="__codelineno-23-1" name="__codelineno-23-1" href="#__codelineno-23-1"></a>nautobot-server collectstatic
8432
+ <div class="highlight"><span class="filename">Collect static files</span><pre><span></span><code><a id="__codelineno-27-1" name="__codelineno-27-1" href="#__codelineno-27-1"></a>nautobot-server collectstatic
8429
8433
  </code></pre></div>
8434
+ <details class="example">
8435
+ <summary>Collect static example output</summary>
8436
+ <div class="highlight"><span class="filename">Collect static output</span><pre><span></span><code><a id="__codelineno-28-1" name="__codelineno-28-1" href="#__codelineno-28-1"></a>1103 static files copied to &#39;/opt/nautobot/static&#39;.
8437
+ </code></pre></div>
8438
+ </details>
8430
8439
  <h2 id="install-local-requirements">Install Local Requirements<a class="headerlink" href="#install-local-requirements" title="Permanent link">&para;</a></h2>
8431
8440
  <div class="admonition note">
8432
8441
  <p class="admonition-title">Note</p>
8433
8442
  <p>If you did not create a <code>local_requirements.txt</code> above, please skip this step.</p>
8434
8443
  </div>
8435
8444
  <p>This step is entirely optional. As indicated above, we mentioned that any extra local requirements should go into <code>$NAUTOBOT_ROOT/local_requirements.txt</code>.</p>
8436
- <div class="highlight"><pre><span></span><code><a id="__codelineno-24-1" name="__codelineno-24-1" href="#__codelineno-24-1"></a>pip3 install -r $NAUTOBOT_ROOT/local_requirements.txt
8445
+ <div class="highlight"><span class="filename">Install local requirements</span><pre><span></span><code><a id="__codelineno-29-1" name="__codelineno-29-1" href="#__codelineno-29-1"></a>pip3 install -r $NAUTOBOT_ROOT/local_requirements.txt
8437
8446
  </code></pre></div>
8438
8447
  <h2 id="check-your-configuration">Check your Configuration<a class="headerlink" href="#check-your-configuration" title="Permanent link">&para;</a></h2>
8439
8448
  <p>Nautobot leverages Django's built-in <a href="https://docs.djangoproject.com/en/stable/topics/checks/#writing-your-own-checks">system check framework</a> to validate the configuration to detect common problems and to provide hints for how to fix them.</p>
@@ -8442,12 +8451,17 @@
8442
8451
  <p class="admonition-title">Hint</p>
8443
8452
  <p>Get into the habit of running checks before deployments!</p>
8444
8453
  </div>
8445
- <div class="highlight"><pre><span></span><code><a id="__codelineno-25-1" name="__codelineno-25-1" href="#__codelineno-25-1"></a>nautobot-server check
8454
+ <div class="highlight"><span class="filename">Run a nautobot-server check</span><pre><span></span><code><a id="__codelineno-30-1" name="__codelineno-30-1" href="#__codelineno-30-1"></a>nautobot-server check
8455
+ </code></pre></div>
8456
+ <details class="example">
8457
+ <summary>nautobot-server check output</summary>
8458
+ <div class="highlight"><span class="filename">Example nautobot-server check output</span><pre><span></span><code><a id="__codelineno-31-1" name="__codelineno-31-1" href="#__codelineno-31-1"></a>System check identified no issues (0 silenced).
8446
8459
  </code></pre></div>
8460
+ </details>
8447
8461
  <h2 id="test-the-application">Test the Application<a class="headerlink" href="#test-the-application" title="Permanent link">&para;</a></h2>
8448
8462
  <p>At this point, we should be able to run Nautobot's development server for testing. We can check by starting a
8449
8463
  development instance:</p>
8450
- <div class="highlight"><pre><span></span><code><a id="__codelineno-26-1" name="__codelineno-26-1" href="#__codelineno-26-1"></a>nautobot-server runserver 0.0.0.0:8080 --insecure
8464
+ <div class="highlight"><span class="filename">Optional: Test the Nautobot application</span><pre><span></span><code><a id="__codelineno-32-1" name="__codelineno-32-1" href="#__codelineno-32-1"></a>nautobot-server runserver 0.0.0.0:8080 --insecure
8451
8465
  </code></pre></div>
8452
8466
  <p>Next, connect to the name or IP of the server (as defined in <code>ALLOWED_HOSTS</code>) on port 8080; for example, <a href="http://127.0.0.1:8080/">http://127.0.0.1:8080/</a>. You should be greeted with the Nautobot home page.</p>
8453
8467
  <div class="admonition danger">
@@ -8462,10 +8476,13 @@ development instance:</p>
8462
8476
  <p class="admonition-title">Important</p>
8463
8477
  <p>Certain Nautobot features (Git repository synchronization, webhooks, jobs, etc.) depend on the presence of Nautobot's background Celery worker process, which is not automatically started by the <code>runserver</code> command. To start it for testing purposes, you can run <code>nautobot-server celery worker</code> separately. For production use, Nautobot and the worker processes should be managed by <code>systemd</code> rather than started manually, as described in the next section of this documentation.</p>
8464
8478
  </div>
8479
+ <details>
8480
+ <summary>Screenshot Examples</summary>
8465
8481
  <p>Unauthenticated users will be presented with a login page:</p>
8466
8482
  <p><img alt="Nautobot UI as seen by a non-authenticated user" src="../../../media/installation/nautobot_ui_login.png" /></p>
8467
8483
  <p>Try logging in using the superuser account we just created. Once authenticated, you'll be able to access all areas of the UI:</p>
8468
8484
  <p><img alt="Nautobot UI as seen by an administrator" src="../../../media/installation/nautobot_ui_admin.png" /></p>
8485
+ </details>
8469
8486
  <p>Type <code>Ctrl-C</code> to stop the development server. Now you're ready to proceed to <a href="services.html">starting Nautobot as a system service</a>.</p>
8470
8487
 
8471
8488
 
@@ -8484,6 +8501,8 @@ development instance:</p>
8484
8501
  </div>
8485
8502
 
8486
8503
 
8504
+ <script>var tabs=__md_get("__tabs");if(Array.isArray(tabs))e:for(var set of document.querySelectorAll(".tabbed-set")){var tab,labels=set.querySelector(".tabbed-labels");for(tab of tabs)for(var label of labels.getElementsByTagName("label"))if(label.innerText.trim()===tab){var input=document.getElementById(label.htmlFor);input.checked=!0;continue e}}</script>
8505
+
8487
8506
  <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
8488
8507
  </div>
8489
8508
 
@@ -8561,7 +8580,7 @@ development instance:</p>
8561
8580
 
8562
8581
 
8563
8582
  <a href="https://blog.networktocode.com/blog/tags/nautobot" target="_blank" rel="noopener" title="Network to Code Blog" class="md-social__link">
8564
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M0 64c0-17.7 14.3-32 32-32 229.8 0 416 186.2 416 416 0 17.7-14.3 32-32 32s-32-14.3-32-32C384 253.6 226.4 96 32 96 14.3 96 0 81.7 0 64zm0 352a64 64 0 1 1 128 0 64 64 0 1 1-128 0zm32-256c159.1 0 288 128.9 288 288 0 17.7-14.3 32-32 32s-32-14.3-32-32c0-123.7-100.3-224-224-224-17.7 0-32-14.3-32-32s14.3-32 32-32z"/></svg>
8583
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M0 64c0-17.7 14.3-32 32-32 229.8 0 416 186.2 416 416 0 17.7-14.3 32-32 32s-32-14.3-32-32C384 253.6 226.4 96 32 96 14.3 96 0 81.7 0 64zm0 352a64 64 0 1 1 128 0 64 64 0 1 1-128 0zm32-256c159.1 0 288 128.9 288 288 0 17.7-14.3 32-32 32s-32-14.3-32-32c0-123.7-100.3-224-224-224-17.7 0-32-14.3-32-32s14.3-32 32-32z"/></svg>
8565
8584
  </a>
8566
8585
 
8567
8586
 
@@ -8569,7 +8588,7 @@ development instance:</p>
8569
8588
 
8570
8589
 
8571
8590
  <a href="https://www.youtube.com/playlist?list=PLjA0bhxgryJ2Ts4GJMDA-tPzVWEncv4pb" target="_blank" rel="noopener" title="Nautobot Videos" class="md-social__link">
8572
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z"/></svg>
8591
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z"/></svg>
8573
8592
  </a>
8574
8593
 
8575
8594
 
@@ -8577,7 +8596,7 @@ development instance:</p>
8577
8596
 
8578
8597
 
8579
8598
  <a href="https://www.networktocode.com/community/" target="_blank" rel="noopener" title="Network to Code Community" class="md-social__link">
8580
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M94.12 315.1c0 25.9-21.16 47.06-47.06 47.06S0 341 0 315.1c0-25.9 21.16-47.06 47.06-47.06h47.06v47.06zm23.72 0c0-25.9 21.16-47.06 47.06-47.06s47.06 21.16 47.06 47.06v117.84c0 25.9-21.16 47.06-47.06 47.06s-47.06-21.16-47.06-47.06V315.1zm47.06-188.98c-25.9 0-47.06-21.16-47.06-47.06S139 32 164.9 32s47.06 21.16 47.06 47.06v47.06H164.9zm0 23.72c25.9 0 47.06 21.16 47.06 47.06s-21.16 47.06-47.06 47.06H47.06C21.16 243.96 0 222.8 0 196.9s21.16-47.06 47.06-47.06H164.9zm188.98 47.06c0-25.9 21.16-47.06 47.06-47.06 25.9 0 47.06 21.16 47.06 47.06s-21.16 47.06-47.06 47.06h-47.06V196.9zm-23.72 0c0 25.9-21.16 47.06-47.06 47.06-25.9 0-47.06-21.16-47.06-47.06V79.06c0-25.9 21.16-47.06 47.06-47.06 25.9 0 47.06 21.16 47.06 47.06V196.9zM283.1 385.88c25.9 0 47.06 21.16 47.06 47.06 0 25.9-21.16 47.06-47.06 47.06-25.9 0-47.06-21.16-47.06-47.06v-47.06h47.06zm0-23.72c-25.9 0-47.06-21.16-47.06-47.06 0-25.9 21.16-47.06 47.06-47.06h117.84c25.9 0 47.06 21.16 47.06 47.06 0 25.9-21.16 47.06-47.06 47.06H283.1z"/></svg>
8599
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M94.12 315.1c0 25.9-21.16 47.06-47.06 47.06S0 341 0 315.1c0-25.9 21.16-47.06 47.06-47.06h47.06v47.06zm23.72 0c0-25.9 21.16-47.06 47.06-47.06s47.06 21.16 47.06 47.06v117.84c0 25.9-21.16 47.06-47.06 47.06s-47.06-21.16-47.06-47.06V315.1zm47.06-188.98c-25.9 0-47.06-21.16-47.06-47.06S139 32 164.9 32s47.06 21.16 47.06 47.06v47.06H164.9zm0 23.72c25.9 0 47.06 21.16 47.06 47.06s-21.16 47.06-47.06 47.06H47.06C21.16 243.96 0 222.8 0 196.9s21.16-47.06 47.06-47.06H164.9zm188.98 47.06c0-25.9 21.16-47.06 47.06-47.06 25.9 0 47.06 21.16 47.06 47.06s-21.16 47.06-47.06 47.06h-47.06V196.9zm-23.72 0c0 25.9-21.16 47.06-47.06 47.06-25.9 0-47.06-21.16-47.06-47.06V79.06c0-25.9 21.16-47.06 47.06-47.06 25.9 0 47.06 21.16 47.06 47.06V196.9zM283.1 385.88c25.9 0 47.06 21.16 47.06 47.06 0 25.9-21.16 47.06-47.06 47.06-25.9 0-47.06-21.16-47.06-47.06v-47.06h47.06zm0-23.72c-25.9 0-47.06-21.16-47.06-47.06 0-25.9 21.16-47.06 47.06-47.06h117.84c25.9 0 47.06 21.16 47.06 47.06 0 25.9-21.16 47.06-47.06 47.06H283.1z"/></svg>
8581
8600
  </a>
8582
8601
 
8583
8602
 
@@ -8585,7 +8604,7 @@ development instance:</p>
8585
8604
 
8586
8605
 
8587
8606
  <a href="https://github.com/nautobot/nautobot" target="_blank" rel="noopener" title="GitHub Repo" class="md-social__link">
8588
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg>
8607
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg>
8589
8608
  </a>
8590
8609
 
8591
8610
 
@@ -8593,7 +8612,7 @@ development instance:</p>
8593
8612
 
8594
8613
 
8595
8614
  <a href="https://twitter.com/networktocode" target="_blank" rel="noopener" title="Network to Code Twitter" class="md-social__link">
8596
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg>
8615
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg>
8597
8616
  </a>
8598
8617
 
8599
8618
  </div>
@@ -8608,10 +8627,10 @@ development instance:</p>
8608
8627
  </div>
8609
8628
 
8610
8629
 
8611
- <script id="__config" type="application/json">{"base": "../../..", "features": ["content.code.copy", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "../../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script>
8630
+ <script id="__config" type="application/json">{"base": "../../..", "features": ["content.code.copy", "content.tabs.link", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "../../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script>
8612
8631
 
8613
8632
 
8614
- <script src="../../../assets/javascripts/bundle.bd41221c.min.js"></script>
8633
+ <script src="../../../assets/javascripts/bundle.3220b9d7.min.js"></script>
8615
8634
 
8616
8635
  <script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
8617
8636