Compare commits

...

56 Commits
3.3.0 ... 3.4.0

Author SHA1 Message Date
Tobias Genannt
b1394ff9cb Merge pull request #1508 from netbox-community/develop
Version 3.4.0
2025-09-04 09:59:09 +02:00
Tobias Genannt
e9a8e14aa8 Disable zizmor for now 2025-09-03 08:10:15 +02:00
Tobias Genannt
1b0da4048b Disable Trivy for now 2025-09-03 07:59:56 +02:00
Tobias Genannt
e61aba8388 Preparation for 3.4.0 2025-09-03 07:50:41 +02:00
Tobias Genannt
c4f90b7b34 Merge pull request #1507 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.35.2
2025-09-02 07:07:46 +02:00
renovate[bot]
8dac9f2dc7 Update dependency sentry-sdk to v2.35.2 2025-09-01 21:58:31 +00:00
Tobias Genannt
51947e4c52 Merge pull request #1506 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.35.1
2025-08-26 18:14:55 +02:00
renovate[bot]
af562671e2 Update dependency sentry-sdk to v2.35.1 2025-08-26 15:54:13 +00:00
Tobias Genannt
b97c177df8 Merge pull request #1501 from tobiasge/remove-housekeeping-container
Housekeeping
2025-08-18 10:49:53 +02:00
Tobias Genannt
67eff20f7d Housekeeping 2025-08-18 08:45:47 +02:00
Tobias Genannt
c49af09fa5 Merge pull request #1499 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.35.0
2025-08-15 06:49:39 +02:00
renovate[bot]
71ebfca443 Update dependency sentry-sdk to v2.35.0 2025-08-14 21:03:27 +00:00
Tobias Genannt
b882df6c73 Merge pull request #1497 from netbox-community/renovate/actions-checkout-5.x
Update actions/checkout action to v5
2025-08-11 17:50:23 +02:00
renovate[bot]
e9b6231d03 Update actions/checkout action to v5 2025-08-11 15:30:00 +00:00
Tobias Genannt
1d8a31be83 Merge pull request #1495 from CompPhy/database-syntax-fix
Support new DATABASES syntax in Netbox 4.3
2025-08-05 07:19:46 +02:00
Kelly Shutt
109ef8afd2 Update DATABASES syntax. 2025-08-04 13:10:06 -04:00
Tobias Genannt
b329ab9e61 Merge pull request #1493 from tobiasge/fix-feature-build
Fixed build for Netbox feature branch
2025-08-02 10:44:45 +02:00
Tobias Genannt
56e8af355e Fixed build for Netbox feature branch 2025-08-02 10:00:17 +02:00
Tobias Genannt
8c1a8a9ea6 Merge pull request #1492 from netbox-community/renovate/dulwich-0.x
Update dependency dulwich to v0.24.1
2025-08-01 23:14:05 +02:00
renovate[bot]
68fd99c34a Update dependency dulwich to v0.24.1 2025-08-01 14:59:00 +00:00
Tobias Genannt
88b6fdb1bd Merge pull request #1491 from netbox-community/renovate/dulwich-0.x
Update dependency dulwich to v0.24.0
2025-08-01 09:07:14 +02:00
renovate[bot]
f03200b88b Update dependency dulwich to v0.24.0 2025-08-01 06:47:14 +00:00
Tobias Genannt
cc314c6e03 Merge pull request #1490 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.34.1
2025-07-30 15:05:23 +02:00
renovate[bot]
7b10cf0933 Update dependency sentry-sdk to v2.34.1 2025-07-30 12:45:32 +00:00
Tobias Genannt
b15de21aca Merge pull request #1489 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.34.0
2025-07-30 07:17:42 +02:00
renovate[bot]
d1ef353b31 Update dependency sentry-sdk to v2.34.0 2025-07-29 18:12:22 +00:00
Tobias Genannt
900c8da9c6 Merge pull request #1487 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.33.2
2025-07-22 20:44:38 +02:00
renovate[bot]
e58c735825 Update dependency sentry-sdk to v2.33.2 2025-07-22 18:24:34 +00:00
Tobias Genannt
a2506df96a Merge pull request #1486 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.33.1
2025-07-21 22:12:45 +02:00
renovate[bot]
f9f5ae70f9 Update dependency sentry-sdk to v2.33.1 2025-07-21 19:45:47 +00:00
Tobias Genannt
dd57383091 Merge pull request #1485 from netbox-community/renovate/super-linter-super-linter-8.x
Update super-linter/super-linter action to v8
2025-07-18 18:22:45 +02:00
renovate[bot]
950b74e3e6 Update super-linter/super-linter action to v8 2025-07-18 15:59:13 +00:00
Tobias Genannt
9623807910 Merge pull request #1484 from netbox-community/renovate/ghcr.io-astral-sh-uv-0.x
Update ghcr.io/astral-sh/uv Docker tag to v0.8
2025-07-18 08:47:16 +02:00
renovate[bot]
658fc00a86 Update ghcr.io/astral-sh/uv Docker tag to v0.8 2025-07-17 23:45:53 +00:00
Tobias Genannt
bc74b0aa6a Merge pull request #1483 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.33.0
2025-07-15 18:55:23 +02:00
renovate[bot]
f69d214b9a Update dependency sentry-sdk to v2.33.0 2025-07-15 15:30:00 +00:00
Tobias Genannt
0e66fbad47 Merge pull request #1478 from dawnstrider/develop
Fixed typo for BUILDX_PLATFORM variable
2025-07-08 07:19:23 +02:00
dawnstrider
3320c5d82f Fixed typo for BUILDX_PLATFORM variable
The help prints the variable name as BUILDX_PLATFORMS whereas the code uses BUILDX_PLATFORM
2025-07-07 23:08:49 +02:00
Tobias Genannt
8a58c5a273 Merge pull request #1477 from netbox-community/renovate/dulwich-0.x
Update dependency dulwich to v0.23.2
2025-07-07 16:04:16 +02:00
renovate[bot]
21232c8ce1 Update dependency dulwich to v0.23.2 2025-07-07 13:43:56 +00:00
Tobias Genannt
4966abc535 Merge pull request #1474 from netbox-community/renovate/dulwich-0.x
Update dependency dulwich to v0.23.1
2025-07-01 06:57:37 +02:00
renovate[bot]
bc41310179 Update dependency dulwich to v0.23.1 2025-06-30 23:37:38 +00:00
Tobias Genannt
b7b226fd53 Merge pull request #1473 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.32.0
2025-06-27 10:57:35 +02:00
renovate[bot]
b845a0f45f Update dependency sentry-sdk to v2.32.0 2025-06-27 08:38:17 +00:00
Tobias Genannt
98feb59fb7 Merge pull request #1471 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.31.0
2025-06-24 21:49:05 +02:00
renovate[bot]
a0b6ce5ace Update dependency sentry-sdk to v2.31.0 2025-06-24 19:28:55 +00:00
Tobias Genannt
24f081ce9f Merge pull request #1470 from jensrudolf/jensrudolf-expose-ldap-always-update-user
Add AUTH_LDAP_ALWAY_UPDATE_USER to ldap config
2025-06-23 14:28:36 +02:00
Jens Rudolf
8e8e37fcc1 Add AUTH_LDAP_ALWAY_UPDATE_USER to ldap config
This change exposes the Django setting AUTH_LDAP_ALWAYS_UPDATE_USER as environment variable to simplify deployments with readonly databases and LDAP based authentication as no extra file is required to be mounted into the container anymore.
2025-06-23 13:08:00 +02:00
Tobias Genannt
17a5ddc232 Merge pull request #1469 from netbox-community/renovate/dulwich-0.x
Update dependency dulwich to v0.23.0
2025-06-22 11:51:07 +02:00
renovate[bot]
0e7e68e153 Update dependency dulwich to v0.23.0 2025-06-21 20:48:00 +00:00
Tobias Genannt
4da0319f1f Merge pull request #1458 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.30.0
2025-06-21 10:15:50 +02:00
renovate[bot]
9748e5b9b7 Update dependency sentry-sdk to v2.30.0 2025-06-12 12:41:10 +00:00
Tobias Genannt
0456a39136 Merge pull request #1454 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.28.0
2025-05-12 15:15:34 +02:00
renovate[bot]
4a2b9be52c Update dependency sentry-sdk to v2.28.0 2025-05-12 12:54:48 +00:00
Tobias Genannt
e3f2401526 Merge pull request #1452 from netbox-community/renovate/django-auth-ldap-5.x
Update dependency django-auth-ldap to v5.2.0
2025-05-07 15:56:45 +02:00
renovate[bot]
945f61e684 Update dependency django-auth-ldap to v5.2.0 2025-05-07 13:36:43 +00:00
12 changed files with 32 additions and 56 deletions

View File

@@ -23,13 +23,13 @@ jobs:
packages: read packages: read
statuses: write statuses: write
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v5
with: with:
# Full git history is needed to get a proper # Full git history is needed to get a proper
# list of changed files within `super-linter` # list of changed files within `super-linter`
fetch-depth: 0 fetch-depth: 0
- name: Lint Code Base - name: Lint Code Base
uses: super-linter/super-linter@v7 uses: super-linter/super-linter@v8
env: env:
DEFAULT_BRANCH: develop DEFAULT_BRANCH: develop
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -40,6 +40,8 @@ jobs:
VALIDATE_DOCKERFILE: false VALIDATE_DOCKERFILE: false
VALIDATE_GITLEAKS: false VALIDATE_GITLEAKS: false
VALIDATE_JSCPD: false VALIDATE_JSCPD: false
VALIDATE_TRIVY: false
VALIDATE_GITHUB_ACTIONS_ZIZMOR: false
FILTER_REGEX_EXCLUDE: (.*/)?(LICENSE|configuration/.*) FILTER_REGEX_EXCLUDE: (.*/)?(LICENSE|configuration/.*)
EDITORCONFIG_FILE_NAME: .editorconfig-checker.json EDITORCONFIG_FILE_NAME: .editorconfig-checker.json
DOCKERFILE_HADOLINT_FILE_NAME: .hadolint.yaml DOCKERFILE_HADOLINT_FILE_NAME: .hadolint.yaml
@@ -70,7 +72,7 @@ jobs:
steps: steps:
- id: git-checkout - id: git-checkout
name: Checkout name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v5
- id: buildx-setup - id: buildx-setup
name: Set up Docker Buildx name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3 uses: docker/setup-buildx-action@v3

View File

@@ -32,7 +32,7 @@ jobs:
steps: steps:
- id: source-checkout - id: source-checkout
name: Checkout name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v5
with: with:
ref: ${{ matrix.build.branch }} ref: ${{ matrix.build.branch }}
- id: set-netbox-docker-version - id: set-netbox-docker-version

View File

@@ -1,7 +1,7 @@
ARG FROM ARG FROM
FROM ${FROM} AS builder FROM ${FROM} AS builder
COPY --from=ghcr.io/astral-sh/uv:0.7 /uv /usr/local/bin/ COPY --from=ghcr.io/astral-sh/uv:0.8 /uv /usr/local/bin/
RUN export DEBIAN_FRONTEND=noninteractive \ RUN export DEBIAN_FRONTEND=noninteractive \
&& apt-get update -qq \ && apt-get update -qq \
&& apt-get upgrade \ && apt-get upgrade \
@@ -79,7 +79,6 @@ COPY ${NETBOX_PATH} /opt/netbox
COPY docker/configuration.docker.py /opt/netbox/netbox/netbox/configuration.py COPY docker/configuration.docker.py /opt/netbox/netbox/netbox/configuration.py
COPY docker/ldap_config.docker.py /opt/netbox/netbox/netbox/ldap_config.py COPY docker/ldap_config.docker.py /opt/netbox/netbox/netbox/ldap_config.py
COPY docker/docker-entrypoint.sh /opt/netbox/docker-entrypoint.sh COPY docker/docker-entrypoint.sh /opt/netbox/docker-entrypoint.sh
COPY docker/housekeeping.sh /opt/netbox/housekeeping.sh
COPY docker/launch-netbox.sh /opt/netbox/launch-netbox.sh COPY docker/launch-netbox.sh /opt/netbox/launch-netbox.sh
COPY configuration/ /etc/netbox/config/ COPY configuration/ /etc/netbox/config/
COPY docker/nginx-unit.json /etc/unit/ COPY docker/nginx-unit.json /etc/unit/
@@ -89,7 +88,7 @@ WORKDIR /opt/netbox/netbox
# Must set permissions for '/opt/netbox/netbox/media' directory # Must set permissions for '/opt/netbox/netbox/media' directory
# to g+w so that pictures can be uploaded to netbox. # to g+w so that pictures can be uploaded to netbox.
RUN mkdir -p static /opt/unit/state/ /opt/unit/tmp/ \ RUN mkdir -p static media /opt/unit/state/ /opt/unit/tmp/ \
&& chown -R unit:root /opt/unit/ media reports scripts \ && chown -R unit:root /opt/unit/ media reports scripts \
&& chmod -R g+w /opt/unit/ media reports scripts \ && chmod -R g+w /opt/unit/ media reports scripts \
&& cd /opt/netbox/ && SECRET_KEY="dummyKeyWithMinimumLength-------------------------" /opt/netbox/venv/bin/python -m mkdocs build \ && cd /opt/netbox/ && SECRET_KEY="dummyKeyWithMinimumLength-------------------------" /opt/netbox/venv/bin/python -m mkdocs build \

View File

@@ -1 +1 @@
3.3.0 3.4.0

View File

@@ -62,7 +62,7 @@ DOCKERFILE The name of Dockerfile to use.
DOCKER_FROM The base image to use. DOCKER_FROM The base image to use.
${_GREEN}Default:${_CLEAR} 'ubuntu:24.04' ${_GREEN}Default:${_CLEAR} 'ubuntu:24.04'
BUILDX_PLATFORMS BUILDX_PLATFORM
Specifies the platform(s) to build the image for. Specifies the platform(s) to build the image for.
${_CYAN}Example:${_CLEAR} 'linux/amd64,linux/arm64' ${_CYAN}Example:${_CLEAR} 'linux/amd64,linux/arm64'
${_GREEN}Default:${_CLEAR} 'linux/amd64' ${_GREEN}Default:${_CLEAR} 'linux/amd64'

View File

@@ -64,19 +64,21 @@ if '*' not in ALLOWED_HOSTS and 'localhost' not in ALLOWED_HOSTS:
# PostgreSQL database configuration. See the Django documentation for a complete list of available parameters: # PostgreSQL database configuration. See the Django documentation for a complete list of available parameters:
# https://docs.djangoproject.com/en/stable/ref/settings/#databases # https://docs.djangoproject.com/en/stable/ref/settings/#databases
DATABASE = { DATABASES = {
'NAME': environ.get('DB_NAME', 'netbox'), # Database name 'default': {
'USER': environ.get('DB_USER', ''), # PostgreSQL username 'NAME': environ.get('DB_NAME', 'netbox'), # Database name
'PASSWORD': _read_secret('db_password', environ.get('DB_PASSWORD', '')), 'USER': environ.get('DB_USER', ''), # PostgreSQL username
# PostgreSQL password 'PASSWORD': _read_secret('db_password', environ.get('DB_PASSWORD', '')),
'HOST': environ.get('DB_HOST', 'localhost'), # Database server # PostgreSQL password
'PORT': environ.get('DB_PORT', ''), # Database port (leave blank for default) 'HOST': environ.get('DB_HOST', 'localhost'), # Database server
'OPTIONS': {'sslmode': environ.get('DB_SSLMODE', 'prefer')}, 'PORT': environ.get('DB_PORT', ''), # Database port (leave blank for default)
# Database connection SSLMODE 'OPTIONS': {'sslmode': environ.get('DB_SSLMODE', 'prefer')},
'CONN_MAX_AGE': _environ_get_and_map('DB_CONN_MAX_AGE', '300', _AS_INT), # Database connection SSLMODE
# Max database connection age 'CONN_MAX_AGE': _environ_get_and_map('DB_CONN_MAX_AGE', '300', _AS_INT),
'DISABLE_SERVER_SIDE_CURSORS': _environ_get_and_map('DB_DISABLE_SERVER_SIDE_CURSORS', 'False', _AS_BOOL), # Max database connection age
# Disable the use of server-side cursors transaction pooling 'DISABLE_SERVER_SIDE_CURSORS': _environ_get_and_map('DB_DISABLE_SERVER_SIDE_CURSORS', 'False', _AS_BOOL),
# Disable the use of server-side cursors transaction pooling
}
} }
# Redis database settings. Redis is used for caching and for queuing background tasks such as webhook events. A separate # Redis database settings. Redis is used for caching and for queuing background tasks such as webhook events. A separate

View File

@@ -109,3 +109,6 @@ AUTH_LDAP_USER_ATTR_MAP = {
"last_name": environ.get('AUTH_LDAP_ATTR_LASTNAME', 'sn'), "last_name": environ.get('AUTH_LDAP_ATTR_LASTNAME', 'sn'),
"email": environ.get('AUTH_LDAP_ATTR_MAIL', 'mail') "email": environ.get('AUTH_LDAP_ATTR_MAIL', 'mail')
} }
# Update user object with the latest values from the LDAP directory every time the user logs in.
AUTH_LDAP_ALWAYS_UPDATE_USER = environ.get('AUTH_LDAP_ALWAYS_UPDATE_USER', 'True').lower() == 'true'

View File

@@ -28,15 +28,6 @@ services:
start_period: 40s start_period: 40s
timeout: 3s timeout: 3s
interval: 15s interval: 15s
netbox-housekeeping:
<<: *netbox
command:
- /opt/netbox/housekeeping.sh
healthcheck:
test: ps -aux | grep -v grep | grep -q housekeeping || exit 1
start_period: 40s
timeout: 3s
interval: 15s
postgres: postgres:
image: docker.io/postgres:17-alpine image: docker.io/postgres:17-alpine

View File

@@ -1,6 +1,6 @@
services: services:
netbox: &netbox netbox: &netbox
image: docker.io/netboxcommunity/netbox:${VERSION-v4.3-3.3.0} image: docker.io/netboxcommunity/netbox:${VERSION-v4.4-3.4.0}
depends_on: depends_on:
- postgres - postgres
- redis - redis
@@ -31,18 +31,6 @@ services:
start_period: 20s start_period: 20s
timeout: 3s timeout: 3s
interval: 15s interval: 15s
netbox-housekeeping:
<<: *netbox
depends_on:
netbox:
condition: service_healthy
command:
- /opt/netbox/housekeeping.sh
healthcheck:
test: ps -aux | grep -v grep | grep -q housekeeping || exit 1
start_period: 20s
timeout: 3s
interval: 15s
# postgres # postgres
postgres: postgres:

View File

@@ -1,8 +0,0 @@
#!/bin/bash
SLEEP_SECONDS=${HOUSEKEEPING_INTERVAL:=86400}
echo "Interval set to ${SLEEP_SECONDS} seconds"
while true; do
date
/opt/netbox/venv/bin/python /opt/netbox/netbox/manage.py housekeeping
sleep "${SLEEP_SECONDS}s"
done

1
env/netbox.env vendored
View File

@@ -15,7 +15,6 @@ EMAIL_USERNAME=netbox
EMAIL_USE_SSL=false EMAIL_USE_SSL=false
EMAIL_USE_TLS=false EMAIL_USE_TLS=false
GRAPHQL_ENABLED=true GRAPHQL_ENABLED=true
HOUSEKEEPING_INTERVAL=86400
MEDIA_ROOT=/opt/netbox/netbox/media MEDIA_ROOT=/opt/netbox/netbox/media
METRICS_ENABLED=false METRICS_ENABLED=false
REDIS_CACHE_DATABASE=1 REDIS_CACHE_DATABASE=1

View File

@@ -1,6 +1,6 @@
django-auth-ldap==5.1.0 django-auth-ldap==5.2.0
dulwich==0.22.8 dulwich==0.24.1
python3-saml==1.16.0 python3-saml==1.16.0
--no-binary lxml --no-binary lxml
--no-binary xmlsec --no-binary xmlsec
sentry-sdk[django]==2.27.0 sentry-sdk[django]==2.35.2