Compare commits

...

54 Commits
3.0.0 ... 3.1.0

Author SHA1 Message Date
bd9bdd0635 Merge pull request #1369 from netbox-community/develop
Version 3.1.0
2025-01-07 08:52:28 +01:00
11615dfd7b Merge pull request #1368 from tobiasge/prepare-netbox-4.2
Prepare for Netbox 4.2
2025-01-07 08:15:00 +01:00
1a70f971c0 Prepare for Netbox 4.2 2025-01-07 07:35:16 +01:00
69e997f0ea Merge pull request #1363 from netbox-community/renovate/dulwich-0.x
Update dependency dulwich to v0.22.7
2024-12-19 20:01:25 +01:00
878b3b6abb Update dependency dulwich to v0.22.7 2024-12-19 18:26:11 +00:00
d08e8b8d9b Merge pull request #1326 from netbox-community/renovate/docker.io-postgres-17.x
Update docker.io/postgres Docker tag to v17
2024-12-18 14:16:37 +01:00
49d80c9109 Make superlinter happy 2024-12-18 12:41:10 +01:00
5a61886e1d Merge pull request #1359 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.19.2
2024-12-18 12:37:01 +01:00
0c0c468386 Update dependency sentry-sdk to v2.19.2 2024-12-06 09:44:23 +00:00
f5d5a04b1c Merge pull request #1358 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.19.1
2024-12-06 08:36:14 +01:00
c416a054ae Update dependency sentry-sdk to v2.19.1 2024-12-05 17:56:35 +00:00
ad139decb3 Merge pull request #1353 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.19.0
2024-11-21 19:03:58 +01:00
404b4bcffe Update dependency sentry-sdk to v2.19.0 2024-11-21 17:26:58 +00:00
0e1c589541 Merge pull request #1351 from netbox-community/renovate/dulwich-0.x
Update dependency dulwich to v0.22.6
2024-11-19 16:36:15 +01:00
d8ac6f828c Removed LOGIN_REQUIRED 2024-11-19 15:58:22 +01:00
bf0cecc7fd Update dependency dulwich to v0.22.6 2024-11-18 01:40:01 +00:00
1ed3b1d849 Merge pull request #1350 from netbox-community/renovate/dulwich-0.x
Update dependency dulwich to v0.22.5
2024-11-07 18:45:10 +01:00
dcc8a624ba Update dependency dulwich to v0.22.5 2024-11-07 16:51:46 +00:00
7ccd618c58 Merge pull request #1347 from tobiasge/1331-forwarded-for
Fixes #1331: Added 'forwarded' section Unit config
2024-11-07 09:06:56 +01:00
afd18c6f39 Fixes #1331: Added 'forwarded' section Unit config
Simplifies the listener configuration by using a wildcard for the IP and
adds a forwarded section that trusts all proxies on RFC1918 networks.
2024-11-05 13:20:04 +01:00
d573274e21 Merge pull request #1346 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.18.0
2024-11-05 12:41:52 +01:00
50721989bf Update dependency sentry-sdk to v2.18.0 2024-11-04 17:39:16 +00:00
06232f64bb Merge pull request #1345 from netbox-community/renovate/dulwich-0.x
Update dependency dulwich to v0.22.4
2024-11-01 19:10:47 +01:00
8fcbc5c294 Update dependency dulwich to v0.22.4 2024-11-01 13:38:59 +00:00
14612526e0 Merge pull request #1339 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.17.0
2024-10-17 16:28:29 +02:00
8cd5ea456e Merge pull request #1338 from netbox-community/renovate/django-auth-ldap-5.x
Update dependency django-auth-ldap to v5.1.0
2024-10-17 15:53:23 +02:00
8453eab8dd Update dependency sentry-sdk to v2.17.0 2024-10-17 13:18:41 +00:00
cc6a35b636 Update dependency django-auth-ldap to v5.1.0 2024-10-17 13:18:36 +00:00
48f6e6cc04 Merge pull request #1337 from netbox-community/renovate/dulwich-0.x
Update dependency dulwich to v0.22.3
2024-10-17 07:06:16 +02:00
bffdc6d822 Update dependency dulwich to v0.22.3 2024-10-16 14:38:27 +00:00
3982207d91 Merge pull request #1332 from netbox-community/renovate/django-auth-ldap-5.x
Update dependency django-auth-ldap to v5
2024-10-08 19:17:08 +02:00
409cfeb337 Merge pull request #1327 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.16.0
2024-10-08 18:45:08 +02:00
5354b142cb Update dependency django-auth-ldap to v5 2024-10-08 16:41:06 +00:00
d3ce916073 Update dependency sentry-sdk to v2.16.0 2024-10-08 12:47:04 +00:00
db34a0ae2b Update docker.io/postgres Docker tag to v17 2024-09-27 03:23:22 +00:00
27bf52cf3e Merge pull request #1322 from netbox-community/develop
Version 3.0.2
2024-09-19 14:21:53 +02:00
5dea11c4d4 Preparation for 3.0.2 2024-09-19 13:43:31 +02:00
35c19d0fc8 Upgrade Nginx Unit to version 1.33 2024-09-18 17:56:55 +02:00
cd42632628 Merge pull request #1315 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.14.0
2024-09-09 17:24:58 +02:00
09c897aa22 Update dependency sentry-sdk to v2.14.0 2024-09-09 14:16:13 +00:00
656b118826 Merge pull request #1309 from tobiasge/fix-step-skipping
When no build is needed don't create the buildx config
2024-09-06 10:30:30 +02:00
f134a44bc7 When no build is needed don't create the buildx config 2024-09-06 09:50:12 +02:00
5add31ee7a Merge pull request #1301 from netbox-community/develop
Version 3.0.1
2024-09-06 09:41:54 +02:00
2d5c453350 Merge pull request #1307 from netbox-community/revert-1297-feat/multiple-ldap-require-dn
Revert "Feature: Support for multiple AUTH_LDAP_REQUIRE_GROUP from environment variables"
2024-09-05 07:24:21 +02:00
942f978ed2 Revert "Feature: Support for multiple AUTH_LDAP_REQUIRE_GROUP from environment variables" 2024-09-04 17:53:24 +02:00
52f38a3771 Merge pull request #1303 from tobiasge/docker-cloud-for-release
Use Docker Build Cloud for releases
2024-09-04 17:52:17 +02:00
a24c19c503 Use Docker Build Cloud for releases
With QEMU the ARM64 builds are slow and not reliable. If we use the
Docker Cloud builders we reduce the build times considerably.
As a Docker OSS organisation we get 400 build minutes per month, which
should be fine, because we already use checks if builds are really
needed. The Docker Cloud also uses a cache that should reduce build
times a little bit more.
2024-09-04 10:17:05 +02:00
f13a6bf5e4 Preparation for 3.0.1 2024-09-04 07:25:44 +02:00
52f80cc7ca Fix #1300: Disable ARM64 release 2024-09-04 07:25:04 +02:00
a7ebc148e8 Merge pull request #1299 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.13.0
2024-09-03 22:42:18 +02:00
636495e062 Merge pull request #1297 from NeodymiumFerBore/feat/multiple-ldap-require-dn
Feature: Support for multiple AUTH_LDAP_REQUIRE_GROUP from environment variables
2024-09-03 22:17:03 +02:00
6e735fd431 Update dependency sentry-sdk to v2.13.0 2024-09-03 20:03:58 +00:00
671f5e9411 Adapt ldap/extra: LDAPGroupQuery is now imported in ldap_config 2024-09-02 17:29:17 +00:00
d9ff19fd30 Support for multiple AUTH_LDAP_REQUIRE_GROUP from environment variable 2024-09-02 17:27:37 +00:00
10 changed files with 75 additions and 72 deletions

View File

@ -55,7 +55,7 @@ jobs:
- ./build-latest.sh
- PRERELEASE=true ./build-latest.sh
- ./build.sh feature
- ./build.sh develop
- ./build.sh main
os:
- ubuntu-latest
- self-hosted

View File

@ -17,7 +17,7 @@ jobs:
- ./build-latest.sh
- PRERELEASE=true ./build-latest.sh
- ./build.sh feature
- ./build.sh develop
- ./build.sh main
platform:
- linux/amd64,linux/arm64
fail-fast: false
@ -35,19 +35,11 @@ jobs:
name: Get Version of NetBox Docker
run: echo "version=$(cat VERSION)" >>"$GITHUB_OUTPUT"
shell: bash
- id: qemu-setup
name: Set up QEMU
uses: docker/setup-qemu-action@v3
- id: buildx-setup
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- id: docker-build
name: Build the image with '${{ matrix.build_cmd }}'
- id: check-build-needed
name: Check if the build is needed for '${{ matrix.build_cmd }}'
env:
CHECK_ONLY: "true"
run: ${{ matrix.build_cmd }}
- id: test-image
name: Test the image
run: IMAGE="${FINAL_DOCKER_TAG}" ./test.sh
if: steps.docker-build.outputs.skipped != 'true'
# docker.io
- id: docker-io-login
name: Login to docker.io
@ -56,7 +48,15 @@ jobs:
registry: docker.io
username: ${{ secrets.dockerhub_username }}
password: ${{ secrets.dockerhub_password }}
if: steps.docker-build.outputs.skipped != 'true'
if: steps.check-build-needed.outputs.skipped != 'true'
- id: buildx-setup
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
with:
version: "lab:latest"
driver: cloud
endpoint: "netboxcommunity/netbox-default"
if: steps.check-build-needed.outputs.skipped != 'true'
# quay.io
- id: quay-io-login
name: Login to Quay.io
@ -65,7 +65,7 @@ jobs:
registry: quay.io
username: ${{ secrets.quayio_username }}
password: ${{ secrets.quayio_password }}
if: steps.docker-build.outputs.skipped != 'true'
if: steps.check-build-needed.outputs.skipped != 'true'
# ghcr.io
- id: ghcr-io-login
name: Login to GitHub Container Registry
@ -74,11 +74,11 @@ jobs:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
if: steps.docker-build.outputs.skipped != 'true'
if: steps.check-build-needed.outputs.skipped != 'true'
- id: build-and-push
name: Push the image
run: ${{ matrix.build_cmd }} --push
if: steps.docker-build.outputs.skipped != 'true'
if: steps.check-build-needed.outputs.skipped != 'true'
env:
BUILDX_PLATFORM: ${{ matrix.platform }}
BUILDX_BUILDER_NAME: ${{ steps.buildx-setup.outputs.name }}

View File

@ -1,5 +1,5 @@
ARG FROM
FROM ${FROM} as builder
FROM ${FROM} AS builder
RUN export DEBIAN_FRONTEND=noninteractive \
&& apt-get update -qq \
@ -46,7 +46,7 @@ RUN \
###
ARG FROM
FROM ${FROM} as main
FROM ${FROM} AS main
RUN export DEBIAN_FRONTEND=noninteractive \
&& apt-get update -qq \
@ -64,15 +64,15 @@ RUN export DEBIAN_FRONTEND=noninteractive \
openssl \
python3 \
tini \
&& curl --silent --output /etc/apt/keyrings/nginx-keyring.gpg \
&& curl --silent --output /usr/share/keyrings/nginx-keyring.gpg \
https://unit.nginx.org/keys/nginx-keyring.gpg \
&& echo "deb [signed-by=/etc/apt/keyrings/nginx-keyring.gpg] https://packages.nginx.org/unit/ubuntu/ mantic unit" \
&& echo "deb [signed-by=/usr/share/keyrings/nginx-keyring.gpg] https://packages.nginx.org/unit/ubuntu/ noble unit" \
> /etc/apt/sources.list.d/unit.list \
&& apt-get update -qq \
&& apt-get install \
--yes -qq --no-install-recommends \
unit=1.32.1-1~mantic \
unit-python3.12=1.32.1-1~mantic \
unit=1.34.0-1~noble \
unit-python3.12=1.34.0-1~noble \
&& rm -rf /var/lib/apt/lists/*
COPY --from=builder /opt/netbox/venv /opt/netbox/venv

View File

@ -1 +1 @@
3.0.0
3.1.0

View File

@ -39,9 +39,8 @@ SKIP_GIT If defined, git is not invoked and \${NETBOX_PATH} will not be alter
TAG The version part of the image tag.
${_GREEN}Default:${_CLEAR}
When <branch>=master: latest
When <branch>=develop: snapshot
Else: same as <branch>
When <branch>=main: snapshot
Else: same as <branch>
IMAGE_NAMES The names used for the image including the registry
Used for tagging the image.
@ -103,23 +102,22 @@ GH_ACTION If defined, special 'echo' statements are enabled that set the
- FINAL_DOCKER_TAG: The final value of the DOCKER_TAG env variable
${_GREEN}Default:${_CLEAR} undefined
CHECK_ONLY Only checks if the build is needed and sets the GH Action output.
${_GREEN}Default:${_CLEAR} undefined
${_BOLD}Examples:${_CLEAR}
${0} master
This will fetch the latest 'master' branch, build a Docker Image and tag it
'netboxcommunity/netbox:latest'.
${0} develop
This will fetch the latest 'develop' branch, build a Docker Image and tag it
${0} main
This will fetch the latest 'main' branch, build a Docker Image and tag it
'netboxcommunity/netbox:snapshot'.
${0} v2.6.6
This will fetch the 'v2.6.6' tag, build a Docker Image and tag it
'netboxcommunity/netbox:v2.6.6' and 'netboxcommunity/netbox:v2.6'.
${0} v4.2.0
This will fetch the 'v4.2.0' tag, build a Docker Image and tag it
'netboxcommunity/netbox:v4.2.0' and 'netboxcommunity/netbox:v4.2'.
${0} develop-2.7
This will fetch the 'develop-2.7' branch, build a Docker Image and tag it
'netboxcommunity/netbox:develop-2.7'.
${0} feature
This will fetch the 'feature' branch, build a Docker Image and tag it
'netboxcommunity/netbox:feature'.
SRC_ORG=cimnine ${0} feature-x
This will fetch the 'feature-x' branch from https://github.com/cimnine/netbox.git,
@ -257,10 +255,7 @@ DOCKER_REGISTRY="${DOCKER_REGISTRY-docker.io}"
DOCKER_ORG="${DOCKER_ORG-netboxcommunity}"
DOCKER_REPO="${DOCKER_REPO-netbox}"
case "${NETBOX_BRANCH}" in
master)
TAG="${TAG-latest}"
;;
develop)
main)
TAG="${TAG-snapshot}"
;;
*)
@ -276,7 +271,7 @@ TARGET_DOCKER_TAG_PROJECT="${TARGET_DOCKER_TAG}-${PROJECT_VERSION}"
###
# composing the additional DOCKER_SHORT_TAG,
# i.e. "v2.6.1" becomes "v2.6",
# i.e. "v4.2.0" becomes "v4.2",
# which is only relevant for version tags
# Also let "latest" follow the highest version
###
@ -355,6 +350,11 @@ else
fi
gh_echo "::endgroup::"
if [ "${CHECK_ONLY}" = "true" ]; then
echo "Only check if build needed was requested. Exiting"
exit 0
fi
###
# Build the image
###

View File

@ -9,9 +9,9 @@ services:
redis-cache:
condition: service_healthy
env_file: env/netbox.env
user: 'unit:root'
user: "unit:root"
volumes:
- ./test-configuration/test_config.py:/etc/netbox/config/test_config.py:z,ro
- ./test-configuration/test_config.py:/etc/netbox/config/test_config.py:z,ro
healthcheck:
test: curl -f http://localhost:8080/login/ || exit 1
start_period: ${NETBOX_START_PERIOD-120s}
@ -20,9 +20,9 @@ services:
netbox-worker:
<<: *netbox
command:
- /opt/netbox/venv/bin/python
- /opt/netbox/netbox/manage.py
- rqworker
- /opt/netbox/venv/bin/python
- /opt/netbox/netbox/manage.py
- rqworker
healthcheck:
test: ps -aux | grep -v grep | grep -q rqworker || exit 1
start_period: 40s
@ -31,7 +31,7 @@ services:
netbox-housekeeping:
<<: *netbox
command:
- /opt/netbox/housekeeping.sh
- /opt/netbox/housekeeping.sh
healthcheck:
test: ps -aux | grep -v grep | grep -q housekeeping || exit 1
start_period: 40s
@ -39,7 +39,7 @@ services:
interval: 15s
postgres:
image: docker.io/postgres:16-alpine
image: docker.io/postgres:17-alpine
env_file: env/postgres.env
healthcheck:
test: pg_isready -q -t 2 -d $$POSTGRES_DB -U $$POSTGRES_USER ## $$ because of docker-compose
@ -51,12 +51,12 @@ services:
redis: &redis
image: docker.io/valkey/valkey:8.0-alpine
command:
- sh
- -c # this is to evaluate the $REDIS_PASSWORD from the env
- valkey-server --save "" --appendonly no --requirepass $$REDIS_PASSWORD ## $$ because of docker-compose
- sh
- -c # this is to evaluate the $REDIS_PASSWORD from the env
- valkey-server --save "" --appendonly no --requirepass $$REDIS_PASSWORD ## $$ because of docker-compose
env_file: env/redis.env
healthcheck:
test: "[ $$(valkey-cli --pass \"$${REDIS_PASSWORD}\" ping) = 'PONG' ]"
test: '[ $$(valkey-cli --pass "$${REDIS_PASSWORD}" ping) = ''PONG'' ]'
start_period: 5s
timeout: 3s
interval: 1s

View File

@ -1,6 +1,6 @@
services:
netbox: &netbox
image: docker.io/netboxcommunity/netbox:${VERSION-v4.1-3.0.0}
image: docker.io/netboxcommunity/netbox:${VERSION-v4.2-3.1.0}
depends_on:
- postgres
- redis
@ -46,7 +46,7 @@ services:
# postgres
postgres:
image: docker.io/postgres:16-alpine
image: docker.io/postgres:17-alpine
healthcheck:
test: pg_isready -q -t 2 -d $$POSTGRES_DB -U $$POSTGRES_USER
start_period: 20s

View File

@ -1,16 +1,20 @@
{
"listeners": {
"0.0.0.0:8080": {
"pass": "routes/main"
"*:8080": {
"pass": "routes/main",
"forwarded": {
"client_ip": "X-Forwarded-For",
"protocol": "X-Forwarded-Proto",
"source": ["10.0.0.0/8", "172.16.0.0/12", "192.168.0.0/16"]
}
},
"[::]:8080": {
"pass": "routes/main"
},
"0.0.0.0:8081": {
"pass": "routes/status"
},
"[::]:8081": {
"pass": "routes/status"
"*:8081": {
"pass": "routes/status",
"forwarded": {
"client_ip": "X-Forwarded-For",
"protocol": "X-Forwarded-Proto",
"source": ["10.0.0.0/8", "172.16.0.0/12", "192.168.0.0/16"]
}
}
},
"routes": {

View File

@ -1,5 +1,5 @@
django-auth-ldap==4.8.0
django-auth-ldap==5.1.0
django-storages[azure,boto3,dropbox,google,libcloud,sftp]==1.14.4
dulwich==0.22.1
dulwich==0.22.7
python3-saml==1.16.0 --no-binary lxml,xmlsec
sentry-sdk[django]==2.12.0
sentry-sdk[django]==2.19.2

View File

@ -4,4 +4,3 @@ LOGGING = {
}
DEFAULT_PERMISSIONS = {}
LOGIN_REQUIRED = False