diff --git a/Dockerfile b/Dockerfile index 91f814f..ab74028 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,7 @@ ARG FROM FROM ${FROM} AS builder -COPY --from=ghcr.io/astral-sh/uv:0.9 /uv /usr/local/bin/ +COPY --from=ghcr.io/astral-sh/uv:0.10 /uv /usr/local/bin/ RUN export DEBIAN_FRONTEND=noninteractive \ && apt-get update -qq \ && apt-get upgrade \ diff --git a/VERSION b/VERSION index 0c89fc9..cc868b6 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -4.0.0 \ No newline at end of file +4.0.1 \ No newline at end of file diff --git a/configuration/configuration.py b/configuration/configuration.py index f71786a..5fb5206 100644 --- a/configuration/configuration.py +++ b/configuration/configuration.py @@ -317,6 +317,14 @@ SOCIAL_AUTH_OKTA_OPENIDCONNECT_API_URL = environ.get('SOCIAL_AUTH_OKTA_OPENIDCON SOCIAL_AUTH_GOOGLE_OAUTH2_KEY = environ.get('SOCIAL_AUTH_GOOGLE_OAUTH2_KEY') SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET = _read_secret('google_oauth2_secret', environ.get('SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET', '')) +# OIDC Configuration +SOCIAL_AUTH_OIDC_OIDC_ENDPOINT = environ.get('SOCIAL_AUTH_OIDC_OIDC_ENDPOINT') +SOCIAL_AUTH_OIDC_KEY = environ.get('SOCIAL_AUTH_OIDC_KEY') +SOCIAL_AUTH_OIDC_SECRET = _read_secret('oidc_secret', environ.get('SOCIAL_AUTH_OIDC_SECRET', '')) +SOCIAL_AUTH_OIDC_SCOPE = _environ_get_and_map('SOCIAL_AUTH_OIDC_SCOPE', '', _AS_LIST) +LOGOUT_REDIRECT_URL = environ.get('LOGOUT_REDIRECT_URL') +SOCIAL_AUTH_OIDC_JWT_ALGORITHMS = _environ_get_and_map('SOCIAL_AUTH_OIDC_JWT_ALGORITHMS', "RS256", _AS_LIST) + # This repository is used to check whether there is a new release of NetBox available. Set to None to disable the # version check or use the URL below to check for release in the official NetBox repository. RELEASE_CHECK_URL = environ.get('RELEASE_CHECK_URL', None) @@ -363,3 +371,6 @@ TIME_ZONE = environ.get('TIME_ZONE', 'UTC') # If true disables miscellaneous functionality which depends on access to the Internet. ISOLATED_DEPLOYMENT = _environ_get_and_map('ISOLATED_DEPLOYMENT', 'False', _AS_BOOL) + +# Enables or disables the NetBox Copilot agent globally. When enabled, users can opt to toggle the agent individually. +COPILOT_ENABLED = _environ_get_and_map('COPILOT_ENABLED', 'True', _AS_BOOL) diff --git a/docker-compose.yml b/docker-compose.yml index 64c67ba..5d06e2a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,6 +1,6 @@ services: netbox: &netbox - image: docker.io/netboxcommunity/netbox:${VERSION-v4.5-4.0.0} + image: docker.io/netboxcommunity/netbox:${VERSION-v4.5-4.0.1} depends_on: - postgres - redis diff --git a/env/netbox.env b/env/netbox.env index c7b97db..b620ab6 100644 --- a/env/netbox.env +++ b/env/netbox.env @@ -42,3 +42,12 @@ SKIP_SUPERUSER=true # SOCIAL_AUTH_GOOGLE_OAUTH2_KEY=your_google_client_id # SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET=your_google_client_secret WEBHOOKS_ENABLED=true + +# Configuration for OIDC +# REMOTE_AUTH_BACKEND='social_core.backends.open_id_connect.OpenIdConnectAuth' +# SOCIAL_AUTH_OIDC_OIDC_ENDPOINT='https://example.org' +# SOCIAL_AUTH_OIDC_KEY='' +# SOCIAL_AUTH_OIDC_SECRET='' +# SOCIAL_AUTH_OIDC_SCOPE=openid profile email roles +# LOGOUT_REDIRECT_URL='https://example.org' +# SOCIAL_AUTH_OIDC_JWT_ALGORITHMS=RS256 diff --git a/requirements-container.txt b/requirements-container.txt index ebe01cb..4a56580 100644 --- a/requirements-container.txt +++ b/requirements-container.txt @@ -1,7 +1,7 @@ django-auth-ldap==5.3.0 -dulwich==1.0.0 -granian[uvloop]==2.7.0 +dulwich==1.1.0 +granian[uvloop]==2.7.1 python3-saml==1.16.0 --no-binary lxml --no-binary xmlsec -sentry-sdk[django]==2.51.0 +sentry-sdk[django]==2.53.0