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