nautobot 2.3.0__py3-none-any.whl → 2.3.0b1__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 (366) hide show
  1. nautobot/cloud/factory.py +0 -2
  2. nautobot/cloud/filters.py +0 -3
  3. nautobot/cloud/forms.py +1 -7
  4. nautobot/cloud/migrations/0001_initial.py +1 -1
  5. nautobot/cloud/models.py +2 -1
  6. nautobot/cloud/tables.py +17 -1
  7. nautobot/cloud/templates/cloud/cloudnetwork_retrieve.html +7 -1
  8. nautobot/cloud/templates/cloud/cloudresourcetype_retrieve.html +0 -11
  9. nautobot/cloud/templates/cloud/cloudservice_retrieve.html +0 -4
  10. nautobot/cloud/tests/test_filters.py +0 -12
  11. nautobot/core/filters.py +1 -15
  12. nautobot/core/forms/forms.py +2 -10
  13. nautobot/core/graphql/generators.py +2 -2
  14. nautobot/core/graphql/schema.py +14 -6
  15. nautobot/core/jobs/__init__.py +1 -4
  16. nautobot/core/management/commands/generate_test_data.py +2 -2
  17. nautobot/core/models/__init__.py +2 -2
  18. nautobot/core/settings.py +2 -13
  19. nautobot/core/settings.yaml +2 -16
  20. nautobot/core/tables.py +0 -3
  21. nautobot/core/templates/generic/object_retrieve.html +5 -5
  22. nautobot/core/templates/nautobot_config.py.j2 +0 -15
  23. nautobot/core/testing/filters.py +1 -12
  24. nautobot/core/tests/integration/test_general_functionality.py +1 -1
  25. nautobot/core/tests/test_jobs.py +1 -74
  26. nautobot/core/views/generic.py +1 -1
  27. nautobot/core/views/mixins.py +1 -1
  28. nautobot/core/views/utils.py +6 -8
  29. nautobot/dcim/factory.py +1 -4
  30. nautobot/dcim/filters/__init__.py +0 -4
  31. nautobot/dcim/forms.py +0 -5
  32. nautobot/dcim/migrations/0061_module_models.py +0 -1
  33. nautobot/dcim/models/device_components.py +0 -7
  34. nautobot/dcim/models/devices.py +4 -6
  35. nautobot/dcim/models/racks.py +1 -0
  36. nautobot/dcim/tables/devices.py +3 -17
  37. nautobot/dcim/tables/devicetypes.py +1 -1
  38. nautobot/dcim/templates/dcim/device/base.html +1 -1
  39. nautobot/dcim/templates/dcim/device.html +2 -2
  40. nautobot/dcim/templates/dcim/deviceredundancygroup_retrieve.html +0 -6
  41. nautobot/dcim/templates/dcim/moduletype_retrieve.html +0 -17
  42. nautobot/dcim/templates/dcim/softwareimagefile_retrieve.html +2 -2
  43. nautobot/dcim/tests/test_api.py +0 -2
  44. nautobot/dcim/tests/test_filters.py +7 -14
  45. nautobot/dcim/tests/test_models.py +0 -31
  46. nautobot/dcim/tests/test_views.py +0 -39
  47. nautobot/dcim/views.py +1 -4
  48. nautobot/extras/api/views.py +59 -7
  49. nautobot/extras/factory.py +12 -50
  50. nautobot/extras/forms/base.py +4 -10
  51. nautobot/extras/homepage.py +2 -12
  52. nautobot/extras/jobs.py +2 -2
  53. nautobot/extras/migrations/0111_metadata.py +4 -4
  54. nautobot/extras/models/jobs.py +0 -83
  55. nautobot/extras/models/metadata.py +18 -18
  56. nautobot/extras/models/models.py +0 -2
  57. nautobot/extras/signals.py +1 -14
  58. nautobot/extras/tables.py +14 -43
  59. nautobot/extras/templates/extras/job_detail.html +0 -11
  60. nautobot/extras/tests/test_api.py +9 -16
  61. nautobot/extras/tests/test_jobs.py +2 -2
  62. nautobot/extras/tests/test_models.py +18 -20
  63. nautobot/extras/tests/test_views.py +3 -23
  64. nautobot/extras/utils.py +6 -35
  65. nautobot/extras/views.py +50 -27
  66. nautobot/ipam/filters.py +1 -1
  67. nautobot/ipam/forms.py +1 -1
  68. nautobot/ipam/models.py +20 -9
  69. nautobot/ipam/tables.py +0 -4
  70. nautobot/ipam/tests/test_models.py +2 -3
  71. nautobot/ipam/views.py +11 -6
  72. nautobot/project-static/css/base.css +0 -1
  73. nautobot/project-static/docs/404.html +18 -18
  74. nautobot/project-static/docs/apps/index.html +18 -18
  75. nautobot/project-static/docs/apps/nautobot-apps.html +18 -18
  76. nautobot/project-static/docs/assets/stylesheets/main.76a95c52.min.css +1 -0
  77. nautobot/project-static/docs/assets/stylesheets/main.76a95c52.min.css.map +1 -0
  78. nautobot/project-static/docs/code-reference/nautobot/apps/__init__.html +18 -18
  79. nautobot/project-static/docs/code-reference/nautobot/apps/admin.html +18 -18
  80. nautobot/project-static/docs/code-reference/nautobot/apps/api.html +18 -66
  81. nautobot/project-static/docs/code-reference/nautobot/apps/change_logging.html +18 -18
  82. nautobot/project-static/docs/code-reference/nautobot/apps/choices.html +18 -18
  83. nautobot/project-static/docs/code-reference/nautobot/apps/config.html +18 -18
  84. nautobot/project-static/docs/code-reference/nautobot/apps/constants.html +18 -18
  85. nautobot/project-static/docs/code-reference/nautobot/apps/datasources.html +18 -18
  86. nautobot/project-static/docs/code-reference/nautobot/apps/exceptions.html +18 -66
  87. nautobot/project-static/docs/code-reference/nautobot/apps/factory.html +18 -34
  88. nautobot/project-static/docs/code-reference/nautobot/apps/filters.html +18 -82
  89. nautobot/project-static/docs/code-reference/nautobot/apps/forms.html +21 -75
  90. nautobot/project-static/docs/code-reference/nautobot/apps/graphql.html +18 -18
  91. nautobot/project-static/docs/code-reference/nautobot/apps/jobs.html +18 -34
  92. nautobot/project-static/docs/code-reference/nautobot/apps/models.html +18 -34
  93. nautobot/project-static/docs/code-reference/nautobot/apps/querysets.html +18 -18
  94. nautobot/project-static/docs/code-reference/nautobot/apps/secrets.html +18 -18
  95. nautobot/project-static/docs/code-reference/nautobot/apps/tables.html +18 -18
  96. nautobot/project-static/docs/code-reference/nautobot/apps/testing.html +18 -18
  97. nautobot/project-static/docs/code-reference/nautobot/apps/ui.html +18 -18
  98. nautobot/project-static/docs/code-reference/nautobot/apps/urls.html +18 -18
  99. nautobot/project-static/docs/code-reference/nautobot/apps/utils.html +19 -21
  100. nautobot/project-static/docs/code-reference/nautobot/apps/views.html +18 -34
  101. nautobot/project-static/docs/development/apps/api/configuration-view.html +18 -18
  102. nautobot/project-static/docs/development/apps/api/database-backend-config.html +18 -18
  103. nautobot/project-static/docs/development/apps/api/models/django-admin.html +18 -18
  104. nautobot/project-static/docs/development/apps/api/models/global-search.html +18 -18
  105. nautobot/project-static/docs/development/apps/api/models/graphql.html +18 -18
  106. nautobot/project-static/docs/development/apps/api/models/index.html +22 -33
  107. nautobot/project-static/docs/development/apps/api/nautobot-app-config.html +18 -18
  108. nautobot/project-static/docs/development/apps/api/platform-features/custom-validators.html +18 -18
  109. nautobot/project-static/docs/development/apps/api/platform-features/filter-extensions.html +18 -18
  110. nautobot/project-static/docs/development/apps/api/platform-features/git-repository-content.html +18 -18
  111. nautobot/project-static/docs/development/apps/api/platform-features/index.html +18 -18
  112. nautobot/project-static/docs/development/apps/api/platform-features/jinja2-filters.html +18 -18
  113. nautobot/project-static/docs/development/apps/api/platform-features/jobs.html +18 -18
  114. nautobot/project-static/docs/development/apps/api/platform-features/populating-extensibility-features.html +18 -18
  115. nautobot/project-static/docs/development/apps/api/platform-features/secrets-providers.html +18 -18
  116. nautobot/project-static/docs/development/apps/api/platform-features/uniquely-identify-objects.html +18 -18
  117. nautobot/project-static/docs/development/apps/api/prometheus.html +18 -18
  118. nautobot/project-static/docs/development/apps/api/setup.html +18 -18
  119. nautobot/project-static/docs/development/apps/api/testing.html +18 -18
  120. nautobot/project-static/docs/development/apps/api/ui-extensions/banners.html +18 -18
  121. nautobot/project-static/docs/development/apps/api/ui-extensions/home-page.html +18 -18
  122. nautobot/project-static/docs/development/apps/api/ui-extensions/index.html +18 -18
  123. nautobot/project-static/docs/development/apps/api/ui-extensions/navigation.html +18 -18
  124. nautobot/project-static/docs/development/apps/api/ui-extensions/object-views.html +18 -18
  125. nautobot/project-static/docs/development/apps/api/views/base-template.html +18 -18
  126. nautobot/project-static/docs/development/apps/api/views/core-view-overrides.html +18 -18
  127. nautobot/project-static/docs/development/apps/api/views/django-generic-views.html +18 -18
  128. nautobot/project-static/docs/development/apps/api/views/help-documentation.html +18 -18
  129. nautobot/project-static/docs/development/apps/api/views/index.html +18 -18
  130. nautobot/project-static/docs/development/apps/api/views/nautobot-generic-views.html +18 -18
  131. nautobot/project-static/docs/development/apps/api/views/nautobotuiviewset.html +18 -18
  132. nautobot/project-static/docs/development/apps/api/views/nautobotuiviewsetrouter.html +18 -18
  133. nautobot/project-static/docs/development/apps/api/views/notes.html +18 -18
  134. nautobot/project-static/docs/development/apps/api/views/rest-api.html +18 -18
  135. nautobot/project-static/docs/development/apps/api/views/urls.html +18 -18
  136. nautobot/project-static/docs/development/apps/index.html +18 -18
  137. nautobot/project-static/docs/development/apps/migration/code-updates.html +18 -18
  138. nautobot/project-static/docs/development/apps/migration/dependency-updates.html +18 -18
  139. nautobot/project-static/docs/development/apps/migration/from-v1.html +18 -18
  140. nautobot/project-static/docs/development/apps/migration/model-updates/dcim.html +18 -18
  141. nautobot/project-static/docs/development/apps/migration/model-updates/extras.html +18 -18
  142. nautobot/project-static/docs/development/apps/migration/model-updates/global.html +18 -18
  143. nautobot/project-static/docs/development/apps/migration/model-updates/ipam.html +18 -18
  144. nautobot/project-static/docs/development/apps/porting-from-netbox.html +18 -18
  145. nautobot/project-static/docs/development/core/application-registry.html +18 -18
  146. nautobot/project-static/docs/development/core/best-practices.html +18 -18
  147. nautobot/project-static/docs/development/core/bootstrap-ui.html +18 -18
  148. nautobot/project-static/docs/development/core/caching.html +18 -18
  149. nautobot/project-static/docs/development/core/controllers.html +18 -18
  150. nautobot/project-static/docs/development/core/docker-compose-advanced-use-cases.html +18 -18
  151. nautobot/project-static/docs/development/core/generic-views.html +18 -18
  152. nautobot/project-static/docs/development/core/getting-started.html +18 -18
  153. nautobot/project-static/docs/development/core/homepage.html +18 -18
  154. nautobot/project-static/docs/development/core/index.html +18 -29
  155. nautobot/project-static/docs/development/core/model-checklist.html +20 -26
  156. nautobot/project-static/docs/development/core/model-features.html +18 -18
  157. nautobot/project-static/docs/development/core/natural-keys.html +18 -18
  158. nautobot/project-static/docs/development/core/navigation-menu.html +18 -18
  159. nautobot/project-static/docs/development/core/release-checklist.html +18 -18
  160. nautobot/project-static/docs/development/core/role-internals.html +18 -18
  161. nautobot/project-static/docs/development/core/settings.html +18 -18
  162. nautobot/project-static/docs/development/core/style-guide.html +19 -19
  163. nautobot/project-static/docs/development/core/templates.html +18 -18
  164. nautobot/project-static/docs/development/core/testing.html +18 -18
  165. nautobot/project-static/docs/development/core/user-preferences.html +18 -18
  166. nautobot/project-static/docs/development/index.html +18 -18
  167. nautobot/project-static/docs/development/jobs/index.html +379 -393
  168. nautobot/project-static/docs/development/jobs/migration/from-v1.html +18 -18
  169. nautobot/project-static/docs/index.html +13 -9032
  170. nautobot/project-static/docs/models/extras/metadatachoice.html +3 -3
  171. nautobot/project-static/docs/models/extras/metadatatype.html +3 -3
  172. nautobot/project-static/docs/models/extras/objectmetadata.html +3 -3
  173. nautobot/project-static/docs/objects.inv +0 -0
  174. nautobot/project-static/docs/overview/application_stack.html +18 -18
  175. nautobot/project-static/docs/overview/design_philosophy.html +20 -20
  176. nautobot/project-static/docs/overview/index.html +9032 -13
  177. nautobot/project-static/docs/release-notes/index.html +19 -252
  178. nautobot/project-static/docs/release-notes/version-1.0.html +18 -18
  179. nautobot/project-static/docs/release-notes/version-1.1.html +18 -18
  180. nautobot/project-static/docs/release-notes/version-1.2.html +18 -18
  181. nautobot/project-static/docs/release-notes/version-1.3.html +18 -18
  182. nautobot/project-static/docs/release-notes/version-1.4.html +18 -18
  183. nautobot/project-static/docs/release-notes/version-1.5.html +18 -18
  184. nautobot/project-static/docs/release-notes/version-1.6.html +18 -18
  185. nautobot/project-static/docs/release-notes/version-2.0.html +18 -18
  186. nautobot/project-static/docs/release-notes/version-2.1.html +18 -18
  187. nautobot/project-static/docs/release-notes/version-2.2.html +111 -248
  188. nautobot/project-static/docs/release-notes/version-2.3.html +90 -520
  189. nautobot/project-static/docs/requirements.txt +3 -3
  190. nautobot/project-static/docs/search/search_index.json +1 -1
  191. nautobot/project-static/docs/sitemap.xml +278 -278
  192. nautobot/project-static/docs/sitemap.xml.gz +0 -0
  193. nautobot/project-static/docs/user-guide/administration/configuration/authentication/ldap.html +18 -18
  194. nautobot/project-static/docs/user-guide/administration/configuration/authentication/remote.html +18 -18
  195. nautobot/project-static/docs/user-guide/administration/configuration/authentication/sso.html +18 -18
  196. nautobot/project-static/docs/user-guide/administration/configuration/index.html +18 -18
  197. nautobot/project-static/docs/user-guide/administration/configuration/optional-settings.html +20 -52
  198. nautobot/project-static/docs/user-guide/administration/configuration/required-settings.html +18 -18
  199. nautobot/project-static/docs/user-guide/administration/configuration/time-zones.html +18 -18
  200. nautobot/project-static/docs/user-guide/administration/guides/caching.html +18 -18
  201. nautobot/project-static/docs/user-guide/administration/guides/celery-queues.html +18 -22
  202. nautobot/project-static/docs/user-guide/administration/guides/healthcheck.html +18 -18
  203. nautobot/project-static/docs/user-guide/administration/guides/permissions.html +18 -18
  204. nautobot/project-static/docs/user-guide/administration/guides/prometheus-metrics.html +18 -18
  205. nautobot/project-static/docs/user-guide/administration/guides/replicating-nautobot.html +18 -18
  206. nautobot/project-static/docs/user-guide/administration/guides/request-profiling.html +18 -18
  207. nautobot/project-static/docs/user-guide/administration/guides/s3-django-storage.html +18 -18
  208. nautobot/project-static/docs/user-guide/administration/installation/app-install.html +18 -18
  209. nautobot/project-static/docs/user-guide/administration/installation/external-authentication.html +18 -18
  210. nautobot/project-static/docs/user-guide/administration/installation/http-server.html +82 -69
  211. nautobot/project-static/docs/user-guide/administration/installation/index.html +24 -24
  212. nautobot/project-static/docs/user-guide/administration/installation/install_system.html +52 -60
  213. nautobot/project-static/docs/user-guide/administration/installation/nautobot.html +87 -80
  214. nautobot/project-static/docs/user-guide/administration/installation/services.html +44 -37
  215. nautobot/project-static/docs/user-guide/administration/installation-extras/docker.html +18 -18
  216. nautobot/project-static/docs/user-guide/administration/installation-extras/health-checks.html +18 -18
  217. nautobot/project-static/docs/user-guide/administration/installation-extras/selinux-troubleshooting.html +18 -18
  218. nautobot/project-static/docs/user-guide/administration/migration/migrating-from-netbox.html +18 -18
  219. nautobot/project-static/docs/user-guide/administration/migration/migrating-from-postgresql.html +18 -18
  220. nautobot/project-static/docs/user-guide/administration/tools/nautobot-server.html +24 -76
  221. nautobot/project-static/docs/user-guide/administration/tools/nautobot-shell.html +18 -18
  222. nautobot/project-static/docs/user-guide/administration/upgrading/database-backup.html +18 -18
  223. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/after-you-upgrade.html +18 -18
  224. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/before-you-upgrade.html +18 -18
  225. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/for-developers.html +18 -18
  226. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/index.html +18 -18
  227. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/whats-changed.html +18 -18
  228. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/region-and-site-data-migration-guide.html +18 -18
  229. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/upgrading-from-nautobot-v1.html +18 -18
  230. nautobot/project-static/docs/user-guide/administration/upgrading/upgrading.html +18 -18
  231. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuit.html +18 -18
  232. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittermination.html +18 -18
  233. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittype.html +18 -18
  234. nautobot/project-static/docs/user-guide/core-data-model/circuits/provider.html +18 -18
  235. nautobot/project-static/docs/user-guide/core-data-model/circuits/providernetwork.html +18 -18
  236. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloud.html +18 -18
  237. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudaccount.html +18 -18
  238. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudnetwork.html +18 -18
  239. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudnetworkprefixassignment.html +18 -18
  240. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudresourcetype.html +18 -18
  241. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudservice.html +18 -18
  242. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudservicenetworkassignment.html +18 -18
  243. nautobot/project-static/docs/user-guide/core-data-model/dcim/cable.html +18 -18
  244. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleport.html +18 -18
  245. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleporttemplate.html +18 -18
  246. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverport.html +18 -18
  247. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverporttemplate.html +18 -18
  248. nautobot/project-static/docs/user-guide/core-data-model/dcim/controller.html +18 -18
  249. nautobot/project-static/docs/user-guide/core-data-model/dcim/controllermanageddevicegroup.html +18 -18
  250. nautobot/project-static/docs/user-guide/core-data-model/dcim/device.html +19 -19
  251. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebay.html +18 -18
  252. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebaytemplate.html +18 -18
  253. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicefamily.html +18 -18
  254. nautobot/project-static/docs/user-guide/core-data-model/dcim/deviceredundancygroup.html +18 -18
  255. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicetype.html +18 -18
  256. nautobot/project-static/docs/user-guide/core-data-model/dcim/frontport.html +18 -18
  257. nautobot/project-static/docs/user-guide/core-data-model/dcim/frontporttemplate.html +18 -18
  258. nautobot/project-static/docs/user-guide/core-data-model/dcim/interface.html +18 -18
  259. nautobot/project-static/docs/user-guide/core-data-model/dcim/interfaceredundancygroup.html +18 -18
  260. nautobot/project-static/docs/user-guide/core-data-model/dcim/interfacetemplate.html +18 -18
  261. nautobot/project-static/docs/user-guide/core-data-model/dcim/inventoryitem.html +18 -18
  262. nautobot/project-static/docs/user-guide/core-data-model/dcim/location.html +18 -18
  263. nautobot/project-static/docs/user-guide/core-data-model/dcim/locationtype.html +18 -18
  264. nautobot/project-static/docs/user-guide/core-data-model/dcim/manufacturer.html +19 -19
  265. nautobot/project-static/docs/user-guide/core-data-model/dcim/module.html +18 -18
  266. nautobot/project-static/docs/user-guide/core-data-model/dcim/modulebay.html +18 -18
  267. nautobot/project-static/docs/user-guide/core-data-model/dcim/modulebaytemplate.html +18 -18
  268. nautobot/project-static/docs/user-guide/core-data-model/dcim/moduletype.html +18 -18
  269. nautobot/project-static/docs/user-guide/core-data-model/dcim/platform.html +18 -18
  270. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerfeed.html +18 -18
  271. nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlet.html +18 -18
  272. nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlettemplate.html +18 -18
  273. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerpanel.html +18 -18
  274. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerport.html +18 -18
  275. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerporttemplate.html +18 -18
  276. nautobot/project-static/docs/user-guide/core-data-model/dcim/rack.html +18 -18
  277. nautobot/project-static/docs/user-guide/core-data-model/dcim/rackgroup.html +18 -18
  278. nautobot/project-static/docs/user-guide/core-data-model/dcim/rackreservation.html +18 -18
  279. nautobot/project-static/docs/user-guide/core-data-model/dcim/rearport.html +18 -18
  280. nautobot/project-static/docs/user-guide/core-data-model/dcim/rearporttemplate.html +18 -18
  281. nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareimagefile.html +18 -18
  282. nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareversion.html +18 -18
  283. nautobot/project-static/docs/user-guide/core-data-model/dcim/virtualchassis.html +18 -18
  284. nautobot/project-static/docs/user-guide/core-data-model/extras/configcontext.html +18 -62
  285. nautobot/project-static/docs/user-guide/core-data-model/extras/configcontextschema.html +18 -18
  286. nautobot/project-static/docs/user-guide/core-data-model/extras/contact.html +18 -18
  287. nautobot/project-static/docs/user-guide/core-data-model/extras/team.html +18 -18
  288. nautobot/project-static/docs/user-guide/core-data-model/ipam/ipaddress.html +18 -18
  289. nautobot/project-static/docs/user-guide/core-data-model/ipam/namespace.html +18 -18
  290. nautobot/project-static/docs/user-guide/core-data-model/ipam/prefix.html +18 -18
  291. nautobot/project-static/docs/user-guide/core-data-model/ipam/rir.html +18 -18
  292. nautobot/project-static/docs/user-guide/core-data-model/ipam/routetarget.html +18 -18
  293. nautobot/project-static/docs/user-guide/core-data-model/ipam/service.html +18 -18
  294. nautobot/project-static/docs/user-guide/core-data-model/ipam/vlan.html +18 -18
  295. nautobot/project-static/docs/user-guide/core-data-model/ipam/vlangroup.html +18 -18
  296. nautobot/project-static/docs/user-guide/core-data-model/ipam/vrf.html +18 -18
  297. nautobot/project-static/docs/user-guide/core-data-model/overview/introduction.html +18 -18
  298. nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenant.html +18 -18
  299. nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenantgroup.html +18 -18
  300. nautobot/project-static/docs/user-guide/core-data-model/virtualization/cluster.html +18 -18
  301. nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustergroup.html +18 -18
  302. nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustertype.html +18 -18
  303. nautobot/project-static/docs/user-guide/core-data-model/virtualization/virtualmachine.html +18 -18
  304. nautobot/project-static/docs/user-guide/core-data-model/virtualization/vminterface.html +18 -18
  305. nautobot/project-static/docs/user-guide/feature-guides/contacts-and-teams.html +18 -18
  306. nautobot/project-static/docs/user-guide/feature-guides/custom-fields.html +18 -18
  307. nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-devices.html +18 -18
  308. nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-location-types-and-locations.html +18 -18
  309. nautobot/project-static/docs/user-guide/feature-guides/getting-started/index.html +18 -18
  310. nautobot/project-static/docs/user-guide/feature-guides/getting-started/interfaces.html +18 -18
  311. nautobot/project-static/docs/user-guide/feature-guides/getting-started/ipam.html +18 -18
  312. nautobot/project-static/docs/user-guide/feature-guides/getting-started/platforms.html +18 -18
  313. nautobot/project-static/docs/user-guide/feature-guides/getting-started/search-bar.html +18 -18
  314. nautobot/project-static/docs/user-guide/feature-guides/getting-started/tenants.html +18 -18
  315. nautobot/project-static/docs/user-guide/feature-guides/getting-started/vlans-and-vlan-groups.html +18 -18
  316. nautobot/project-static/docs/user-guide/feature-guides/git-data-source.html +18 -18
  317. nautobot/project-static/docs/user-guide/feature-guides/graphql.html +18 -18
  318. nautobot/project-static/docs/user-guide/feature-guides/ip-address-merge-tool.html +18 -18
  319. nautobot/project-static/docs/user-guide/feature-guides/relationships.html +18 -18
  320. nautobot/project-static/docs/user-guide/feature-guides/software-image-files-and-versions.html +18 -18
  321. nautobot/project-static/docs/user-guide/index.html +18 -18
  322. nautobot/project-static/docs/user-guide/platform-functionality/change-logging.html +18 -18
  323. nautobot/project-static/docs/user-guide/platform-functionality/computedfield.html +18 -18
  324. nautobot/project-static/docs/user-guide/platform-functionality/customfield.html +18 -18
  325. nautobot/project-static/docs/user-guide/platform-functionality/customlink.html +18 -18
  326. nautobot/project-static/docs/user-guide/platform-functionality/dynamicgroup.html +18 -18
  327. nautobot/project-static/docs/user-guide/platform-functionality/exporttemplate.html +18 -18
  328. nautobot/project-static/docs/user-guide/platform-functionality/externalintegration.html +18 -18
  329. nautobot/project-static/docs/user-guide/platform-functionality/gitrepository.html +18 -18
  330. nautobot/project-static/docs/user-guide/platform-functionality/graphql.html +18 -18
  331. nautobot/project-static/docs/user-guide/platform-functionality/graphqlquery.html +18 -18
  332. nautobot/project-static/docs/user-guide/platform-functionality/imageattachment.html +18 -18
  333. nautobot/project-static/docs/user-guide/platform-functionality/jobs/index.html +18 -18
  334. nautobot/project-static/docs/user-guide/platform-functionality/jobs/job-scheduling-and-approvals.html +21 -21
  335. nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobbutton.html +18 -18
  336. nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobhook.html +18 -18
  337. nautobot/project-static/docs/user-guide/platform-functionality/jobs/models.html +18 -18
  338. nautobot/project-static/docs/user-guide/platform-functionality/{objectmetadata.html → metadata.html} +84 -197
  339. nautobot/project-static/docs/user-guide/platform-functionality/napalm.html +36 -36
  340. nautobot/project-static/docs/user-guide/platform-functionality/note.html +33 -33
  341. nautobot/project-static/docs/user-guide/platform-functionality/relationship.html +21 -21
  342. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/authentication.html +18 -18
  343. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/filtering.html +18 -18
  344. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/overview.html +18 -18
  345. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/ui-related-endpoints.html +18 -18
  346. nautobot/project-static/docs/user-guide/platform-functionality/role.html +18 -18
  347. nautobot/project-static/docs/user-guide/platform-functionality/savedview.html +18 -18
  348. nautobot/project-static/docs/user-guide/platform-functionality/secret.html +18 -18
  349. nautobot/project-static/docs/user-guide/platform-functionality/staticgroupassociation.html +18 -18
  350. nautobot/project-static/docs/user-guide/platform-functionality/status.html +18 -18
  351. nautobot/project-static/docs/user-guide/platform-functionality/tag.html +18 -18
  352. nautobot/project-static/docs/user-guide/platform-functionality/template-filters.html +18 -18
  353. nautobot/project-static/docs/user-guide/platform-functionality/users/objectpermission.html +18 -18
  354. nautobot/project-static/docs/user-guide/platform-functionality/users/token.html +18 -18
  355. nautobot/project-static/docs/user-guide/platform-functionality/webhook.html +18 -18
  356. nautobot/tenancy/templates/tenancy/tenant.html +4 -4
  357. nautobot/virtualization/models.py +2 -0
  358. nautobot/virtualization/tables.py +5 -2
  359. {nautobot-2.3.0.dist-info → nautobot-2.3.0b1.dist-info}/METADATA +3 -3
  360. {nautobot-2.3.0.dist-info → nautobot-2.3.0b1.dist-info}/RECORD +364 -364
  361. nautobot/project-static/docs/assets/stylesheets/main.3cba04c6.min.css +0 -1
  362. nautobot/project-static/docs/assets/stylesheets/main.3cba04c6.min.css.map +0 -1
  363. {nautobot-2.3.0.dist-info → nautobot-2.3.0b1.dist-info}/LICENSE.txt +0 -0
  364. {nautobot-2.3.0.dist-info → nautobot-2.3.0b1.dist-info}/NOTICE +0 -0
  365. {nautobot-2.3.0.dist-info → nautobot-2.3.0b1.dist-info}/WHEEL +0 -0
  366. {nautobot-2.3.0.dist-info → nautobot-2.3.0b1.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.6.0, mkdocs-material-9.5.31">
21
+ <meta name="generator" content="mkdocs-1.6.0, mkdocs-material-9.5.29">
22
22
 
23
23
 
24
24
 
@@ -26,7 +26,7 @@
26
26
 
27
27
 
28
28
 
29
- <link rel="stylesheet" href="../../../assets/stylesheets/main.3cba04c6.min.css">
29
+ <link rel="stylesheet" href="../../../assets/stylesheets/main.76a95c52.min.css">
30
30
 
31
31
 
32
32
  <link rel="stylesheet" href="../../../assets/stylesheets/palette.06af60db.min.css">
@@ -38,7 +38,7 @@
38
38
 
39
39
 
40
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.6.0 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>
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
42
 
43
43
 
44
44
 
@@ -217,7 +217,7 @@
217
217
  <a href="https://github.com/nautobot/nautobot" title="Go to repository" class="md-source" data-md-component="source">
218
218
  <div class="md-source__icon md-icon">
219
219
 
220
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.6.0 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>
220
+ <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>
221
221
  </div>
222
222
  <div class="md-source__repository">
223
223
  GitHub
@@ -238,7 +238,7 @@
238
238
 
239
239
 
240
240
  <li class="md-tabs__item">
241
- <a href="../../../index.html" class="md-tabs__link">
241
+ <a href="../../../overview/index.html" class="md-tabs__link">
242
242
 
243
243
 
244
244
 
@@ -377,7 +377,7 @@
377
377
  <a href="https://github.com/nautobot/nautobot" title="Go to repository" class="md-source" data-md-component="source">
378
378
  <div class="md-source__icon md-icon">
379
379
 
380
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.6.0 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>
380
+ <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>
381
381
  </div>
382
382
  <div class="md-source__repository">
383
383
  GitHub
@@ -409,7 +409,7 @@
409
409
 
410
410
 
411
411
  <div class="md-nav__link md-nav__container">
412
- <a href="../../../index.html" class="md-nav__link ">
412
+ <a href="../../../overview/index.html" class="md-nav__link ">
413
413
 
414
414
 
415
415
  <span class="md-ellipsis">
@@ -5376,11 +5376,11 @@
5376
5376
 
5377
5377
 
5378
5378
  <li class="md-nav__item">
5379
- <a href="../../platform-functionality/napalm.html" class="md-nav__link">
5379
+ <a href="../../platform-functionality/metadata.html" class="md-nav__link">
5380
5380
 
5381
5381
 
5382
5382
  <span class="md-ellipsis">
5383
- NAPALM
5383
+ Metadata
5384
5384
  </span>
5385
5385
 
5386
5386
 
@@ -5397,11 +5397,11 @@
5397
5397
 
5398
5398
 
5399
5399
  <li class="md-nav__item">
5400
- <a href="../../platform-functionality/note.html" class="md-nav__link">
5400
+ <a href="../../platform-functionality/napalm.html" class="md-nav__link">
5401
5401
 
5402
5402
 
5403
5403
  <span class="md-ellipsis">
5404
- Notes
5404
+ NAPALM
5405
5405
  </span>
5406
5406
 
5407
5407
 
@@ -5418,11 +5418,11 @@
5418
5418
 
5419
5419
 
5420
5420
  <li class="md-nav__item">
5421
- <a href="../../platform-functionality/objectmetadata.html" class="md-nav__link">
5421
+ <a href="../../platform-functionality/note.html" class="md-nav__link">
5422
5422
 
5423
5423
 
5424
5424
  <span class="md-ellipsis">
5425
- Object Metadata
5425
+ Notes
5426
5426
  </span>
5427
5427
 
5428
5428
 
@@ -9098,31 +9098,41 @@
9098
9098
  </div>
9099
9099
  <h3 id="create-the-virtual-environment">Create the Virtual Environment<a class="headerlink" href="#create-the-virtual-environment" title="Permanent link">&para;</a></h3>
9100
9100
  <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>
9101
+ <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>
9102
+ <div class="tabbed-content">
9103
+ <div class="tabbed-block">
9101
9104
  <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
9102
9105
  </code></pre></div>
9106
+ </div>
9107
+ <div class="tabbed-block">
9108
+ <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
9109
+ </code></pre></div>
9110
+ </div>
9111
+ </div>
9112
+ </div>
9103
9113
  <h3 id="update-the-nautobot-bashrc">Update the Nautobot <code>.bashrc</code><a class="headerlink" href="#update-the-nautobot-bashrc" title="Permanent link">&para;</a></h3>
9104
9114
  <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>
9105
9115
  <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>
9106
9116
  <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>
9107
- <div class="highlight"><span class="filename">Add NAUTOBOT_ROOT to the nautobot user .bashrc file</span><pre><span></span><code><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a>echo &quot;export NAUTOBOT_ROOT=/opt/nautobot&quot; | sudo tee -a ~nautobot/.bashrc
9117
+ <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
9108
9118
  </code></pre></div>
9109
9119
  <details class="example">
9110
9120
  <summary>Example bashrc update output</summary>
9111
- <div class="highlight"><span class="filename">Example output of updating bashrc</span><pre><span></span><code><a id="__codelineno-3-1" name="__codelineno-3-1" href="#__codelineno-3-1"></a>export NAUTOBOT_ROOT=/opt/nautobot
9121
+ <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
9112
9122
  </code></pre></div>
9113
9123
  </details>
9114
9124
  <h2 id="sudo-to-nautobot">Sudo to nautobot<a class="headerlink" href="#sudo-to-nautobot" title="Permanent link">&para;</a></h2>
9115
9125
  <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>
9116
- <div class="highlight"><span class="filename">Log into the nautobot user</span><pre><span></span><code><a id="__codelineno-4-1" name="__codelineno-4-1" href="#__codelineno-4-1"></a>sudo -iu nautobot
9126
+ <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
9117
9127
  </code></pre></div>
9118
9128
  <details class="note">
9119
- <summary>Validate the <code>NAUTOBOT_ROOT</code> variable</summary>
9129
+ <summary>Validate the NAUTOBOT_ROOT variable</summary>
9120
9130
  <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>
9121
- <div class="highlight"><span class="filename">Verify Nautobot Root</span><pre><span></span><code><a id="__codelineno-5-1" name="__codelineno-5-1" href="#__codelineno-5-1"></a>echo $NAUTOBOT_ROOT
9131
+ <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
9122
9132
  </code></pre></div>
9123
9133
  <details class="example" open="open">
9124
9134
  <summary>Example NAUTOBOT_ROOT output</summary>
9125
- <div class="highlight"><pre><span></span><code><a id="__codelineno-6-1" name="__codelineno-6-1" href="#__codelineno-6-1"></a>/opt/nautobot
9135
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-7-1" name="__codelineno-7-1" href="#__codelineno-7-1"></a>/opt/nautobot
9126
9136
  </code></pre></div>
9127
9137
  </details>
9128
9138
  </details>
@@ -9134,23 +9144,23 @@
9134
9144
  <details class="abstract">
9135
9145
  <summary>Understanding the Virtual Environment</summary>
9136
9146
  <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>
9137
- <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">Fedora/RHEL</label></div>
9147
+ <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>
9138
9148
  <div class="tabbed-content">
9139
9149
  <div class="tabbed-block">
9140
- <div class="highlight"><span class="filename">Print out the PATH variable</span><pre><span></span><code><a id="__codelineno-7-1" name="__codelineno-7-1" href="#__codelineno-7-1"></a>echo $PATH
9150
+ <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
9141
9151
  </code></pre></div>
9142
9152
  <details class="example">
9143
9153
  <summary>Example path output</summary>
9144
- <div class="highlight"><span class="filename">Example output of a PATH variable</span><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
9154
+ <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
9145
9155
  </code></pre></div>
9146
9156
  </details>
9147
9157
  </div>
9148
9158
  <div class="tabbed-block">
9149
- <div class="highlight"><span class="filename">Print out the PATH variable</span><pre><span></span><code><a id="__codelineno-9-1" name="__codelineno-9-1" href="#__codelineno-9-1"></a>echo $PATH
9159
+ <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
9150
9160
  </code></pre></div>
9151
9161
  <details class="example">
9152
9162
  <summary>Example path output</summary>
9153
- <div class="highlight"><span class="filename">Example output of a PATH variable</span><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:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/var/lib/snapd/snap/bin
9163
+ <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
9154
9164
  </code></pre></div>
9155
9165
  </details>
9156
9166
  </div>
@@ -9159,11 +9169,11 @@
9159
9169
  <p>Therefore, any commands executed by the <code>nautobot</code> user will always check <code>$NAUTOBOT_ROOT/bin</code> first.</p>
9160
9170
  <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>
9161
9171
  <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>
9162
- <div class="highlight"><span class="filename">Print out location of the pip3 executable</span><pre><span></span><code><a id="__codelineno-11-1" name="__codelineno-11-1" href="#__codelineno-11-1"></a>which pip3
9172
+ <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
9163
9173
  </code></pre></div>
9164
9174
  <details class="example">
9165
9175
  <summary>Example <code>which pip3</code> output</summary>
9166
- <div class="highlight"><span class="filename">Example output</span><pre><span></span><code><a id="__codelineno-12-1" name="__codelineno-12-1" href="#__codelineno-12-1"></a>/opt/nautobot/bin/pip3
9176
+ <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
9167
9177
  </code></pre></div>
9168
9178
  </details>
9169
9179
  <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>
@@ -9171,69 +9181,66 @@
9171
9181
  <p>Before we install anything into the virtualenv, we want to make sure that Pip is running the latest version.</p>
9172
9182
  <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>
9173
9183
  <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>
9174
- <div class="highlight"><span class="filename">Update Python Pip and Wheel</span><pre><span></span><code><a id="__codelineno-13-1" name="__codelineno-13-1" href="#__codelineno-13-1"></a>pip3 install --upgrade pip wheel
9184
+ <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
9175
9185
  </code></pre></div>
9176
9186
  <details class="example">
9177
9187
  <summary>Example pip update output</summary>
9178
- <div class="highlight"><pre><span></span><code><a id="__codelineno-14-1" name="__codelineno-14-1" href="#__codelineno-14-1"></a>Requirement already satisfied: pip in ./lib/python3.12/site-packages (24.0)
9179
- <a id="__codelineno-14-2" name="__codelineno-14-2" href="#__codelineno-14-2"></a>Collecting pip
9180
- <a id="__codelineno-14-3" name="__codelineno-14-3" href="#__codelineno-14-3"></a> Downloading pip-24.2-py3-none-any.whl.metadata (3.6 kB)
9181
- <a id="__codelineno-14-4" name="__codelineno-14-4" href="#__codelineno-14-4"></a>Collecting wheel
9182
- <a id="__codelineno-14-5" name="__codelineno-14-5" href="#__codelineno-14-5"></a> Downloading wheel-0.43.0-py3-none-any.whl.metadata (2.2 kB)
9183
- <a id="__codelineno-14-6" name="__codelineno-14-6" href="#__codelineno-14-6"></a>Downloading pip-24.2-py3-none-any.whl (1.8 MB)
9184
- <a id="__codelineno-14-7" name="__codelineno-14-7" href="#__codelineno-14-7"></a> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.8/1.8 MB 36.6 MB/s eta 0:00:00
9185
- <a id="__codelineno-14-8" name="__codelineno-14-8" href="#__codelineno-14-8"></a>Downloading wheel-0.43.0-py3-none-any.whl (65 kB)
9186
- <a id="__codelineno-14-9" name="__codelineno-14-9" href="#__codelineno-14-9"></a> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 65.8/65.8 kB 7.5 MB/s eta 0:00:00
9187
- <a id="__codelineno-14-10" name="__codelineno-14-10" href="#__codelineno-14-10"></a>Installing collected packages: wheel, pip
9188
- <a id="__codelineno-14-11" name="__codelineno-14-11" href="#__codelineno-14-11"></a> Attempting uninstall: pip
9189
- <a id="__codelineno-14-12" name="__codelineno-14-12" href="#__codelineno-14-12"></a> Found existing installation: pip 24.0
9190
- <a id="__codelineno-14-13" name="__codelineno-14-13" href="#__codelineno-14-13"></a> Uninstalling pip-24.0:
9191
- <a id="__codelineno-14-14" name="__codelineno-14-14" href="#__codelineno-14-14"></a> Successfully uninstalled pip-24.0
9192
- <a id="__codelineno-14-15" name="__codelineno-14-15" href="#__codelineno-14-15"></a>Successfully installed pip-24.2 wheel-0.43.0
9188
+ <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)
9189
+ <a id="__codelineno-15-2" name="__codelineno-15-2" href="#__codelineno-15-2"></a>Collecting pip
9190
+ <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)
9191
+ <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
9192
+ <a id="__codelineno-15-5" name="__codelineno-15-5" href="#__codelineno-15-5"></a>Collecting wheel
9193
+ <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)
9194
+ <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
9195
+ <a id="__codelineno-15-8" name="__codelineno-15-8" href="#__codelineno-15-8"></a>Installing collected packages: wheel, pip
9196
+ <a id="__codelineno-15-9" name="__codelineno-15-9" href="#__codelineno-15-9"></a>Attempting uninstall: pip
9197
+ <a id="__codelineno-15-10" name="__codelineno-15-10" href="#__codelineno-15-10"></a> Found existing installation: pip 22.0.2
9198
+ <a id="__codelineno-15-11" name="__codelineno-15-11" href="#__codelineno-15-11"></a> Uninstalling pip-22.0.2:
9199
+ <a id="__codelineno-15-12" name="__codelineno-15-12" href="#__codelineno-15-12"></a> Successfully uninstalled pip-22.0.2
9200
+ <a id="__codelineno-15-13" name="__codelineno-15-13" href="#__codelineno-15-13"></a>Successfully installed pip-24.0 wheel-0.43.0
9193
9201
  </code></pre></div>
9194
9202
  </details>
9195
9203
  <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>
9196
9204
  <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>
9197
9205
  <h2 id="install-nautobot">Install Nautobot<a class="headerlink" href="#install-nautobot" title="Permanent link">&para;</a></h2>
9198
- <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">PostgreSQL</label><label for="__tabbed_2_2">MySQL</label></div>
9206
+ <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>
9199
9207
  <div class="tabbed-content">
9200
9208
  <div class="tabbed-block">
9201
9209
  <p>Use Pip to install Nautobot:</p>
9202
- <div class="highlight"><span class="filename">Pip install Nautobot</span><pre><span></span><code><a id="__codelineno-15-1" name="__codelineno-15-1" href="#__codelineno-15-1"></a>pip3 install --no-binary=pyuwsgi nautobot
9210
+ <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
9203
9211
  </code></pre></div>
9204
9212
  </div>
9205
9213
  <div class="tabbed-block">
9206
9214
  <p>Use Pip to install Nautobot with the MySQL client:</p>
9207
- <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 &quot;nautobot[mysql]&quot;
9215
+ <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;
9208
9216
  </code></pre></div>
9209
9217
  </div>
9210
9218
  </div>
9211
9219
  </div>
9212
9220
  <h2 id="verify-your-nautobot-installation">Verify your Nautobot Installation<a class="headerlink" href="#verify-your-nautobot-installation" title="Permanent link">&para;</a></h2>
9213
9221
  <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>
9214
- <div class="highlight"><span class="filename">Verify Nautobot install</span><pre><span></span><code><a id="__codelineno-17-1" name="__codelineno-17-1" href="#__codelineno-17-1"></a>nautobot-server --version
9222
+ <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
9215
9223
  </code></pre></div>
9216
9224
  <h2 id="configuration">Configuration<a class="headerlink" href="#configuration" title="Permanent link">&para;</a></h2>
9217
9225
  <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>
9218
9226
  <h3 id="initialize-your-configuration">Initialize your configuration<a class="headerlink" href="#initialize-your-configuration" title="Permanent link">&para;</a></h3>
9219
9227
  <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>
9220
9228
  <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>
9221
- <div class="highlight"><span class="filename">Initialize Nautobot server</span><pre><span></span><code><a id="__codelineno-18-1" name="__codelineno-18-1" href="#__codelineno-18-1"></a>nautobot-server init
9229
+ <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
9222
9230
  </code></pre></div>
9223
9231
  <details class="example">
9224
9232
  <summary>Example <code>nautobot-server init</code> output</summary>
9225
- <div class="highlight"><span class="filename">Example `nautobot-server init`</span><pre><span></span><code><a id="__codelineno-19-1" name="__codelineno-19-1" href="#__codelineno-19-1"></a>Nautobot would like to send anonymized installation metrics to the project&#39;s maintainers.
9226
- <a id="__codelineno-19-2" name="__codelineno-19-2" href="#__codelineno-19-2"></a>These metrics include the installed Nautobot version, the Python version in use, an anonymous
9227
- <a id="__codelineno-19-3" name="__codelineno-19-3" href="#__codelineno-19-3"></a>&quot;deployment ID&quot;, and a list of one-way-hashed names of enabled Nautobot Apps and their versions.
9228
- <a id="__codelineno-19-4" name="__codelineno-19-4" href="#__codelineno-19-4"></a>Allow Nautobot to send these metrics? [y/n]:
9233
+ <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.
9234
+ <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.
9235
+ <a id="__codelineno-20-3" name="__codelineno-20-3" href="#__codelineno-20-3"></a>Allow Nautobot to send these metrics? [y/n]:
9229
9236
  </code></pre></div>
9230
- <div class="highlight"><span class="filename">Example with Metrics sent</span><pre><span></span><code><a id="__codelineno-20-1" name="__codelineno-20-1" href="#__codelineno-20-1"></a>Installation metrics will be sent when running &#39;nautobot-server post_upgrade&#39;. Thank you!
9231
- <a id="__codelineno-20-2" name="__codelineno-20-2" href="#__codelineno-20-2"></a>Configuration file created at /opt/nautobot/nautobot_config.py
9237
+ <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!
9238
+ <a id="__codelineno-21-2" name="__codelineno-21-2" href="#__codelineno-21-2"></a>Configuration file created at /opt/nautobot/nautobot_config.py
9232
9239
  </code></pre></div>
9233
9240
  </details>
9234
9241
  <details class="version-added">
9235
- <summary>Added in version 1.6.0 — Installation metrics selection</summary>
9236
- <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"><code>send_installation_metrics</code></a> command for more information about the feature that this setting toggles.</p>
9242
+ <summary>Added in version 1.6.0</summary>
9243
+ <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>
9237
9244
  </details>
9238
9245
  <h3 id="required-settings">Required Settings<a class="headerlink" href="#required-settings" title="Permanent link">&para;</a></h3>
9239
9246
  <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>
@@ -9243,18 +9250,18 @@
9243
9250
  <li><a href="../configuration/required-settings.html#databases"><code>DATABASES</code></a>: Database connection parameters, see below.</li>
9244
9251
  <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>
9245
9252
  </ul>
9246
- <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>
9253
+ <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>
9247
9254
  <div class="tabbed-content">
9248
9255
  <div class="tabbed-block">
9249
9256
  <ul>
9250
- <li>At a minimum, you'll need to update the <code>"USER"</code> and <code>"PASSWORD"</code> fields under <code>DATABASES</code>. Depending on your security posture, you may wish to set these via environment variables (<code>NAUTOBOT_DB_USER</code> and <code>NAUTOBOT_DB_PASSWORD</code>) rather than writing them directly into your <code>nautobot_config.py</code>. Most Nautobot configuration settings can be set by environment variables if preferred.</li>
9257
+ <li>At a minimum, you'll need to update the <code>"USER"</code> and <code>"PASSWORD"</code> fields under <code>DATABASES</code>.</li>
9251
9258
  </ul>
9252
9259
  </div>
9253
9260
  <div class="tabbed-block">
9254
9261
  <ul>
9255
- <li>At a minimum, you'll need to update the <code>"USER"</code> and <code>"PASSWORD"</code> fields under <code>DATABASES</code>. Depending on your security posture, you may wish to set these via environment variables (<code>NAUTOBOT_DB_USER</code> and <code>NAUTOBOT_DB_PASSWORD</code>) rather than writing them directly into your <code>nautobot_config.py</code>. Most Nautobot configuration settings can be set by environment variables if preferred.</li>
9262
+ <li>At a minimum, you'll need to update the <code>"USER"</code> and <code>"PASSWORD"</code> fields under <code>DATABASES</code>.</li>
9256
9263
  <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>
9257
- <li>If you want to enable support for Unicode text, including emojis, please make sure to include <code>"OPTIONS": {"charset": "utf8mb4"}</code>. Refer to the <a href="../configuration/required-settings.html#databases">configuration guide on MySQL Unicode settings</a> for more information.</li>
9264
+ <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#databases">configuration guide on MySQL Unicode settings</a> for more information.</li>
9258
9265
  </ul>
9259
9266
  </div>
9260
9267
  </div>
@@ -9265,7 +9272,7 @@
9265
9272
  </div>
9266
9273
  <p>Save your changes to your <code>nautobot_config.py</code> and then proceed to the next step.</p>
9267
9274
  <h3 id="optional-settings">Optional Settings<a class="headerlink" href="#optional-settings" title="Permanent link">&para;</a></h3>
9268
- <p>All Python packages required by Nautobot were installed automatically when running <code>pip3 install nautobot</code> above.</p>
9275
+ <p>All Python packages required by Nautobot will be installed automatically when running <code>pip3 install nautobot</code>.</p>
9269
9276
  <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>
9270
9277
  <p>If you decide to use any <a href="../../../apps/index.html">Nautobot Apps</a>, they should be listed in the file.</p>
9271
9278
  <details class="abstract">
@@ -9274,30 +9281,30 @@
9274
9281
  <p><a name="napalm"><h4>NAPALM</h4></a></p>
9275
9282
  <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>
9276
9283
  <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>
9277
- <div class="highlight"><span class="filename">Add napalm to the local_requirements.txt file</span><pre><span></span><code><a id="__codelineno-21-1" name="__codelineno-21-1" href="#__codelineno-21-1"></a>echo &quot;nautobot[napalm]&quot; &gt;&gt; $NAUTOBOT_ROOT/local_requirements.txt
9284
+ <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
9278
9285
  </code></pre></div>
9279
9286
  <p><a name="remote-file-storage"><h4>Remote File Storage</h4></a></p>
9280
9287
  <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>
9281
9288
  <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>
9282
- <div class="highlight"><span class="filename">Add remote storage to local_requirements.txt</span><pre><span></span><code><a id="__codelineno-22-1" name="__codelineno-22-1" href="#__codelineno-22-1"></a>echo &quot;nautobot[remote_storage]&quot; &gt;&gt; $NAUTOBOT_ROOT/local_requirements.txt
9289
+ <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
9283
9290
  </code></pre></div>
9284
9291
  <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>
9285
9292
  </details>
9286
9293
  <h2 id="prepare-the-database">Prepare the Database<a class="headerlink" href="#prepare-the-database" title="Permanent link">&para;</a></h2>
9287
9294
  <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>
9288
- <div class="highlight"><span class="filename">Push migrations onto the Nautobot database</span><pre><span></span><code><a id="__codelineno-23-1" name="__codelineno-23-1" href="#__codelineno-23-1"></a>nautobot-server migrate
9295
+ <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
9289
9296
  </code></pre></div>
9290
9297
  <h2 id="create-a-superuser">Create a Superuser<a class="headerlink" href="#create-a-superuser" title="Permanent link">&para;</a></h2>
9291
9298
  <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>
9292
- <div class="highlight"><span class="filename">Create Nautobot local super user account</span><pre><span></span><code><a id="__codelineno-24-1" name="__codelineno-24-1" href="#__codelineno-24-1"></a>nautobot-server createsuperuser
9299
+ <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
9293
9300
  </code></pre></div>
9294
9301
  <details class="example">
9295
9302
  <summary>Example with admin user created</summary>
9296
- <div class="highlight"><span class="filename">Example output with admin user created</span><pre><span></span><code><a id="__codelineno-25-1" name="__codelineno-25-1" href="#__codelineno-25-1"></a>Username: admin
9297
- <a id="__codelineno-25-2" name="__codelineno-25-2" href="#__codelineno-25-2"></a>Email address:
9298
- <a id="__codelineno-25-3" name="__codelineno-25-3" href="#__codelineno-25-3"></a>Password:
9299
- <a id="__codelineno-25-4" name="__codelineno-25-4" href="#__codelineno-25-4"></a>Password (again):
9300
- <a id="__codelineno-25-5" name="__codelineno-25-5" href="#__codelineno-25-5"></a>Superuser created successfully.
9303
+ <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
9304
+ <a id="__codelineno-26-2" name="__codelineno-26-2" href="#__codelineno-26-2"></a>Email address:
9305
+ <a id="__codelineno-26-3" name="__codelineno-26-3" href="#__codelineno-26-3"></a>Password:
9306
+ <a id="__codelineno-26-4" name="__codelineno-26-4" href="#__codelineno-26-4"></a>Password (again):
9307
+ <a id="__codelineno-26-5" name="__codelineno-26-5" href="#__codelineno-26-5"></a>Superuser created successfully.
9301
9308
  </code></pre></div>
9302
9309
  </details>
9303
9310
  <h2 id="create-static-directories">Create Static Directories<a class="headerlink" href="#create-static-directories" title="Permanent link">&para;</a></h2>
@@ -9310,11 +9317,11 @@
9310
9317
  </ul>
9311
9318
  <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>
9312
9319
  <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>
9313
- <div class="highlight"><span class="filename">Collect static files</span><pre><span></span><code><a id="__codelineno-26-1" name="__codelineno-26-1" href="#__codelineno-26-1"></a>nautobot-server collectstatic
9320
+ <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
9314
9321
  </code></pre></div>
9315
9322
  <details class="example">
9316
9323
  <summary>Collect static example output</summary>
9317
- <div class="highlight"><span class="filename">Collect static output</span><pre><span></span><code><a id="__codelineno-27-1" name="__codelineno-27-1" href="#__codelineno-27-1"></a>1156 static files copied to &#39;/opt/nautobot/static&#39;.
9324
+ <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;.
9318
9325
  </code></pre></div>
9319
9326
  </details>
9320
9327
  <h2 id="install-local-requirements">Install Local Requirements<a class="headerlink" href="#install-local-requirements" title="Permanent link">&para;</a></h2>
@@ -9323,7 +9330,7 @@
9323
9330
  <p>If you did not create a <code>local_requirements.txt</code> above, please skip this step.</p>
9324
9331
  </div>
9325
9332
  <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>
9326
- <div class="highlight"><span class="filename">Install local requirements</span><pre><span></span><code><a id="__codelineno-28-1" name="__codelineno-28-1" href="#__codelineno-28-1"></a>pip3 install -r $NAUTOBOT_ROOT/local_requirements.txt
9333
+ <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
9327
9334
  </code></pre></div>
9328
9335
  <h2 id="check-your-configuration">Check your Configuration<a class="headerlink" href="#check-your-configuration" title="Permanent link">&para;</a></h2>
9329
9336
  <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>
@@ -9332,17 +9339,17 @@
9332
9339
  <p class="admonition-title">Hint</p>
9333
9340
  <p>Get into the habit of running checks before deployments!</p>
9334
9341
  </div>
9335
- <div class="highlight"><span class="filename">Run a nautobot-server check</span><pre><span></span><code><a id="__codelineno-29-1" name="__codelineno-29-1" href="#__codelineno-29-1"></a>nautobot-server check
9342
+ <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
9336
9343
  </code></pre></div>
9337
9344
  <details class="example">
9338
9345
  <summary>nautobot-server check output</summary>
9339
- <div class="highlight"><span class="filename">Example nautobot-server check output</span><pre><span></span><code><a id="__codelineno-30-1" name="__codelineno-30-1" href="#__codelineno-30-1"></a>System check identified no issues (0 silenced).
9346
+ <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).
9340
9347
  </code></pre></div>
9341
9348
  </details>
9342
9349
  <h2 id="test-the-application">Test the Application<a class="headerlink" href="#test-the-application" title="Permanent link">&para;</a></h2>
9343
9350
  <p>At this point, we should be able to run Nautobot's development server for testing. We can check by starting a
9344
9351
  development instance:</p>
9345
- <div class="highlight"><span class="filename">Optional: Test the Nautobot application</span><pre><span></span><code><a id="__codelineno-31-1" name="__codelineno-31-1" href="#__codelineno-31-1"></a>nautobot-server runserver 0.0.0.0:8080 --insecure
9352
+ <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
9346
9353
  </code></pre></div>
9347
9354
  <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>
9348
9355
  <div class="admonition danger">
@@ -9461,7 +9468,7 @@ development instance:</p>
9461
9468
 
9462
9469
 
9463
9470
  <a href="https://blog.networktocode.com/blog/tags/nautobot" target="_blank" rel="noopener" title="Network to Code Blog" class="md-social__link">
9464
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.6.0 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>
9471
+ <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>
9465
9472
  </a>
9466
9473
 
9467
9474
 
@@ -9469,7 +9476,7 @@ development instance:</p>
9469
9476
 
9470
9477
 
9471
9478
  <a href="https://www.youtube.com/playlist?list=PLjA0bhxgryJ2Ts4GJMDA-tPzVWEncv4pb" target="_blank" rel="noopener" title="Nautobot Videos" class="md-social__link">
9472
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Free 6.6.0 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>
9479
+ <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>
9473
9480
  </a>
9474
9481
 
9475
9482
 
@@ -9477,7 +9484,7 @@ development instance:</p>
9477
9484
 
9478
9485
 
9479
9486
  <a href="https://www.networktocode.com/community/" target="_blank" rel="noopener" title="Network to Code Community" class="md-social__link">
9480
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.6.0 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>
9487
+ <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>
9481
9488
  </a>
9482
9489
 
9483
9490
 
@@ -9485,7 +9492,7 @@ development instance:</p>
9485
9492
 
9486
9493
 
9487
9494
  <a href="https://github.com/nautobot/nautobot" target="_blank" rel="noopener" title="GitHub Repo" class="md-social__link">
9488
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.6.0 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>
9495
+ <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>
9489
9496
  </a>
9490
9497
 
9491
9498
 
@@ -9493,7 +9500,7 @@ development instance:</p>
9493
9500
 
9494
9501
 
9495
9502
  <a href="https://twitter.com/networktocode" target="_blank" rel="noopener" title="Network to Code Twitter" class="md-social__link">
9496
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 6.6.0 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>
9503
+ <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>
9497
9504
  </a>
9498
9505
 
9499
9506
  </div>