Compare commits

...

503 commits

Author SHA1 Message Date
Tobias Genannt 7d6f00662c
Merge pull request #1558 from netbox-community/develop
Version 3.4.2
2025-11-10 12:55:32 +01:00
Tobias Genannt 4965e7e988 Preparation for 3.4.2 2025-11-10 10:28:40 +01:00
Tobias Genannt d194cf7fff
Merge pull request #1554 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.43.0
2025-11-10 10:02:13 +01:00
Tobias Genannt 0439c610de
Merge pull request #1555 from netbox-community/renovate/dulwich-0.x
Update dependency dulwich to v0.24.8
2025-11-10 10:01:53 +01:00
renovate[bot] 35473e755b
Update dependency dulwich to v0.24.8 2025-10-30 03:30:40 +00:00
renovate[bot] 3f0f4e7160
Update dependency sentry-sdk to v2.43.0 2025-10-29 19:47:17 +00:00
Tobias Genannt 10a57990e2
Merge pull request #1553 from netbox-community/renovate/dulwich-0.x
Some checks failed
push / Checks syntax of our code (push) Has been cancelled
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04-arm) (push) Has been cancelled
Update dependency dulwich to v0.24.7
2025-10-23 15:18:16 +02:00
renovate[bot] 2d6d5058fe
Update dependency dulwich to v0.24.7 2025-10-23 12:46:08 +00:00
Tobias Genannt f6cab681b4
Merge pull request #1547 from WillNilges/patch-1
Some checks are pending
push / Checks syntax of our code (push) Waiting to run
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04) (push) Waiting to run
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04-arm) (push) Waiting to run
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04) (push) Waiting to run
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04-arm) (push) Waiting to run
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04) (push) Waiting to run
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04-arm) (push) Waiting to run
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04) (push) Waiting to run
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04-arm) (push) Waiting to run
Correct typo in launch-netbox.sh
2025-10-22 14:52:48 +02:00
Tobias Genannt 4bdf66157b
Merge pull request #1550 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.42.1
2025-10-22 14:20:41 +02:00
renovate[bot] 73bbf17d6b
Update dependency sentry-sdk to v2.42.1 2025-10-20 15:32:40 +00:00
Tobias Genannt 9b2793a808
Merge pull request #1548 from netbox-community/renovate/dulwich-0.x
Some checks failed
push / Checks syntax of our code (push) Has been cancelled
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04-arm) (push) Has been cancelled
Update dependency dulwich to v0.24.6
2025-10-19 15:31:13 +02:00
renovate[bot] b0aad0dfda
Update dependency dulwich to v0.24.6 2025-10-19 12:45:34 +00:00
Willard Nilges eb2822a978
Fix typo in error message for Unit configuration 2025-10-19 01:17:23 -04:00
Tobias Genannt 016a2ab4fe
Merge pull request #1542 from netbox-community/renovate/dulwich-0.x
Some checks failed
push / Checks syntax of our code (push) Has been cancelled
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04-arm) (push) Has been cancelled
Update dependency dulwich to v0.24.5
2025-10-16 19:39:19 +02:00
renovate[bot] 56d27f84a7
Update dependency dulwich to v0.24.5 2025-10-16 14:11:49 +00:00
Tobias Genannt 24641dabc5
Merge pull request #1540 from netbox-community/renovate/sentry-sdk-2.x
Some checks are pending
push / Checks syntax of our code (push) Waiting to run
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04) (push) Waiting to run
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04-arm) (push) Waiting to run
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04) (push) Waiting to run
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04-arm) (push) Waiting to run
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04) (push) Waiting to run
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04-arm) (push) Waiting to run
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04) (push) Waiting to run
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04-arm) (push) Waiting to run
Update dependency sentry-sdk to v2.42.0
2025-10-15 13:16:39 +02:00
renovate[bot] 07258394d1
Update dependency sentry-sdk to v2.42.0 2025-10-15 10:43:52 +00:00
Tobias Genannt b6cc5e3c06
Merge pull request #1537 from netbox-community/renovate/dulwich-0.x
Some checks are pending
push / Checks syntax of our code (push) Waiting to run
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04) (push) Waiting to run
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04-arm) (push) Waiting to run
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04) (push) Waiting to run
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04-arm) (push) Waiting to run
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04) (push) Waiting to run
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04-arm) (push) Waiting to run
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04) (push) Waiting to run
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04-arm) (push) Waiting to run
Update dependency dulwich to v0.24.4
2025-10-15 06:43:09 +02:00
renovate[bot] 95bcfeb69d
Update dependency dulwich to v0.24.4 2025-10-14 21:08:52 +00:00
Tobias Genannt c10d4e71c7
Merge pull request #1533 from netbox-community/renovate/sentry-sdk-2.x
Some checks are pending
push / Checks syntax of our code (push) Waiting to run
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04) (push) Waiting to run
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04-arm) (push) Waiting to run
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04) (push) Waiting to run
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04-arm) (push) Waiting to run
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04) (push) Waiting to run
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04-arm) (push) Waiting to run
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04) (push) Waiting to run
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04-arm) (push) Waiting to run
Update dependency sentry-sdk to v2.41.0
2025-10-14 07:17:32 +02:00
renovate[bot] 85615a9bea
Update dependency sentry-sdk to v2.41.0 2025-10-14 04:46:28 +00:00
Tobias Genannt 1abb784f9b
Merge pull request #1535 from netbox-community/renovate/dulwich-0.x
Update dependency dulwich to v0.24.3
2025-10-14 06:45:35 +02:00
renovate[bot] f89f907408
Update dependency dulwich to v0.24.3 2025-10-14 01:45:18 +00:00
Tobias Genannt 6b7121564b
Merge pull request #1532 from tobiasge/new-api-token
Some checks failed
push / Checks syntax of our code (push) Has been cancelled
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04-arm) (push) Has been cancelled
Support new API_TOKEN format
2025-10-10 11:36:01 +02:00
Tobias Genannt 1f0ef020a9 Support new API_TOKEN format
Allows configuration the new API_TOKEN_PEPPERS setting from an
ENV variable or secret file.

Feature request: https://github.com/netbox-community/netbox/issues/20210
Pull request: https://github.com/netbox-community/netbox/pull/20477
2025-10-08 08:26:27 +02:00
Tobias Genannt f07c9d533d
Merge pull request #1531 from netbox-community/renovate/ghcr.io-astral-sh-uv-0.x
Some checks failed
push / Checks syntax of our code (push) Has been cancelled
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04-arm) (push) Has been cancelled
Update ghcr.io/astral-sh/uv Docker tag to v0.9
2025-10-08 07:29:21 +02:00
renovate[bot] 7067475a81
Update ghcr.io/astral-sh/uv Docker tag to v0.9 2025-10-08 05:08:30 +00:00
Tobias Genannt 0072d59ea2
Merge pull request #1528 from netbox-community/renovate/sentry-sdk-2.x
Some checks failed
push / Checks syntax of our code (push) Has been cancelled
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04-arm) (push) Has been cancelled
Update dependency sentry-sdk to v2.40.0
2025-10-06 15:59:15 +02:00
renovate[bot] 88bc5cf8d6
Update dependency sentry-sdk to v2.40.0 2025-10-06 13:37:57 +00:00
Tobias Genannt 993628d8f0
Merge pull request #1525 from netbox-community/renovate/dulwich-0.x
Some checks failed
push / Checks syntax of our code (push) Has been cancelled
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04-arm) (push) Has been cancelled
Update dependency dulwich to v0.24.2
2025-09-26 13:04:17 +02:00
renovate[bot] dbc1b37cf7
Update dependency dulwich to v0.24.2 2025-09-26 10:42:24 +00:00
Tobias Genannt 7aeec92141
Merge pull request #1479 from tobiasge/update-readme
Use our example file in the Readme
2025-09-26 12:41:55 +02:00
Tobias Genannt ae5f7d2419
Merge pull request #1524 from netbox-community/develop
Version 3.4.1
2025-09-26 11:04:31 +02:00
Tobias Genannt a945236c81 Preparation for 3.4.1
Some checks are pending
push / Checks syntax of our code (push) Waiting to run
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04) (push) Waiting to run
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04-arm) (push) Waiting to run
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04) (push) Waiting to run
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04-arm) (push) Waiting to run
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04) (push) Waiting to run
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04-arm) (push) Waiting to run
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04) (push) Waiting to run
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04-arm) (push) Waiting to run
2025-09-26 09:47:06 +02:00
Tobias Genannt 481a102d30
Merge pull request #1515 from alexanderhofstaetter/patch-1
Increase default NGINX Unit request body limit to 100 MB in nginx settings
2025-09-26 09:25:28 +02:00
Tobias Genannt 81fb62ecef
Merge pull request #1519 from netbox-community/renovate/sentry-sdk-2.x
Some checks are pending
push / Checks syntax of our code (push) Waiting to run
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04) (push) Waiting to run
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04-arm) (push) Waiting to run
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04) (push) Waiting to run
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04-arm) (push) Waiting to run
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04) (push) Waiting to run
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04-arm) (push) Waiting to run
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04) (push) Waiting to run
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04-arm) (push) Waiting to run
Update dependency sentry-sdk to v2.39.0
2025-09-25 15:14:25 +02:00
renovate[bot] 2c49500e8d
Update dependency sentry-sdk to v2.39.0 2025-09-25 12:49:11 +00:00
Tobias Genannt c16c79ff16
Merge pull request #1517 from netbox-community/renovate/sentry-sdk-2.x
Some checks failed
push / Checks syntax of our code (push) Has been cancelled
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04-arm) (push) Has been cancelled
Update dependency sentry-sdk to v2.38.0
2025-09-16 06:39:49 +02:00
renovate[bot] c05e838edc
Update dependency sentry-sdk to v2.38.0 2025-09-15 23:32:23 +00:00
Alexander Hofstätter e62af8be76
Increase default NGINX Unit request body limit to 100 MB in docker/nginx-unit.json
The current NGINX Unit configuration in netbox-docker implicitly limits
incoming HTTP request bodies to roughly 2.5 MB. This causes file uploads
(custom scripts, attachments, etc.) to fail with HTTP 413 before they
reach Django, even when NetBox settings like FILE_UPLOAD_MAX_MEMORY_SIZE
are raised.

This change adds a settings block to docker/nginx-unit.json to raise
the default limit:

{
  "settings": {
    "http": {
      "max_body_size": 104857600
    }
  }
}

With this change, new deployments can handle uploads up to 100 MB out
of the box, aligning the container default with the capabilities of
NetBox core and preventing unexpected 413 errors.

Fixes: https://github.com/netbox-community/netbox-docker/issues/897
2025-09-13 13:06:29 +02:00
Tobias Genannt a229603d90
Merge pull request #1513 from netbox-community/renovate/sentry-sdk-2.x
Some checks failed
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04) (push) Has been cancelled
push / Checks syntax of our code (push) Has been cancelled
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04-arm) (push) Has been cancelled
Update dependency sentry-sdk to v2.37.1
2025-09-09 17:08:38 +02:00
renovate[bot] 942fc04776
Update dependency sentry-sdk to v2.37.1 2025-09-09 14:47:12 +00:00
Tobias Genannt b76bd3d780
Merge pull request #1511 from LeoColomb/patch-1
Some checks failed
push / Checks syntax of our code (push) Has been cancelled
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04-arm) (push) Has been cancelled
Update `BUILD_DATE` format to include seconds
2025-09-08 08:12:34 +02:00
Léo Colombaro 4744eeb3ef
Update BUILD_DATE format to include seconds
* Comply with all standards (RFC 3339, ISO 8601, and HTML).
* Reduce ambiguity.
* Ensure a fully compliant `org.opencontainers.image.created`. (fix artifacthub error)
2025-09-07 14:41:44 +02:00
Tobias Genannt bdea0cf05a
Merge pull request #1510 from netbox-community/renovate/sentry-sdk-2.x
Some checks failed
push / Checks syntax of our code (push) Has been cancelled
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04-arm) (push) Has been cancelled
Update dependency sentry-sdk to v2.37.0
2025-09-05 15:21:12 +02:00
renovate[bot] 76f670faaa
Update dependency sentry-sdk to v2.37.0 2025-09-05 12:59:40 +00:00
Tobias Genannt 263fcf35bf
Merge pull request #1509 from netbox-community/renovate/sentry-sdk-2.x
Some checks are pending
push / Checks syntax of our code (push) Waiting to run
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04) (push) Waiting to run
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04-arm) (push) Waiting to run
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04) (push) Waiting to run
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04-arm) (push) Waiting to run
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04) (push) Waiting to run
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04-arm) (push) Waiting to run
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04) (push) Waiting to run
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04-arm) (push) Waiting to run
Update dependency sentry-sdk to v2.36.0
2025-09-04 12:17:06 +02:00
renovate[bot] fb1cfd880a
Update dependency sentry-sdk to v2.36.0 2025-09-04 09:54:49 +00:00
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
Some checks are pending
push / Checks syntax of our code (push) Waiting to run
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04) (push) Waiting to run
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04-arm) (push) Waiting to run
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04) (push) Waiting to run
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04-arm) (push) Waiting to run
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04) (push) Waiting to run
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04-arm) (push) Waiting to run
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04) (push) Waiting to run
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04-arm) (push) Waiting to run
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
Some checks are pending
push / Checks syntax of our code (push) Waiting to run
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04) (push) Waiting to run
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04-arm) (push) Waiting to run
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04) (push) Waiting to run
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04-arm) (push) Waiting to run
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04) (push) Waiting to run
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04-arm) (push) Waiting to run
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04) (push) Waiting to run
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04-arm) (push) Waiting to run
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
Some checks failed
push / Checks syntax of our code (push) Has been cancelled
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04-arm) (push) Has been cancelled
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
Some checks failed
push / Checks syntax of our code (push) Has been cancelled
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04-arm) (push) Has been cancelled
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
Some checks failed
push / Checks syntax of our code (push) Has been cancelled
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04-arm) (push) Has been cancelled
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
Some checks failed
push / Checks syntax of our code (push) Has been cancelled
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04-arm) (push) Has been cancelled
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
Some checks failed
push / Checks syntax of our code (push) Has been cancelled
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04-arm) (push) Has been cancelled
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
Some checks failed
push / Checks syntax of our code (push) Has been cancelled
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04-arm) (push) Has been cancelled
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
Some checks are pending
push / Checks syntax of our code (push) Waiting to run
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04) (push) Waiting to run
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04-arm) (push) Waiting to run
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04) (push) Waiting to run
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04-arm) (push) Waiting to run
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04) (push) Waiting to run
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04-arm) (push) Waiting to run
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04) (push) Waiting to run
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04-arm) (push) Waiting to run
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
Some checks are pending
push / Checks syntax of our code (push) Waiting to run
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04) (push) Waiting to run
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04-arm) (push) Waiting to run
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04) (push) Waiting to run
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04-arm) (push) Waiting to run
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04) (push) Waiting to run
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04-arm) (push) Waiting to run
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04) (push) Waiting to run
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04-arm) (push) Waiting to run
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
Some checks failed
push / Checks syntax of our code (push) Has been cancelled
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04-arm) (push) Has been cancelled
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
Some checks are pending
push / Checks syntax of our code (push) Waiting to run
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04) (push) Waiting to run
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04-arm) (push) Waiting to run
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04) (push) Waiting to run
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04-arm) (push) Waiting to run
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04) (push) Waiting to run
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04-arm) (push) Waiting to run
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04) (push) Waiting to run
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04-arm) (push) Waiting to run
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
Some checks failed
push / Checks syntax of our code (push) Has been cancelled
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04-arm) (push) Has been cancelled
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
Some checks failed
push / Checks syntax of our code (push) Has been cancelled
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04-arm) (push) Has been cancelled
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
Some checks failed
push / Checks syntax of our code (push) Has been cancelled
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04-arm) (push) Has been cancelled
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
Some checks are pending
push / Checks syntax of our code (push) Waiting to run
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04) (push) Waiting to run
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04-arm) (push) Waiting to run
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04) (push) Waiting to run
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04-arm) (push) Waiting to run
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04) (push) Waiting to run
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04-arm) (push) Waiting to run
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04) (push) Waiting to run
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04-arm) (push) Waiting to run
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
Some checks failed
push / Checks syntax of our code (push) Has been cancelled
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04-arm) (push) Has been cancelled
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 c8d766a95b Use our example file in the Readme 2025-07-08 07:45:38 +02:00
Tobias Genannt 0e66fbad47
Merge pull request #1478 from dawnstrider/develop
Some checks failed
push / Checks syntax of our code (push) Has been cancelled
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04-arm) (push) Has been cancelled
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
Some checks are pending
push / Checks syntax of our code (push) Waiting to run
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04) (push) Waiting to run
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04-arm) (push) Waiting to run
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04) (push) Waiting to run
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04-arm) (push) Waiting to run
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04) (push) Waiting to run
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04-arm) (push) Waiting to run
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04) (push) Waiting to run
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04-arm) (push) Waiting to run
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
Some checks failed
push / Checks syntax of our code (push) Has been cancelled
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04-arm) (push) Has been cancelled
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
Some checks failed
push / Checks syntax of our code (push) Has been cancelled
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04-arm) (push) Has been cancelled
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
Some checks failed
push / Checks syntax of our code (push) Has been cancelled
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04-arm) (push) Has been cancelled
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
Some checks failed
push / Checks syntax of our code (push) Has been cancelled
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04-arm) (push) Has been cancelled
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
Some checks are pending
push / Checks syntax of our code (push) Waiting to run
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04) (push) Waiting to run
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04-arm) (push) Waiting to run
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04) (push) Waiting to run
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04-arm) (push) Waiting to run
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04) (push) Waiting to run
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04-arm) (push) Waiting to run
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04) (push) Waiting to run
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04-arm) (push) Waiting to run
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
Some checks failed
push / Checks syntax of our code (push) Has been cancelled
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build-latest.sh, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh feature, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (./build.sh main, ubuntu-24.04-arm) (push) Has been cancelled
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04) (push) Has been cancelled
push / Builds new NetBox Docker Images (PRERELEASE=true ./build-latest.sh, ubuntu-24.04-arm) (push) Has been cancelled
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
Tobias Genannt 477decd80a
Merge pull request #1450 from netbox-community/develop
Version 3.3.0
2025-05-05 07:51:26 +02:00
Tobias Genannt b845efe1ad
Merge pull request #1449 from netbox-community/renovate/ghcr.io-astral-sh-uv-0.x
Update ghcr.io/astral-sh/uv Docker tag to v0.7
2025-05-04 15:52:39 +02:00
renovate[bot] 56defa3f82
Update ghcr.io/astral-sh/uv Docker tag to v0.7 2025-04-30 04:00:06 +00:00
Tobias Genannt 7078ab7519
Merge pull request #1448 from tobiasge/merge-back
Merge back of release into develop
2025-04-25 07:58:35 +02:00
Tobias Genannt fcd5b4e66b Merge remote-tracking branch 'upstream/release' into merge-back 2025-04-25 07:28:42 +02:00
Tobias Genannt 2efacf39ca
Merge pull request #1447 from tobiasge/sentry-hot-fix
Hot fix for Sentry and feature build (Release 3.2.1)
2025-04-25 07:18:54 +02:00
Tobias Genannt a4ce13be19 Preparation for 3.2.1 2025-04-25 07:06:42 +02:00
renovate[bot] fa08388175 Update dependency django-storages to v1.14.6 2025-04-25 07:06:42 +02:00
renovate[bot] fd9b41a5d1 Update dependency sentry-sdk to v2.27.0 2025-04-25 06:58:02 +02:00
Tobias Genannt 83ec1c2656
Merge pull request #1446 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.27.0
2025-04-25 06:42:22 +02:00
renovate[bot] 0fe49f87d7
Update dependency sentry-sdk to v2.27.0 2025-04-24 15:15:00 +00:00
Tobias Genannt 83f87b4ad2
Merge pull request #1406 from netbox-community/renovate/docker.io-valkey-valkey-8.x
Update docker.io/valkey/valkey Docker tag to v8.1
2025-04-20 11:01:11 +02:00
Tobias Genannt 82d9d8ae49
Merge pull request #1438 from tobiasge/prepare-netbox-43
Prepare for NetBox 4.3
2025-04-20 10:50:32 +02:00
Tobias Genannt f1864f8f20
Merge pull request #1439 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.26.1
2025-04-19 17:36:43 +02:00
Tobias Genannt 8431b77422 Use develop branch for pre-releases 2025-04-19 17:36:09 +02:00
renovate[bot] 19e167ec19
Update dependency sentry-sdk to v2.26.1 2025-04-15 11:46:55 +00:00
Tobias Genannt 8f7c21749e Match upstream testing configuration 2025-04-12 11:10:33 +02:00
Tobias Genannt ec9a3e80da Prepare for NetBox 4.3 2025-04-12 10:26:09 +02:00
Tobias Genannt 61eaffaf2e
Merge pull request #1432 from netbox-community/renovate/django-storages-1.x
Update dependency django-storages to v1.14.6
2025-04-02 20:10:56 +02:00
Tobias Genannt fef49f447e
Merge pull request #1435 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.25.1
2025-04-02 20:10:25 +02:00
renovate[bot] 5ded00b6fb
Update dependency sentry-sdk to v2.25.1 2025-04-02 16:02:23 +00:00
renovate[bot] 67ddeb6735
Update dependency django-storages to v1.14.6 2025-04-02 06:32:03 +00:00
Tobias Genannt 8179a4344b
Merge pull request #1431 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.25.0
2025-03-31 18:10:09 +02:00
renovate[bot] 688d8901b7
Update dependency sentry-sdk to v2.25.0 2025-03-31 15:49:55 +00:00
Tobias Genannt 687b8384bc
Merge pull request #1418 from tobiasge/update-unit
Update Nginx Unit
2025-03-27 09:52:14 +01:00
Tobias Genannt 1c3017323c
Merge pull request #1425 from skupjoe/fix-editorconfig-checker
Fix editorconfig-checker deprecations
2025-03-24 14:45:06 +01:00
skupjoe c8bd177a93 Fix deprecated config name 2025-03-24 14:18:38 +01:00
Tobias Genannt c31ed9a79a
Merge pull request #1426 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.24.1
2025-03-24 14:09:28 +01:00
renovate[bot] 139c158d8a
Update dependency sentry-sdk to v2.24.1 2025-03-24 12:37:10 +00:00
Tobias Genannt e5400e345b
Merge pull request #1423 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.24.0
2025-03-21 17:35:20 +01:00
renovate[bot] 017098a587
Update dependency sentry-sdk to v2.24.0 2025-03-21 16:10:17 +00:00
Tobias Genannt bb8f2fd17c
Merge pull request #1421 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.23.1
2025-03-17 20:17:20 +01:00
renovate[bot] d9da3fa35b
Update dependency sentry-sdk to v2.23.1 2025-03-17 18:07:11 +00:00
Tobias Genannt 0f7e72fc0d
Merge pull request #1420 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.23.0
2025-03-17 13:12:44 +01:00
renovate[bot] d9f72e94fa
Update dependency sentry-sdk to v2.23.0 2025-03-17 11:43:58 +00:00
Tobias Genannt 1c8cdfa6dd Update Nginx Unit 2025-03-14 17:12:42 +01:00
Tobias Genannt b6a30bf989
Merge pull request #1413 from netbox-community/renovate/dulwich-0.x
Update dependency dulwich to v0.22.8
2025-03-07 19:33:22 +01:00
Tobias Genannt 4eb0d6a368 Update test configuration 2025-03-06 21:29:33 +01:00
Tobias Genannt 849f8bef07 Make superliner happy 2025-03-06 20:56:29 +01:00
renovate[bot] 9eee74ba61
Update dependency dulwich to v0.22.8 2025-03-03 03:04:24 +00:00
renovate[bot] 34c26bbd30
Update docker.io/valkey/valkey Docker tag to v8.1 2025-02-17 22:53:25 +00:00
Tobias Genannt caa3d3324f
Merge pull request #1405 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.22.0
2025-02-17 18:26:38 +01:00
renovate[bot] 25b022203a
Update dependency sentry-sdk to v2.22.0 2025-02-17 15:35:24 +00:00
Tobias Genannt e61496688d
Merge pull request #1400 from netbox-community/renovate/django-storages-1.x
Update dependency django-storages to v1.14.5
2025-02-15 20:13:33 +01:00
renovate[bot] 29bef7450a
Update dependency django-storages to v1.14.5 2025-02-15 18:46:36 +00:00
Tobias Genannt 6edc921a79
Merge pull request #1399 from netbox-community/renovate/ghcr.io-astral-sh-uv-0.x
Update ghcr.io/astral-sh/uv Docker tag to v0.6
2025-02-14 20:17:22 +01:00
renovate[bot] 0f0ce521d6
Update ghcr.io/astral-sh/uv Docker tag to v0.6 2025-02-14 18:56:50 +00:00
Tobias Genannt c3f119bedc
Merge pull request #1396 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.21.0
2025-02-12 12:54:22 +01:00
renovate[bot] 1701399b82
Update dependency sentry-sdk to v2.21.0 2025-02-12 11:35:22 +00:00
Tobias Genannt 0b70f722f9
Merge pull request #1387 from netbox-community/develop
Release 3.2.0
2025-02-06 07:17:56 +01:00
Tobias Genannt cecfd627e4 Preparation for 3.2.0 2025-02-05 20:27:26 +00:00
Tobias Genannt fb7213a1d2
Merge pull request #1384 from MikuuW/only-ipv6-support
Add: IPv6-only support => Update docker/nginx-unit.json
2025-02-05 07:40:33 +01:00
Tobias Genannt 1aa742342c Make superlinter happy 2025-02-05 07:20:46 +01:00
Mikulas Willaschek 230cd09cb5 Update nginx-unit.json with new listeners and forwarded sources 2025-02-05 07:19:44 +01:00
Tobias Genannt d67ed0c2df
Merge pull request #1386 from tobiasge/uv-build
Improved image build
2025-02-05 06:51:21 +01:00
Paul Donald b1d6e3caaa
udpate issue reporting (#1329)
* Update issue report string
* Remove docker version string from placeholder (now obsolete)
2025-02-04 21:47:24 +01:00
Tobias Genannt 542538bf5c Improved image build
- Fix #1383: Setting DEBUG = true when collection the static files
  enables the use of the Django debug toolbar.
- Fix #1385: Use uv as package manager instead of pip speeds up the build.
- Nice display of Docker image version
2025-02-04 21:01:29 +01:00
Tobias Genannt 76404d01bf
Merge pull request #1376 from tobiasge/runners-update
Use hosted Ubuntu 24.04 runners
2025-02-04 20:59:56 +01:00
Tobias Genannt ab948e467c Ignore actionlint error for now 2025-02-04 20:10:31 +01:00
Christian Mäder 0d221e684d
Merge pull request #1252 from cimnine/principals
PRINCIPALS.md and MAINTAINERS.md
2025-02-03 09:35:12 +01:00
Christian Mäder 5332504c5a
Implement linter feedback 2025-02-03 08:54:56 +01:00
Christian Mäder 0082261007 Fix typos 2025-02-01 16:26:14 +01:00
Christian Mäder 052b17d5c1 Slight improvements 2025-02-01 16:26:14 +01:00
Christian Mäder 7516e5d00d Remove having to provide a reason for turning down applications 2025-02-01 16:26:14 +01:00
Christian Mäder 1bd16cec68 First draft for PRINCIPALS.md, MAINTAINERS.md 2025-02-01 16:26:11 +01:00
Tobias Genannt 0d1637bd71
Merge pull request #1382 from tobiasge/update-readme
Updates for new branch names
2025-01-24 16:01:34 +01:00
Tobias Genannt 60db7e6c90 Make Superlinter happy 2025-01-24 14:45:00 +01:00
Tobias Genannt 607ae32450 Updates for new branch names 2025-01-24 14:31:41 +01:00
Tobias Genannt 64bf745dce
Merge pull request #1380 from tobiasge/edition-marker
Display Docker image version
2025-01-20 11:21:43 +01:00
Tobias Genannt 0ec4c5d795 Display Docker image version 2025-01-20 10:38:42 +01:00
Tobias Genannt afc10aaf26
Merge pull request #1379 from netbox-community/develop
Version 3.1.1
2025-01-20 09:42:30 +01:00
Tobias Genannt e48a1b685b Preparation for 3.1.1 2025-01-20 08:53:40 +01:00
Tobias Genannt d129ade861
Merge pull request #1377 from ProfessorLogout/develop
Feature: Support ISOLATED_DEPLOYMENT setting
2025-01-17 19:36:25 +01:00
Marco Kamner f394400b2b
Feature: Support ISOLATED_DEPLOYMENT setting 2025-01-17 15:33:01 +01:00
Tobias Genannt b56c45b4ee Use hosted Ubuntu 24.04 runners 2025-01-16 18:26:35 +01:00
Tobias Genannt a48b86b5d4
Merge pull request #1372 from mvanwilligen-prox/update_nginx_unit
Update Nginx unit to 1.34.1
2025-01-16 12:08:51 +01:00
Tobias Genannt 6e74993d99
Merge pull request #1375 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.20.0
2025-01-14 18:51:36 +01:00
renovate[bot] 6fd2681449
Update dependency sentry-sdk to v2.20.0 2025-01-14 17:12:54 +00:00
Mathijs van Willigen a194302a41 Update Nginx unit to 1.34.1
This fixes the OTel bug in nginx unit 1.34.0.

Signed-off-by: Mathijs van Willigen <mavanwilligen@proxsys.nl>
2025-01-13 10:34:37 +01:00
Tobias Genannt bd9bdd0635
Merge pull request #1369 from netbox-community/develop
Version 3.1.0
2025-01-07 08:52:28 +01:00
Tobias Genannt 11615dfd7b
Merge pull request #1368 from tobiasge/prepare-netbox-4.2
Prepare for Netbox 4.2
2025-01-07 08:15:00 +01:00
Tobias Genannt 1a70f971c0 Prepare for Netbox 4.2 2025-01-07 07:35:16 +01:00
Tobias Genannt 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
renovate[bot] 878b3b6abb
Update dependency dulwich to v0.22.7 2024-12-19 18:26:11 +00:00
Tobias Genannt 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
Tobias Genannt 49d80c9109 Make superlinter happy 2024-12-18 12:41:10 +01:00
Tobias Genannt 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
renovate[bot] 0c0c468386
Update dependency sentry-sdk to v2.19.2 2024-12-06 09:44:23 +00:00
Tobias Genannt 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
renovate[bot] c416a054ae
Update dependency sentry-sdk to v2.19.1 2024-12-05 17:56:35 +00:00
Tobias Genannt 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
renovate[bot] 404b4bcffe
Update dependency sentry-sdk to v2.19.0 2024-11-21 17:26:58 +00:00
Tobias Genannt 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
Tobias Genannt d8ac6f828c Removed LOGIN_REQUIRED 2024-11-19 15:58:22 +01:00
renovate[bot] bf0cecc7fd
Update dependency dulwich to v0.22.6 2024-11-18 01:40:01 +00:00
Tobias Genannt 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
renovate[bot] dcc8a624ba
Update dependency dulwich to v0.22.5 2024-11-07 16:51:46 +00:00
Tobias Genannt 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
Tobias Genannt 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
Tobias Genannt 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
renovate[bot] 50721989bf
Update dependency sentry-sdk to v2.18.0 2024-11-04 17:39:16 +00:00
Tobias Genannt 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
renovate[bot] 8fcbc5c294
Update dependency dulwich to v0.22.4 2024-11-01 13:38:59 +00:00
Tobias Genannt 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
Tobias Genannt 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
renovate[bot] 8453eab8dd
Update dependency sentry-sdk to v2.17.0 2024-10-17 13:18:41 +00:00
renovate[bot] cc6a35b636
Update dependency django-auth-ldap to v5.1.0 2024-10-17 13:18:36 +00:00
Tobias Genannt 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
renovate[bot] bffdc6d822
Update dependency dulwich to v0.22.3 2024-10-16 14:38:27 +00:00
Tobias Genannt 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
Tobias Genannt 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
renovate[bot] 5354b142cb
Update dependency django-auth-ldap to v5 2024-10-08 16:41:06 +00:00
renovate[bot] d3ce916073
Update dependency sentry-sdk to v2.16.0 2024-10-08 12:47:04 +00:00
renovate[bot] db34a0ae2b
Update docker.io/postgres Docker tag to v17 2024-09-27 03:23:22 +00:00
Tobias Genannt 27bf52cf3e
Merge pull request #1322 from netbox-community/develop
Version 3.0.2
2024-09-19 14:21:53 +02:00
Tobias Genannt 5dea11c4d4 Preparation for 3.0.2 2024-09-19 13:43:31 +02:00
Tobias Genannt 35c19d0fc8 Upgrade Nginx Unit to version 1.33 2024-09-18 17:56:55 +02:00
Tobias Genannt 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
renovate[bot] 09c897aa22
Update dependency sentry-sdk to v2.14.0 2024-09-09 14:16:13 +00:00
Tobias Genannt 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
Tobias Genannt f134a44bc7 When no build is needed don't create the buildx config 2024-09-06 09:50:12 +02:00
Tobias Genannt 5add31ee7a
Merge pull request #1301 from netbox-community/develop
Version 3.0.1
2024-09-06 09:41:54 +02:00
Tobias Genannt 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
Tobias Genannt 942f978ed2
Revert "Feature: Support for multiple AUTH_LDAP_REQUIRE_GROUP from environment variables" 2024-09-04 17:53:24 +02:00
Tobias Genannt 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
Tobias Genannt 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
Tobias Genannt f13a6bf5e4 Preparation for 3.0.1 2024-09-04 07:25:44 +02:00
Tobias Genannt 52f80cc7ca Fix #1300: Disable ARM64 release 2024-09-04 07:25:04 +02:00
Tobias Genannt 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
Tobias Genannt 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
renovate[bot] 6e735fd431
Update dependency sentry-sdk to v2.13.0 2024-09-03 20:03:58 +00:00
Tobias Genannt ab2a7bc8e5
Merge pull request #1298 from netbox-community/develop
Version 3.0.0
2024-09-03 22:03:12 +02:00
Tobias Genannt 09ba1d3f4e More linter fixes 2024-09-03 20:31:00 +02:00
Tobias Genannt f3a78bfd10 More linter fixes 2024-09-03 20:26:16 +02:00
Tobias Genannt b81d4fba64 Updated YAML formatting to fix linter 2024-09-03 20:22:55 +02:00
Tobias Genannt 2c26000304 Preparation for 3.0.0 2024-09-03 20:08:36 +02:00
NeodymiumFerBore 671f5e9411 Adapt ldap/extra: LDAPGroupQuery is now imported in ldap_config 2024-09-02 17:29:17 +00:00
NeodymiumFerBore d9ff19fd30 Support for multiple AUTH_LDAP_REQUIRE_GROUP from environment variable 2024-09-02 17:27:37 +00:00
Tobias Genannt cb1bc4bde6
Merge pull request #1292 from netbox-community/renovate/github-super-linter-7.x
Update github/super-linter action to v7
2024-09-01 13:59:20 +02:00
Tobias Genannt a75db6add9 Fix linter error 2024-09-01 13:23:58 +02:00
renovate[bot] 279a54bef0
Update github/super-linter action to v7 2024-08-29 19:48:38 +00:00
Tobias Genannt 3f5f4ff8bb
Merge pull request #1287 from tobiasge/prepare-ubuntu-24.04
Prepare for Ubuntu 24.04
2024-08-21 12:53:37 +02:00
Tobias Genannt 59922f3423 Prepare for Ubuntu 24.04 2024-08-21 10:38:20 +02:00
Tobias Genannt d0f72b5fd3
Merge pull request #1281 from netbox-community/renovate/docker.io-valkey-valkey-8.x
Update docker.io/valkey/valkey Docker tag to v8
2024-08-13 16:12:33 +02:00
renovate[bot] 838a56c96f
Update docker.io/valkey/valkey Docker tag to v8 2024-08-02 02:08:50 +00:00
Tobias Genannt 6ee26d62e8
Merge pull request #1280 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.12.0
2024-07-31 13:05:04 +02:00
renovate[bot] 542300056c
Update dependency sentry-sdk to v2.12.0 2024-07-31 10:32:58 +00:00
Tobias Genannt 3c7f90cab8
Merge pull request #1279 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.11.0
2024-07-24 13:10:41 +02:00
renovate[bot] 2a15689e5f
Update dependency sentry-sdk to v2.11.0 2024-07-24 10:38:05 +00:00
Tobias Genannt 9c6b063408
Merge pull request #1277 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.10.0
2024-07-15 13:38:01 +02:00
renovate[bot] 3134057f87
Update dependency sentry-sdk to v2.10.0 2024-07-15 11:07:41 +00:00
Tobias Genannt 56bda20a67
Merge pull request #1276 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.9.0
2024-07-10 12:13:00 +02:00
renovate[bot] 51372eed32
Update dependency sentry-sdk to v2.9.0 2024-07-10 09:41:27 +00:00
Tobias Genannt e33ff85b08
Merge pull request #1275 from netbox-community/renovate/django-storages-1.x
Update dependency django-storages to v1.14.4
2024-07-09 07:00:43 +02:00
renovate[bot] 279873d20e
Update dependency django-storages to v1.14.4 2024-07-09 04:30:55 +00:00
Tobias Genannt 681876681d
Merge pull request #1274 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.8.0
2024-07-08 12:27:57 +02:00
renovate[bot] 29e66a0a01
Update dependency sentry-sdk to v2.8.0 2024-07-08 09:58:02 +00:00
Christian Mäder 5d9aa096fd
Merge pull request #1271 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.7.1
2024-06-28 20:45:17 +02:00
renovate[bot] 84132e4b59
Update dependency sentry-sdk to v2.7.1 2024-06-27 17:02:32 +00:00
Tobias Genannt da4c1a54a9
Merge pull request #1270 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.7.0
2024-06-26 16:50:22 +02:00
renovate[bot] 53418e7d19
Update dependency sentry-sdk to v2.7.0 2024-06-26 14:19:54 +00:00
Tobias Genannt 368d1bca75
Merge pull request #1267 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.6.0
2024-06-19 17:36:15 +02:00
renovate[bot] bb9a7fe542
Update dependency sentry-sdk to v2.6.0 2024-06-19 15:05:23 +00:00
Tobias Genannt 15da2f0642
Merge pull request #1260 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.5.1
2024-06-10 08:04:15 +02:00
renovate[bot] ee2d1dea17
Update dependency sentry-sdk to v2.5.1 2024-06-07 21:53:49 +00:00
Tobias Genannt 402ea6e8d4
Merge pull request #1259 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.5.0
2024-06-06 21:03:39 +02:00
Christian Mäder 8017bb72b9
Merge pull request #1255 from threes33/HTTP_PROXIES
Add HTTP_PROXIES related parameters
2024-06-06 18:14:51 +02:00
renovate[bot] 33d5230859
Update dependency sentry-sdk to v2.5.0 2024-06-06 14:13:00 +00:00
threes33 f0b3a0701c Adds HTTP_PROXIES related parameters 2024-06-04 12:29:35 -07:00
Tobias Genannt 1a2957238c
Merge pull request #1254 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.4.0
2024-06-04 14:24:57 +02:00
renovate[bot] ac496a16ee
Update dependency sentry-sdk to v2.4.0 2024-06-04 11:52:02 +00:00
Christian Mäder e4315245b0
Merge pull request #1203 from cimnine/valkey
Switch from Redis to Valkey and add Healthchecks
2024-05-25 16:20:07 +02:00
Tobias Genannt d4e94017b4
Merge pull request #1230 from lchastel/saml
Add xmlsec with no-binary option
2024-05-25 15:54:46 +02:00
Christian Mäder 21cf7b498d Fix port 2024-05-25 15:45:25 +02:00
Christian Mäder 2bbb2d16e1
Merge pull request #1144 from hendrikbl/remote-auth-env
add missing REMOTE_AUTH config options
2024-05-25 15:43:23 +02:00
Christian Mäder 9d04f2a7a5 Fix endpoint 2024-05-25 15:26:07 +02:00
Christian Mäder b29f7fd446 Disable valkey persistence in tests 2024-05-25 15:24:15 +02:00
Christian Mäder 6a3ba4409e Update test to valkey as well 2024-05-25 15:24:12 +02:00
Tobias Genannt 570bb311e2
Merge branch 'develop' into saml 2024-05-25 15:21:57 +02:00
Christian Mäder 5e492c63c6 Suggestion from Tobias 2024-05-25 15:17:22 +02:00
Christian Mäder 26b15f9ff1 Add healthcheck to postgres too 2024-05-25 15:17:22 +02:00
Christian Mäder 3c8449fbec Switch to valkey and add healthcheck 2024-05-25 15:17:22 +02:00
Christian Mäder c51747a163
Merge pull request #1245 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.3.1
2024-05-25 15:00:46 +02:00
renovate[bot] 75fa7e7e99
Update dependency sentry-sdk to v2.3.1 2024-05-23 14:08:00 +00:00
Tobias Genannt 9de583553d
Merge pull request #1243 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.3.0
2024-05-23 13:48:50 +02:00
renovate[bot] daa8b40c34
Update dependency sentry-sdk to v2.3.0 2024-05-23 11:23:15 +00:00
Tobias Genannt af6306db25
Merge pull request #1242 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.2.1
2024-05-21 16:20:11 +02:00
renovate[bot] 730743139e
Update dependency sentry-sdk to v2.2.1 2024-05-21 12:56:09 +00:00
Tobias Genannt 94e242179a
Merge pull request #1240 from tobiasge/login-required-default
Change LOGIN_REQUIRED default to 'True'
2024-05-21 14:55:43 +02:00
Tobias Genannt 8c691f1308 Change LOGIN_REQUIRED default to 'True' 2024-05-21 13:42:13 +02:00
Tobias Genannt b74688309a
Merge pull request #1239 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.2.0
2024-05-17 07:28:00 +02:00
renovate[bot] 60e9cfd458
Update dependency sentry-sdk to v2.2.0 2024-05-16 19:29:50 +00:00
Benjamin Reed 1d69e6f233
Merge pull request #1233 from Creepios/patch-1
Increase start period of netbox container healthcheck (fixes #1231)
2024-05-15 10:22:45 -04:00
Niklas 918952a2a5
Update docker-compose.yml 2024-05-10 10:19:55 +02:00
Laurent c22996d7d7
Add xmlsec with no-binary option
SAML backend is still not working.
I have the issue  "lxml & xmlsec libxml2 library version mismatch".
2024-05-09 19:38:49 +02:00
Tobias Genannt 0c99ff8b56
Merge pull request #1225 from netbox-community/develop
Version 2.9.1
2024-05-07 18:29:09 +02:00
Tobias Genannt 1265d2277a Preparation for 2.9.1 2024-05-07 13:45:53 +02:00
Tobias Genannt 620ca96d64
Merge pull request #1224 from tobiasge/fix-sentry-sdk
Install Sentry Django integration correctly
2024-05-07 12:34:09 +02:00
Tobias Genannt 2561055265 Install Sentry Django integration correctly 2024-05-07 09:57:59 +02:00
Tobias Genannt 53ac2ff81b
Merge pull request #1223 from tobiasge/1222-fix-health-check
Fix #1222: Use /login/ as health check URL
2024-05-07 08:37:20 +02:00
Tobias Genannt b6492b2e6b Fix #1222: Use /login/ as health check URL 2024-05-07 07:15:37 +02:00
Tobias Genannt 6d25a54d49
Merge pull request #1219 from netbox-community/develop
Version 2.9.0
2024-05-06 21:26:10 +02:00
Tobias Genannt 36f409a16b Preparation for 2.9.0 2024-05-06 19:04:09 +02:00
Tobias Genannt 9d247f5530
Merge pull request #1216 from netbox-community/renovate/django-storages-1.x
Update dependency django-storages to v1.14.3
2024-05-06 18:58:40 +02:00
Tobias Genannt 7a42faaabc
Merge pull request #1218 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.1.1
2024-05-06 18:58:19 +02:00
Tobias Genannt f5a3e3f955
Merge pull request #1215 from tobiasge/prepare-nb40
Prepare for NetBox 4.0
2024-05-06 18:57:57 +02:00
renovate[bot] 6307a58c4a
Update dependency sentry-sdk to v2.1.1 2024-05-06 12:35:54 +00:00
Tobias Genannt 1e78c386a5 Fixed regex for social-auth-core replacement 2024-05-06 09:56:49 +02:00
renovate[bot] 40f24105e6
Update dependency django-storages to v1.14.3 2024-05-04 23:02:30 +00:00
Tobias Genannt 1a4ef09a16
Merge branch 'develop' into prepare-nb40 2024-05-04 10:02:19 +02:00
Tobias Genannt 3d6b6c2a67
Merge pull request #1210 from netbox-community/renovate/github-super-linter-6.x
Update github/super-linter action to v6
2024-04-28 10:36:19 +02:00
Tobias Genannt f1787b4775 Disabled new tests 2024-04-28 09:29:43 +02:00
Tobias Genannt a7cb1a4651
Merge pull request #1211 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2
2024-04-28 09:24:15 +02:00
renovate[bot] 8fb42b3213
Update dependency sentry-sdk to v2 2024-04-26 10:16:25 +00:00
renovate[bot] b7d99c9c69
Update github/super-linter action to v6 2024-04-23 19:44:05 +00:00
Christian Mäder d52ef4445e
Merge pull request #1209 from cimnine/HSTS
Adds HSTS related parameters
2024-04-23 21:43:40 +02:00
Christian Mäder e1335a1194 Adds SECURE_* parameters introduced in 3.7.6
See https://github.com/netbox-community/netbox/issues/15644
2024-04-23 16:40:40 +02:00
Tobias Genannt c9d8f55ea1
Merge pull request #1208 from netbox-community/renovate/dulwich-0.x
Update dependency dulwich to v0.22.1
2024-04-23 16:22:10 +02:00
renovate[bot] 347b943b75
Update dependency dulwich to v0.22.1 2024-04-23 13:58:41 +00:00
Tobias Genannt f15dec52ae
Merge pull request #1207 from netbox-community/renovate/dulwich-0.x
Update dependency dulwich to v0.22.0
2024-04-23 06:59:08 +02:00
renovate[bot] e024427428
Update dependency dulwich to v0.22.0 2024-04-22 19:13:28 +00:00
Tobias Genannt 5f57cb2774
Merge pull request #1206 from tobiasge/cancel-old-runs
Cancel workflow runs for in progress PRs
2024-04-20 21:07:34 +02:00
Tobias Genannt 5873885edc Cancel workflow runs for in progress PRs 2024-04-19 21:53:06 +02:00
Tobias Genannt e141d9f16d Prepare for Netbox 4.0 2024-04-17 14:09:24 +02:00
Tobias Genannt eb59ace74c
Merge pull request #1199 from netbox-community/renovate/sentry-sdk-1.x
Update dependency sentry-sdk to v1.45.0
2024-04-10 23:53:57 +02:00
renovate[bot] 2ee4acba21
Update dependency sentry-sdk to v1.45.0 2024-04-10 14:59:14 +00:00
Tobias Genannt 2a582304b3
Merge pull request #1196 from netbox-community/renovate/django-auth-ldap-4.x
Update dependency django-auth-ldap to v4.8.0
2024-04-04 19:56:41 +02:00
Tobias Genannt 5309673f95
Merge pull request #1193 from kchandan/docker-version
Docker compose file version line obsolete issue fix
2024-04-04 19:02:29 +02:00
Tobias Genannt 3c07538719
Merge pull request #1195 from netbox-community/renovate/sentry-sdk-1.x
Update dependency sentry-sdk to v1.44.1
2024-04-04 15:40:34 +02:00
renovate[bot] 3df807faa0
Update dependency django-auth-ldap to v4.8.0 2024-04-04 13:21:43 +00:00
renovate[bot] 4c0ee77bd0
Update dependency sentry-sdk to v1.44.1 2024-04-03 10:47:45 +00:00
Chandan Kumar 6c01ada882 Removed version line from the yaml file as it is obsolete 2024-04-01 16:57:53 -04:00
Tobias Genannt b6e5486b48
Merge pull request #1189 from netbox-community/renovate/sentry-sdk-1.x
Update dependency sentry-sdk to v1.44.0
2024-03-28 19:30:14 +01:00
renovate[bot] 46f628e91b
Update dependency sentry-sdk to v1.44.0 2024-03-28 17:06:50 +00:00
Tobias Genannt 9f009c5907
Merge pull request #1166 from tobiasge/sentry-sdk
Fix #1127: Added sentry-sdk to requirements
2024-03-27 14:44:32 +01:00
Tobias Genannt 73ce1f9b7a Fix #1127: Added sentry-sdk to requirements 2024-03-27 07:30:21 +01:00
Tobias Genannt f443d4ac53
Merge pull request #1183 from tobiasge/avoid-duplicate-checks
Avoid duplicate checks for Renovate PRs
2024-03-27 06:52:23 +01:00
Tobias Genannt 1b9bb2a25e
Merge pull request #1181 from netbox-community/renovate/django-auth-ldap-4.x
Update dependency django-auth-ldap to v4.7.0
2024-03-27 06:50:43 +01:00
Tobias Genannt d2d7948021 Avoid duplicate checks for Renovate PRs 2024-03-26 17:32:05 +01:00
renovate[bot] 31a4da297a
Update dependency django-auth-ldap to v4.7.0 2024-03-26 16:12:04 +00:00
Tobias Genannt 8e278c3c8e
Merge pull request #1167 from tobiasge/unit-ubuntu-update
Unit and Ubuntu update
2024-03-26 17:09:04 +01:00
Tobias Genannt 24eaba7f9b Use ARM64 self-hosted runner 2024-03-02 13:25:38 +01:00
Tobias Genannt 99b906c4f1 Update Ubuntu and Nginx Unit 2024-02-28 08:07:43 +01:00
Tobias Genannt 37733049da
Merge pull request #1135 from tbotnz/release
fix segfault
2024-02-22 09:26:49 +01:00
Tobias Genannt 4da3f75c14
Merge pull request #1138 from adlerweb/patch-1
docker-entrypoint.sh: clarify default token message
2024-02-22 08:18:27 +01:00
Florian Knodt 607ccd10bf docker-entrypoint.sh: clarify default token message
When a default admin API token is found, a warning is displayed. As it is only called "token", some users might not know what token is referred to. Also the message should give a hint or link to a documentation on how to remove it.
2024-02-22 07:10:06 +01:00
tbotnz f27148634a fix segfault 2024-02-22 07:07:53 +01:00
Tobias Genannt 46edaa1d22
Merge pull request #1151 from netbox-community/renovate/psycopg-3.x
Update dependency psycopg to v3.1.18
2024-02-05 08:00:18 +01:00
renovate[bot] 064b713489
Update dependency psycopg to v3.1.18 2024-02-04 21:43:13 +00:00
Hendrik Blöß 9169fc7684 added missing REMOTE_AUTH config options 2024-01-30 12:14:16 +01:00
Tobias Genannt b8a7ffdb7b
Merge pull request #1134 from NeodymiumFerBore/feat/redis-sentinel-config
Add Redis Sentinel config as environment vars
2024-01-20 10:46:06 +01:00
Tobias Genannt 8450ba2f74
Merge pull request #1133 from kindlich/patch-1
Add env var for CENSUS_REPORTING_ENABLED
2024-01-20 10:38:04 +01:00
NdFeB 291ba760f1 Add Redis Sentinel config as environment vars 2024-01-16 14:28:59 +01:00
kindlich 2fbb5dd0b0
Add env var for CENSUS_REPORTING_ENABLED
See #999
2024-01-16 10:20:03 +01:00
Tobias Genannt ea81db4789
Merge pull request #1129 from netbox-community/renovate/psycopg-3.x
Update dependency psycopg to v3.1.17
2024-01-08 08:15:13 +01:00
renovate[bot] 249e589096
Update dependency psycopg to v3.1.17 2024-01-07 16:16:19 +00:00
Tobias Genannt f1ca9ab7eb
Merge pull request #1125 from netbox-community/develop
Release 2.8.0
2024-01-02 08:57:00 +01:00
Tobias Genannt dfa1904a82 Preparation for 2.8.0 2024-01-01 10:33:59 +01:00
Tobias Genannt b5c12a82d2
Merge pull request #1120 from netbox-community/renovate/dulwich-0.x
Update dependency dulwich to v0.21.7
2023-12-19 15:09:48 +01:00
renovate[bot] 7e1750d3a3
Update dependency dulwich to v0.21.7 2023-12-19 12:50:54 +00:00
Tobias Genannt 651bbc49ba
Merge pull request #1115 from netbox-community/renovate/psycopg-3.x
Update dependency psycopg to v3.1.16
2023-12-19 13:50:33 +01:00
Tobias Genannt d72facf182
Merge pull request #1122 from netbox-community/renovate/actions-setup-python-5.x
Update actions/setup-python action to v5
2023-12-19 13:50:14 +01:00
renovate[bot] d7866d5f6e
Update dependency psycopg to v3.1.16 2023-12-19 11:24:47 +00:00
renovate[bot] 33430fda08
Update actions/setup-python action to v5 2023-12-06 12:35:21 +00:00
Tobias Genannt e020b46f6a
Merge pull request #1101 from netbox-community/renovate/python3-saml-1.x
Update dependency python3-saml to v1.16.0
2023-10-09 15:22:17 +02:00
renovate[bot] 51049781b4
Update dependency python3-saml to v1.16.0 2023-10-09 11:06:17 +00:00
Tobias Genannt 1e681f30b3
Merge pull request #1097 from netbox-community/renovate/django-auth-ldap-4.x
Update dependency django-auth-ldap to v4.6.0
2023-10-09 10:17:32 +02:00
renovate[bot] 4680e59a07
Update dependency django-auth-ldap to v4.6.0 2023-10-09 06:13:57 +00:00
Tobias Genannt aaaa628585
Merge pull request #1100 from netbox-community/renovate/django-storages-1.x
Update dependency django-storages to v1.14.2
2023-10-09 08:13:44 +02:00
renovate[bot] e8fa63d18b
Update dependency django-storages to v1.14.2 2023-10-09 03:36:20 +00:00
Tobias Genannt 17b9569094
Merge pull request #1095 from netbox-community/renovate/django-storages-1.x
Update dependency django-storages to v1.14.1
2023-09-30 09:22:57 +02:00
renovate[bot] 1a3ace957a
Update dependency django-storages to v1.14.1 2023-09-29 15:58:04 +00:00
Tobias Genannt 96799369fe
Merge pull request #1091 from netbox-community/renovate/psycopg-3.x
Update dependency psycopg to v3.1.12
2023-09-27 06:57:48 +02:00
renovate[bot] f1de85d975
Update dependency psycopg to v3.1.12 2023-09-27 00:39:53 +00:00
Tobias Genannt 830d498094
Merge pull request #1083 from netbox-community/renovate/postgres-16.x
Update postgres Docker tag to v16
2023-09-23 18:58:51 +02:00
renovate[bot] 714a132566
Update postgres Docker tag to v16 2023-09-23 14:42:28 +00:00
Tobias Genannt d0fbb37d66
Merge pull request #1090 from netbox-community/renovate/psycopg-3.x
Update dependency psycopg to v3.1.11
2023-09-23 16:42:15 +02:00
renovate[bot] 87159b56be
Update dependency psycopg to v3.1.11 2023-09-23 12:57:54 +00:00
Tobias Genannt 252ab33560
Merge pull request #1082 from netbox-community/renovate/docker.io-postgres-16.x
Update docker.io/postgres Docker tag to v16
2023-09-23 14:57:42 +02:00
renovate[bot] 0603f1ebe9
Update docker.io/postgres Docker tag to v16 2023-09-15 23:13:09 +00:00
Christian Mäder 164b01319c
Merge pull request #1074 from netbox-community/renovate/docker-login-action-3.x
Update docker/login-action action to v3
2023-09-12 21:30:03 +02:00
renovate[bot] e6fedf16fe
Update docker/login-action action to v3 2023-09-12 18:03:05 +00:00
Christian Mäder 0594d2c3ae
Merge pull request #1076 from netbox-community/renovate/docker-setup-qemu-action-3.x
Update docker/setup-qemu-action action to v3
2023-09-12 20:02:51 +02:00
renovate[bot] 8b8447f5c6
Update docker/setup-qemu-action action to v3 2023-09-12 15:12:56 +00:00
Christian Mäder f42e78ece2
Merge pull request #1075 from netbox-community/renovate/docker-setup-buildx-action-3.x
Update docker/setup-buildx-action action to v3
2023-09-12 16:20:00 +02:00
renovate[bot] c473fcc44a
Update docker/setup-buildx-action action to v3 2023-09-12 09:21:44 +00:00
Tobias Genannt bcafc4328c
Merge pull request #1067 from tobiasge/unit-update
Update Nginx unit to 1.31
2023-09-05 10:01:19 +02:00
Tobias Genannt fe27ebc907
Merge pull request #1069 from netbox-community/renovate/actions-checkout-4.x
Update actions/checkout action to v4
2023-09-05 09:48:27 +02:00
renovate[bot] 364555eef6
Update actions/checkout action to v4 2023-09-05 05:38:37 +00:00
Tobias Genannt 451337750a
Merge pull request #1070 from netbox-community/renovate/django-storages-1.x
Update dependency django-storages to v1.14
2023-09-05 07:38:24 +02:00
renovate[bot] bc6e4f81b0
Update dependency django-storages to v1.14 2023-09-05 01:09:06 +00:00
Tobias Genannt e452004526 Update Nginx unit to 1.31 2023-09-03 09:07:26 +02:00
Tobias Genannt caba1b335d
Merge pull request #1066 from netbox-community/renovate/dulwich-0.x
Update dependency dulwich to v0.21.6
2023-09-02 21:00:17 +02:00
renovate[bot] c798e881b0
Update dependency dulwich to v0.21.6 2023-09-02 13:43:45 +00:00
Tobias Genannt b47e85ab3f
Merge pull request #1062 from netbox-community/develop
Release 2.7.0
2023-08-30 23:22:57 +02:00
Tobias Genannt 28553202a4
Merge pull request #1039 from tobiasge/netbox-3.6
Prepare for Netbox 3.6
2023-08-30 21:34:45 +02:00
Tobias Genannt 69c5580a3e Fix #1061: Install openssh-client 2023-08-29 13:13:57 +02:00
Tobias Genannt 4d54bb172b
Merge pull request #1059 from NeodymiumFerBore/feat/remote-auth-backend-as-list
Map REMOTE_AUTH_BACKEND env var to list
2023-08-28 14:41:51 +02:00
Tobias Genannt 44d0f47fb5 Prepare for Netbox 3.6 2023-08-28 09:41:55 +02:00
NeodymiumFerBore 12af4233bd
Map REMOTE_AUTH_BACKEND env var to list 2023-08-25 11:26:36 +02:00
Tobias Genannt f703bba5e1
Merge pull request #1043 from NeodymiumFerBore/fix/honor-default-config-value
Set REMOTE_AUTH_AUTO_CREATE_USER default to False
2023-08-16 08:49:48 +02:00
Tobias Genannt dd0c0b795d
Merge pull request #1042 from toriningen/fix/1041-invalid-template
netbox.env: fixed unwanted string interpolation
2023-08-16 08:49:31 +02:00
Tobias Genannt be7af2ea4c
Merge pull request #1045 from netbox-community/renovate/django-auth-ldap-4.x
Update dependency django-auth-ldap to v4.5.0
2023-08-09 08:19:05 +02:00
renovate[bot] 75690ac7dd
Update dependency django-auth-ldap to v4.5.0 2023-08-08 18:58:31 +00:00
NeodymiumFerBore ec603633ea
Set REMOTE_AUTH_AUTO_CREATE_USER default to False 2023-08-04 23:49:44 +02:00
toriningen c99172661c netbox.env: fixed unwanted string interpolation 2023-08-03 05:19:59 +00:00
Tobias Genannt 9bdd074ad7
Merge pull request #1034 from netbox-community/renovate/django-auth-ldap-4.x
Update dependency django-auth-ldap to v4.4.0
2023-07-23 11:52:19 +02:00
renovate[bot] d69dacef09
Update dependency django-auth-ldap to v4.4.0 2023-07-22 19:52:18 +00:00
Tobias Genannt ebc5900206
Merge pull request #1024 from florianschroen/2023-06-15_fix_volume_options
docker-compose.yml: fix volume mount options
2023-06-15 15:38:12 +02:00
Florian Schroen 8208dedb19 docker-compose.yml: fix volume mount options
`z` is valid only for bindmounts

When using with volumes a warning for each volume appears:

netbox$ docker compose up
[+] Building 0.0s (0/0)
WARN[0000] mount of type `volume` should not define `bind` option
WARN[0000] mount of type `volume` should not define `bind` option
WARN[0000] mount of type `volume` should not define `bind` option

This may appear only when using a docker-compose.override.yml
2023-06-15 12:14:05 +02:00
Tobias Genannt 0d748ed392
Merge pull request #1010 from tobiasge/image-update
Update Ubuntu und Nginx Unit
2023-05-11 13:01:21 +02:00
Tobias Genannt 23d5865e3d Update Ubuntu und Nginx Unit 2023-05-11 08:09:56 +02:00
Tobias Genannt 2037e42e45
Merge pull request #1009 from marcquark/job_retention2
rename JOBRESULT_RETENTION to JOB_RETENTION
2023-05-08 19:38:40 +02:00
Tobias Genannt 055538cc21 Fixed type in else 2023-05-08 17:44:09 +02:00
Marc Leuser 5408cf5af0 rename JOBRESULT_RETENTION to JOB_RETENTION 2023-05-07 21:23:10 +02:00
Tobias Genannt 22486fefb5
Merge pull request #1002 from netbox-community/develop
Prepare 2.6.1
2023-04-28 15:29:28 +02:00
Tobias Genannt 96bda7fa4f
Merge branch 'release' into develop 2023-04-28 13:15:19 +02:00
Tobias Genannt c085287e64
Prepare 2.6.1 2023-04-28 13:13:06 +02:00
Tobias Genannt b4a6be37ec
Merge pull request #1001 from netbox-community/develop
Version 2.6.0
2023-04-28 09:00:49 +02:00
Tobias Genannt 02a926431b
Merge pull request #990 from tobiasge/prepare-for-nb-35
Preparation for Netbox 3.5
2023-04-28 07:41:22 +02:00
Tobias Genannt 3978b14c7f
Preparation for 2.6.0 2023-04-27 23:45:39 +02:00
Tobias Genannt 7532508aab Ensure minimum length for the SECRET_KEY is met 2023-04-27 16:56:47 +02:00
Tobias Genannt 858611ad67 Check if the new image tag exists 2023-04-27 09:32:42 +02:00
Tobias Genannt 155e90c99f Removed BASE_PATH from configuration
Setting the BASE_PATH is a more involved process than just setting this variable.
To prevent surprises the option to set this via ENV variable was removed.
2023-04-27 09:32:42 +02:00
Tobias Genannt cb524c32ed Preparation for Netbox 3.5
- Reports and Scripts have changed in Netbox 3.5. They need to be uploaded now.
  The Docker compose now creates a volume as it does for the media files
- Napalm has been removed from Netbox 3.5
  All configuration entries for Napalm were removed and napalm itself is removed from the requirements file
- Removed Gunicorn from the image
  Nginx Unit has been used for a while now. No need to install Gunicorn
2023-04-27 09:32:42 +02:00
Tobias Genannt cb4dcc0488
Merge pull request #1000 from netbox-community/renovate/django-auth-ldap-4.x
Update dependency django-auth-ldap to v4.3.0
2023-04-27 09:09:13 +02:00
renovate[bot] ddcc8b5131
Update dependency django-auth-ldap to v4.3.0 2023-04-26 23:27:32 +00:00
Tobias Genannt 3286faa94c
Merge pull request #989 from netbox-community/develop
Version 2.5.3
2023-04-15 08:42:25 +02:00
Tobias Genannt 788cd03a35
Merge pull request #988 from netbox-community/renovate/github-super-linter-5.x
Update github/super-linter action to v5
2023-04-15 01:21:43 +02:00
Tobias Genannt 0911c2251d
Merge branch 'release' into develop 2023-04-15 01:20:55 +02:00
Tobias Genannt c698496e36 Preparation for 2.5.3 2023-04-15 01:16:40 +02:00
renovate[bot] 23a262d72f
Update github/super-linter action to v5 2023-04-14 19:16:09 +00:00
Tobias Genannt 5273e17d89
Merge pull request #983 from tobiasge/arm-test
Try to get test on ARM64 to pass
2023-04-06 19:01:12 +02:00
Tobias Genannt e44f0398fb Try to get test on ARM64 to pass 2023-04-06 17:44:10 +02:00
Tobias Genannt 7c2e012523
Merge pull request #982 from tobiasge/fix-social-auth-core
Fixed version conflicts for social-auth-core
2023-04-06 12:37:51 +02:00
Tobias Genannt 5a29364bca
Fixed wording
Co-authored-by: Christian Mäder <cimnine@users.noreply.github.com>
2023-04-06 11:08:34 +02:00
Tobias Genannt 5d5b01f6b5 Fixed version conflicts for social-auth-core 2023-04-06 09:52:28 +02:00
Tobias Genannt 5d6e733bce
Merge pull request #980 from netbox-community/renovate/psycopg2-2.x
Update dependency psycopg2 to v2.9.6
2023-04-05 20:22:27 +02:00
renovate[bot] 87a9808bc2
Update dependency psycopg2 to v2.9.6 2023-04-03 11:39:03 +00:00
Tobias Genannt 7bf9e1af5a
Merge pull request #978 from netbox-community/develop
Missing version tags for 2.5.2
2023-03-29 20:50:29 +02:00
Tobias Genannt 1e588431e2
Merge pull request #976 from tobiasge/better-tests
Further improved test configuration
2023-03-29 18:33:23 +02:00
Tobias Genannt 41fd4e5d67 Further improved test configuration 2023-03-29 17:08:21 +02:00
Tobias Genannt 17f1bb0af0 Preparation for 2.5.2 2023-03-29 12:41:34 +02:00
Tobias Genannt 9cc58918ab
Merge pull request #975 from netbox-community/develop
Version 2.5.2
2023-03-29 12:03:15 +02:00
Tobias Genannt 831867499b
Merge branch 'release' into develop 2023-03-29 10:36:28 +02:00
Tobias Genannt d5dde45bec
Merge pull request #973 from tobiasge/social-auth-update
Use same version as Netbox for social-auth-core
2023-03-29 10:25:58 +02:00
Tobias Genannt 6576c18a9c
Merge pull request #972 from netbox-community/renovate/django-auth-ldap-4.x
Update dependency django-auth-ldap to v4.2.0
2023-03-29 09:34:54 +02:00
Tobias Genannt efd6e6a3c2 Use same version as Netbox for social-auth-core 2023-03-29 08:58:49 +02:00
renovate[bot] 47a7eee16a
Update dependency django-auth-ldap to v4.2.0 2023-03-28 10:20:51 +00:00
Tobias Genannt 5eac65b8f6
Merge pull request #968 from ryanmerolle/patch-1
Update docker-compose.yml
2023-03-20 15:11:35 +01:00
Ryan Merolle 2ba441124e
Update docker-compose.yml 2023-03-20 08:21:17 -04:00
Tobias Genannt f2d070fc49
Added more tests (#965) 2023-03-16 21:44:08 +01:00
Tobias Genannt 97ee353b00
Merge pull request #963 from netbox-community/develop
Version 2.5.1
2023-03-16 11:13:13 +01:00
Tobias Genannt c001b88a81
Merge pull request #964 from tobiasge/better-base-image-check
Simplified base image check
2023-03-16 09:46:35 +01:00
Tobias Genannt b131b07af8 Simplified basse image check 2023-03-16 07:50:24 +01:00
Tobias Genannt 311629ade4 Preparation for 2.5.1 2023-03-16 07:39:38 +01:00
Tobias Genannt 256f23b4ad
Merge pull request #961 from MarcHagen/patch-1
Catch DoesNotExist preventing startup
2023-03-16 07:37:05 +01:00
Marc 29e37a31d7
Catch DoesNotExist preventing startup
Fixes failing startup because of python error:

```
Traceback (most recent call last):
  File "/opt/netbox/netbox/./manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/opt/netbox/venv/lib/python3.10/site-packages/django/core/management/__init__.py", line 446, in execute_from_command_line
    utility.execute()
  File "/opt/netbox/venv/lib/python3.10/site-packages/django/core/management/__init__.py", line 440, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/opt/netbox/venv/lib/python3.10/site-packages/django/core/management/base.py", line 402, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/opt/netbox/venv/lib/python3.10/site-packages/django/core/management/base.py", line 448, in execute
    output = self.handle(*args, **options)
  File "/opt/netbox/venv/lib/python3.10/site-packages/django/core/management/commands/shell.py", line 127, in handle
    exec(sys.stdin.read(), globals())
  File "<string>", line 2, in <module>
  File "/opt/netbox/venv/lib/python3.10/site-packages/django/db/models/manager.py", line 85, in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
  File "/opt/netbox/venv/lib/python3.10/site-packages/django/db/models/query.py", line 650, in get
    raise self.model.DoesNotExist(
users.models.Token.DoesNotExist: Token matching query does not exist.
```
2023-03-15 23:04:04 +01:00
Tobias Genannt 93017f150e
Merge pull request #959 from netbox-community/develop
Version 2.5.0
2023-03-15 15:53:14 +01:00
Tobias Genannt ac8cb022ae Preparation for 2.5.0 2023-03-15 14:32:09 +01:00
Tobias Genannt 480cabaefe
Merge pull request #955 from tobiasge/953-default-admin
Don't create superuser with default credentials
2023-03-15 14:20:07 +01:00
Tobias Genannt ab7e19df55
Merge pull request #958 from tobiasge/954-use-skopeo
Added check for commands to all scripts
2023-03-15 14:16:39 +01:00
Tobias Genannt 4ce89f9209 Added check for commands to all scripts 2023-03-15 13:02:25 +01:00
Tobias Genannt 3e2bf7ec93 Don't create superuser with default credentials 2023-03-15 12:23:36 +01:00
Tobias Genannt 4bad061bc4
Merge pull request #957 from tobiasge/fix-action-badge
Fixed Github action badge
2023-03-15 12:08:35 +01:00
Tobias Genannt f9abdf2390
Merge pull request #956 from tobiasge/954-use-skopeo
Replaced curl with Skopeo for in image functions
2023-03-15 12:04:10 +01:00
Tobias Genannt cc95a67df0 Fixed Github action badge 2023-03-15 10:16:50 +01:00
Tobias Genannt fb5bacc4b4 Replaced curl with Skopeo for in image functions 2023-03-15 09:32:37 +01:00
Tobias Genannt ed309a15b4
Merge pull request #948 from tobiasge/lazy-reindex-on-start
Fixes #947: Rebuild search index when needed
2023-03-14 20:46:44 +01:00
Tobias Genannt 5f8a09536c
Merge pull request #951 from tobiasge/new-unit
Updated to new unit version
2023-03-01 08:53:24 +01:00
Tobias Genannt d3a30e1172 Updated to new unit version 2023-03-01 07:39:37 +01:00
Tobias Genannt e60a746eee Fixes #947: Rebuild search index when needed
This rebuilds the search index when models where updated.
2023-02-23 08:37:53 +01:00
Tobias Genannt 879c700bb8
Merge pull request #939 from timrabl/fix-931
Actually fix #471 and #931
2023-02-01 10:08:59 +01:00
Tim Rabl 6f70b88972 squash commits that revert AUTH_LDAP_USER_SEARCH
add missing AUTH_LDAP_USER_SEARCH, removed while modifying....

revert AUTH_LDAP_USER_SEARCH variable that was accidentally removed in #931 and change behaviour to requested features in #471

remove duplicate AUTH_LDAP_USER_SEARCH variable now and fix this finally, hopefully
2023-02-01 08:18:34 +01:00
Tobias Genannt 7a9aef3791
Merge pull request #931 from timrabl/fix-471
implement extra LDAP user and group filters as requested in #471
2023-01-30 10:17:13 +01:00
Tim Oliver Rabl 3071c500da implement extra LDAP user and group filters as requested in #471 2023-01-30 09:06:22 +01:00
Tobias Genannt 350747c1cb
Merge pull request #910 from sc68cal/enforcing_shortname
Prepend docker.io to image URLs
2023-01-28 18:22:19 +01:00
Tobias Genannt 250b1fb093
Merge pull request #933 from tobiasge/fix-gh-warnings
Fix Github action warnings
2023-01-28 18:21:59 +01:00
Tobias Genannt eef45c8197 Using new GITHUB_OUTPUT method 2023-01-28 15:49:13 +01:00
Tobias Genannt f549b93b9d
Merge pull request #932 from tobiasge/gh-token
Using GITHUB_TOKEN for API
2023-01-28 15:31:53 +01:00
Tobias Genannt f2b0375d5b Using GITHUB_TOKEN for API 2023-01-28 13:38:28 +01:00
Tobias Genannt 3202fb9446
Merge pull request #929 from christianharendt/create-redis-username
Add redis username parameter
2023-01-28 10:14:00 +01:00
Christian Harendt ff373bd60d
Update configuration.py 2023-01-27 15:05:17 +01:00
Christian Harendt bd07a7a5a2
Add redis username parameter 2023-01-27 15:02:11 +01:00
Sean M. Collins 41d80d66b1 Prepend docker.io to image URLs
This is to make podman happy, since newer versions of podman
have set short-name-mode to enforcing

https://github.com/containers/image/blob/main/docs/containers-registries.conf.5.md
2023-01-10 14:10:15 +01:00
Tobias Genannt 015e131d99
Merge pull request #914 from kmanwar89/patch-1
Fix syntax of docker compose commands
2023-01-05 09:47:28 +01:00
Tobias Genannt ff37e17eeb
Merge pull request #913 from tobiasge/start_period_explanation
Added start_period to docker-compose example
2023-01-04 09:27:20 +01:00
Tobias Genannt 1403f52d04
Merge pull request #912 from tobiasge/localhost_allowed_host
Ensure that '*' or 'localhost' is always in ALLOWED_HOSTS
2023-01-03 19:06:03 +01:00
Tobias Genannt 7e0a8fee82
Improved comment 2023-01-03 16:48:00 +01:00
Tobias Genannt 0c1b69ded0
Update docker-compose.override.yml.example
Co-authored-by: Christian Mäder <cimnine@users.noreply.github.com>
2023-01-03 16:45:09 +01:00
Tobias Genannt 06e0815c70
Merge pull request #911 from netbox-community/renovate/python3-saml-1.x
Update dependency python3-saml to v1.15.0
2023-01-03 15:12:12 +01:00
Kadar Anwar 8f2820626c
Fix syntax of docker compose commands
Docker compose's syntax changed as of Compose v2 (source: https://docs.docker.com/compose/reference/).  Replaced references of "docker-compose" with "docker compose" to align with this change.
2023-01-03 09:06:46 -05:00
Tobias Genannt b6faad36cb Added start_period to docker-compose example 2023-01-03 14:58:41 +01:00
Tobias Genannt 73f479d5db Ensure that '*' or 'localhost' is always in ALLOWED_HOSTS 2023-01-03 14:41:26 +01:00
renovate[bot] 89ad7588f0
Update dependency python3-saml to v1.15.0 2022-12-27 23:54:03 +00:00
Tobias Genannt a4d986011d
Merge pull request #906 from netbox-community/renovate/django-storages-1.x
Update dependency django-storages to v1.13.2
2022-12-23 16:54:27 +01:00
renovate[bot] f2bb1198dd
Update dependency django-storages to v1.13.2 2022-12-23 05:15:28 +00:00
42 changed files with 928 additions and 725 deletions

View file

@ -1,10 +1,13 @@
.git .git*
.github
.travis.yml
*.md *.md
env
build* build*
docker-compose.override.yml docker-compose*
env
test-configuration
.netbox/.git* .netbox/.git*
.netbox/.travis.yml .netbox/.pre-commit-config.yaml
.netbox/.readthedocs.yaml
.netbox/.tx
.netbox/contrib
.netbox/scripts .netbox/scripts
.netbox/upgrade.sh

View file

@ -9,3 +9,6 @@ indent_size = 2
[*.py] [*.py]
indent_size = 4 indent_size = 4
[VERSION]
insert_final_newline = false

View file

@ -2,17 +2,12 @@
"Verbose": false, "Verbose": false,
"Debug": false, "Debug": false,
"IgnoreDefaults": false, "IgnoreDefaults": false,
"SpacesAftertabs": false, "SpacesAfterTabs": false,
"NoColor": false, "NoColor": false,
"Exclude": [ "Exclude": ["LICENSE", "\\.initializers", "\\.vscode"],
"LICENSE",
"\\.initializers",
"\\.vscode"
],
"AllowedContentTypes": [], "AllowedContentTypes": [],
"PassedFiles": [], "PassedFiles": [],
"Disable": { "Disable": {
// set these options to true to disable specific checks
"EndOfLine": false, "EndOfLine": false,
"Indentation": false, "Indentation": false,
"InsertFinalNewline": false, "InsertFinalNewline": false,

4
.github/FUNDING.yml vendored
View file

@ -1,8 +1,8 @@
# These are supported funding model platforms # These are supported funding model platforms
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
- cimnine - cimnine
- tobiasge - tobiasge
patreon: # Replace with a single Patreon username patreon: # Replace with a single Patreon username
open_collective: # Replace with a single Open Collective username open_collective: # Replace with a single Open Collective username
ko_fi: # Replace with a single Ko-fi username ko_fi: # Replace with a single Ko-fi username

View file

@ -1,148 +1,147 @@
name: Bug report name: Bug report
description: Create a report about a malfunction of the Docker setup description: Create a report about a malfunction of the Docker setup
body: body:
- type: markdown - type: markdown
attributes: attributes:
value: | value: |
Please only raise an issue if you're certain that you've found a bug. Please only raise an issue if you're certain that you've found a bug.
Else, see these other means to get help: Else, see these other means to get help:
- See our troubleshooting section: - See our troubleshooting section:
https://github.com/netbox-community/netbox-docker/wiki/Troubleshooting https://github.com/netbox-community/netbox-docker/wiki/Troubleshooting
- Have a look at the rest of the wiki: - Have a look at the rest of the wiki:
https://github.com/netbox-community/netbox-docker/wiki https://github.com/netbox-community/netbox-docker/wiki
- Check the release notes: - Check the release notes:
https://github.com/netbox-community/netbox-docker/releases https://github.com/netbox-community/netbox-docker/releases
- Look through the issues already resolved: - Look through the issues already resolved:
https://github.com/netbox-community/netbox-docker/issues?q=is%3Aclosed https://github.com/netbox-community/netbox-docker/issues?q=is%3Aclosed
If you did not find what you're looking for, If you did not find what you're looking for,
try the help of our community: try the help of our community:
- Post to Github Discussions: - Post to Github Discussions:
https://github.com/netbox-community/netbox-docker/discussions https://github.com/netbox-community/netbox-docker/discussions
- Join the `#netbox-docker` channel on our Slack: - Join the `#netbox-docker` channel on our Slack:
https://join.slack.com/t/netdev-community/shared_invite/zt-mtts8g0n-Sm6Wutn62q_M4OdsaIycrQ https://join.slack.com/t/netdev-community/shared_invite/zt-mtts8g0n-Sm6Wutn62q_M4OdsaIycrQ
- Ask on the NetBox mailing list: - Ask on the NetBox mailing list:
https://groups.google.com/d/forum/netbox-discuss https://groups.google.com/d/forum/netbox-discuss
Please don't open an issue to open a PR. Please don't open an issue to open a PR.
Just submit the PR, that's good enough. Just submit the PR, that's good enough.
- type: textarea - type: textarea
id: current-behavior id: current-behavior
attributes: attributes:
label: Current Behavior label: Current Behavior
description: Please describe what you did and how you think it misbehaved description: Please describe what you did and how you think it misbehaved
placeholder: I tried to … by doing …, but it … placeholder: I tried to … by doing …, but it …
validations: validations:
required: true required: true
- type: textarea - type: textarea
id: expected-behavior id: expected-behavior
attributes: attributes:
label: Expected Behavior label: Expected Behavior
description: Please describe what you expected instead description: Please describe what you expected instead
placeholder: I expected that … when I do … placeholder: I expected that … when I do …
validations: validations:
required: true required: true
- type: input - type: input
id: docker-compose-version id: docker-compose-version
attributes: attributes:
label: Docker Compose Version label: Docker Compose Version
description: Please paste the output of `docker-compose version` description: Please paste the output of `docker-compose version` (or `docker compose version`)
placeholder: Docker Compose version vX.Y.Z placeholder: Docker Compose version vX.Y.Z
validations: validations:
required: true required: true
- type: textarea - type: textarea
id: docker-version id: docker-version
attributes: attributes:
label: Docker Version label: Docker Version
description: Please paste the output of `docker version` description: Please paste the output of `docker version`
render: text render: text
placeholder: | placeholder: |
Client: Client:
Cloud integration: 1.0.17 Cloud integration: 1.0.17
Version: 20.10.8 Version: 20.10.8
API version: 1.41 API version: 1.41
Go version: go1.16.6 Go version: go1.16.6
Git commit: 3967b7d Git commit: 3967b7d
Built: Fri Jul 30 19:55:20 2021 Built: Fri Jul 30 19:55:20 2021
OS/Arch: darwin/amd64 OS/Arch: darwin/amd64
Context: default Context: default
Experimental: true Experimental: true
Server: Docker Engine - Community Server: Docker Engine - Community
Engine: Engine:
Version: 20.10.8 Version: 20.10.8
API version: 1.41 (minimum version 1.12) API version: 1.41 (minimum version 1.12)
Go version: go1.16.6 Go version: go1.16.6
Git commit: 75249d8 Git commit: 75249d8
Built: Fri Jul 30 19:52:10 2021 Built: Fri Jul 30 19:52:10 2021
OS/Arch: linux/amd64 OS/Arch: linux/amd64
Experimental: false Experimental: false
containerd: containerd:
Version: 1.4.9 Version: 1.4.9
GitCommit: e25210fe30a0a703442421b0f60afac609f950a3 GitCommit: e25210fe30a0a703442421b0f60afac609f950a3
runc: runc:
Version: 1.0.1 Version: 1.0.1
GitCommit: v1.0.1-0-g4144b63 GitCommit: v1.0.1-0-g4144b63
docker-init: docker-init:
Version: 0.19.0 Version: 0.19.0
GitCommit: de40ad0 GitCommit: de40ad0
validations: validations:
required: true required: true
- type: input - type: input
id: git-rev id: git-rev
attributes: attributes:
label: The git Revision label: The git Revision
description: Please paste the output of `git rev-parse HEAD` description: Please paste the output of `git rev-parse HEAD`
validations: validations:
required: true required: true
- type: textarea - type: textarea
id: git-status id: git-status
attributes: attributes:
label: The git Status label: The git Status
description: Please paste the output of `git status` description: Please paste the output of `git status`
render: text render: text
placeholder: | placeholder: |
On branch main On branch main
nothing to commit, working tree clean nothing to commit, working tree clean
validations: validations:
required: true required: true
- type: input - type: input
id: run-command id: run-command
attributes: attributes:
label: Startup Command label: Startup Command
description: Please specify the command you used to start the project description: Please specify the command you used to start the project
placeholder: docker compose up placeholder: docker compose up
validations: validations:
required: true required: true
- type: textarea - type: textarea
id: netbox-logs id: netbox-logs
attributes: attributes:
label: NetBox Logs label: NetBox Logs
description: Please paste the output of `docker-compose logs netbox` (or `docker compose logs netbox`) description: Please paste the output of `docker-compose logs netbox` (or `docker compose logs netbox`)
render: text render: text
placeholder: | placeholder: |
netbox_1 | ⚙️ Applying database migrations netbox_1 | ⚙️ Applying database migrations
netbox_1 | 🧬 loaded config '/etc/netbox/config/configuration.py' netbox_1 | 🧬 loaded config '/etc/netbox/config/configuration.py'
netbox_1 | 🧬 loaded config '/etc/netbox/config/a.py' netbox_1 | 🧬 loaded config '/etc/netbox/config/a.py'
netbox_1 | 🧬 loaded config '/etc/netbox/config/extra.py' netbox_1 | 🧬 loaded config '/etc/netbox/config/extra.py'
netbox_1 | 🧬 loaded config '/etc/netbox/config/logging.py' netbox_1 | 🧬 loaded config '/etc/netbox/config/logging.py'
netbox_1 | 🧬 loaded config '/etc/netbox/config/plugins.py' netbox_1 | 🧬 loaded config '/etc/netbox/config/plugins.py'
... ...
validations: validations:
required: true required: true
- type: textarea - type: textarea
id: docker-compose-override-yml id: docker-compose-override-yml
attributes: attributes:
label: Content of docker-compose.override.yml label: Content of docker-compose.override.yml
description: Please paste the output of `cat docker-compose.override.yml` description: Please paste the output of `cat docker-compose.override.yml`
render: yaml render: yaml
placeholder: | placeholder: |
version: '3.4' services:
services: netbox:
netbox: ports:
ports: - '8080:8080'
- '8080:8080' validations:
validations: required: true
required: true

View file

@ -6,7 +6,7 @@ contact_links:
- name: Chat - name: Chat
url: https://join.slack.com/t/netdev-community/shared_invite/zt-mtts8g0n-Sm6Wutn62q_M4OdsaIycrQ url: https://join.slack.com/t/netdev-community/shared_invite/zt-mtts8g0n-Sm6Wutn62q_M4OdsaIycrQ
about: 'Usually the quickest way to seek help with small issues is to join our #netbox-docker Slack channel.' about: "Usually the quickest way to seek help with small issues is to join our #netbox-docker Slack channel."
- name: Community Wiki - name: Community Wiki
url: https://github.com/netbox-community/netbox-docker/wiki url: https://github.com/netbox-community/netbox-docker/wiki

View file

@ -1,68 +1,68 @@
name: Feature or Change Request name: Feature or Change Request
description: Request a new feature or a change of the current behavior description: Request a new feature or a change of the current behavior
body: body:
- type: markdown - type: markdown
attributes: attributes:
value: | value: |
This issue type is to propose new features for the Docker setup. This issue type is to propose new features for the Docker setup.
To just spin an idea, see the Github Discussions section, please. To just spin an idea, see the Github Discussions section, please.
Before asking for help, see these links first: Before asking for help, see these links first:
- See our troubleshooting section: - See our troubleshooting section:
https://github.com/netbox-community/netbox-docker/wiki/Troubleshooting https://github.com/netbox-community/netbox-docker/wiki/Troubleshooting
- Have a look at the rest of the wiki: - Have a look at the rest of the wiki:
https://github.com/netbox-community/netbox-docker/wiki https://github.com/netbox-community/netbox-docker/wiki
- Check the release notes: - Check the release notes:
https://github.com/netbox-community/netbox-docker/releases https://github.com/netbox-community/netbox-docker/releases
- Look through the issues already resolved: - Look through the issues already resolved:
https://github.com/netbox-community/netbox-docker/issues?q=is%3Aclosed https://github.com/netbox-community/netbox-docker/issues?q=is%3Aclosed
If you did not find what you're looking for, If you did not find what you're looking for,
try the help of our community: try the help of our community:
- Post to Github Discussions: - Post to Github Discussions:
https://github.com/netbox-community/netbox-docker/discussions https://github.com/netbox-community/netbox-docker/discussions
- Join the `#netbox-docker` channel on our Slack: - Join the `#netbox-docker` channel on our Slack:
https://join.slack.com/t/netdev-community/shared_invite/zt-mtts8g0n-Sm6Wutn62q_M4OdsaIycrQ https://join.slack.com/t/netdev-community/shared_invite/zt-mtts8g0n-Sm6Wutn62q_M4OdsaIycrQ
- Ask on the NetBox mailing list: - Ask on the NetBox mailing list:
https://groups.google.com/d/forum/netbox-discuss https://groups.google.com/d/forum/netbox-discuss
Please don't open an issue to open a PR. Please don't open an issue to open a PR.
Just submit the PR, that's good enough. Just submit the PR, that's good enough.
- type: textarea - type: textarea
id: desired-behavior id: desired-behavior
attributes: attributes:
label: Desired Behavior label: Desired Behavior
description: Please describe the desired behavior description: Please describe the desired behavior
placeholder: To me, it would be useful, if … because … placeholder: To me, it would be useful, if … because …
validations: validations:
required: true required: true
- type: textarea - type: textarea
id: contrast-to-current id: contrast-to-current
attributes: attributes:
label: Contrast to Current Behavior label: Contrast to Current Behavior
description: Please describe how the desired behavior is different from the current behavior description: Please describe how the desired behavior is different from the current behavior
placeholder: The current behavior is …, but this lacks … placeholder: The current behavior is …, but this lacks …
validations: validations:
required: true required: true
- type: textarea - type: textarea
id: required-changes id: required-changes
attributes: attributes:
label: Required Changes label: Required Changes
description: If you can, please elaborate what changes will be required to implement the desired behavior description: If you can, please elaborate what changes will be required to implement the desired behavior
placeholder: I suggest to change the file … placeholder: I suggest to change the file …
validations: validations:
required: false required: false
- type: textarea - type: textarea
id: discussion id: discussion
attributes: attributes:
label: 'Discussion: Benefits and Drawbacks' label: "Discussion: Benefits and Drawbacks"
description: | description: |
Please make your case here: Please make your case here:
- Why do you think this project and the community will benefit from your suggestion? - Why do you think this project and the community will benefit from your suggestion?
- What are the drawbacks of this change? Is it backwards-compatible? - What are the drawbacks of this change? Is it backwards-compatible?
- Anything else that you think is relevant to the discussion of this feature/change request. - Anything else that you think is relevant to the discussion of this feature/change request.
placeholder: I suggest to change the file … placeholder: I suggest to change the file …
validations: validations:
required: false required: false

View file

@ -80,6 +80,6 @@ into the release notes.
Please put an x into the brackets (like `[x]`) if you've completed that task. Please put an x into the brackets (like `[x]`) if you've completed that task.
--> -->
* [ ] I have read the comments and followed the PR template. - [ ] I have read the comments and followed the PR template.
* [ ] I have explained my PR according to the information in the comments. - [ ] I have explained my PR according to the information in the comments.
* [ ] My PR targets the `develop` branch. - [ ] My PR targets the `develop` branch.

View file

@ -5,35 +5,46 @@ on:
push: push:
branches-ignore: branches-ignore:
- release - release
- renovate/**
pull_request: pull_request:
branches-ignore: branches-ignore:
- release - release
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs: jobs:
lint: lint:
runs-on: ubuntu-latest runs-on: ubuntu-24.04
name: Checks syntax of our code name: Checks syntax of our code
permissions:
contents: read
packages: read
statuses: write
steps: steps:
- uses: actions/checkout@v3 - 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
- uses: actions/setup-python@v4
with:
python-version: '3.9'
- name: Lint Code Base - name: Lint Code Base
uses: github/super-linter@v4 uses: super-linter/super-linter@v8
env: env:
DEFAULT_BRANCH: develop DEFAULT_BRANCH: develop
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SUPPRESS_POSSUM: true SUPPRESS_POSSUM: true
LINTER_RULES_PATH: / LINTER_RULES_PATH: /
VALIDATE_ALL_CODEBASE: false VALIDATE_ALL_CODEBASE: false
VALIDATE_BIOME_FORMAT: false
VALIDATE_CHECKOV: false
VALIDATE_DOCKERFILE: false VALIDATE_DOCKERFILE: false
VALIDATE_GITHUB_ACTIONS_ZIZMOR: false
VALIDATE_GITLEAKS: false VALIDATE_GITLEAKS: false
VALIDATE_JSCPD: false
VALIDATE_TRIVY: false
FILTER_REGEX_EXCLUDE: (.*/)?(LICENSE|configuration/.*) FILTER_REGEX_EXCLUDE: (.*/)?(LICENSE|configuration/.*)
EDITORCONFIG_FILE_NAME: .ecrc EDITORCONFIG_FILE_NAME: .editorconfig-checker.json
DOCKERFILE_HADOLINT_FILE_NAME: .hadolint.yaml DOCKERFILE_HADOLINT_FILE_NAME: .hadolint.yaml
MARKDOWN_CONFIG_FILE: .markdown-lint.yml MARKDOWN_CONFIG_FILE: .markdown-lint.yml
PYTHON_BLACK_CONFIG_FILE: pyproject.toml PYTHON_BLACK_CONFIG_FILE: pyproject.toml
@ -48,32 +59,44 @@ jobs:
- ./build-latest.sh - ./build-latest.sh
- PRERELEASE=true ./build-latest.sh - PRERELEASE=true ./build-latest.sh
- ./build.sh feature - ./build.sh feature
- ./build.sh develop - ./build.sh main
platform: os:
- linux/amd64 - ubuntu-24.04
- linux/arm64 - ubuntu-24.04-arm
fail-fast: false fail-fast: false
env: env:
GH_ACTION: enable GH_ACTION: enable
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
IMAGE_NAMES: docker.io/netboxcommunity/netbox IMAGE_NAMES: docker.io/netboxcommunity/netbox
runs-on: ubuntu-latest runs-on: ${{ matrix.os }}
name: Builds new NetBox Docker Images name: Builds new NetBox Docker Images
steps: steps:
- id: git-checkout - id: git-checkout
name: Checkout name: Checkout
uses: actions/checkout@v3 uses: actions/checkout@v5
- id: qemu-setup
name: Set up QEMU
uses: docker/setup-qemu-action@v2
- id: buildx-setup - id: buildx-setup
name: Set up Docker Buildx name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2 uses: docker/setup-buildx-action@v3
- id: arm-install-skopeo
name: Install 'skopeo' on ARM64
if: matrix.os == 'ubuntu-24.04-arm'
run: |
sudo apt-get install -y skopeo
- id: arm-buildx-platform
name: Set BUILDX_PLATFORM to ARM64
if: matrix.os == 'ubuntu-24.04-arm'
run: |
echo "BUILDX_PLATFORM=linux/arm64" >>"${GITHUB_ENV}"
- id: docker-build - id: docker-build
name: Build the image for '${{ matrix.platform }}' with '${{ matrix.build_cmd }}' name: Build the image for '${{ matrix.os }}' with '${{ matrix.build_cmd }}'
run: ${{ matrix.build_cmd }} run: ${{ matrix.build_cmd }}
env: env:
BUILDX_PLATFORM: ${{ matrix.platform }}
BUILDX_BUILDER_NAME: ${{ steps.buildx-setup.outputs.name }} BUILDX_BUILDER_NAME: ${{ steps.buildx-setup.outputs.name }}
- id: arm-time-limit
name: Set Netbox container start_period higher on ARM64
if: matrix.os == 'ubuntu-24.04-arm'
run: |
echo "NETBOX_START_PERIOD=240s" >>"${GITHUB_ENV}"
- id: docker-test - id: docker-test
name: Test the image name: Test the image
run: IMAGE="${FINAL_DOCKER_TAG}" ./test.sh run: IMAGE="${FINAL_DOCKER_TAG}" ./test.sh

View file

@ -6,78 +6,83 @@ on:
types: types:
- published - published
schedule: schedule:
- cron: '45 5 * * *' - cron: "45 5 * * *"
workflow_dispatch: workflow_dispatch:
jobs: jobs:
build: build:
strategy: strategy:
matrix: matrix:
build_cmd: build:
- ./build-latest.sh - { "cmd": "./build-latest.sh", "branch": "release" }
- PRERELEASE=true ./build-latest.sh - { "cmd": "./build.sh main", "branch": "release" }
- ./build.sh feature # Build pre release images from our develop branch
- ./build.sh develop # This is used to test the latest changes before they are merged into the main branch
- { "cmd": "PRERELEASE=true ./build-latest.sh", "branch": "develop" }
- { "cmd": "./build.sh feature", "branch": "develop" }
platform: platform:
- linux/amd64,linux/arm64 - linux/amd64,linux/arm64
fail-fast: false fail-fast: false
runs-on: ubuntu-latest runs-on: ubuntu-24.04
name: Builds new NetBox Docker Images name: Builds new NetBox Docker Images
env: env:
GH_ACTION: enable GH_ACTION: enable
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
IMAGE_NAMES: docker.io/netboxcommunity/netbox quay.io/netboxcommunity/netbox ghcr.io/netbox-community/netbox IMAGE_NAMES: docker.io/netboxcommunity/netbox quay.io/netboxcommunity/netbox ghcr.io/netbox-community/netbox
steps: steps:
- id: source-checkout - id: source-checkout
name: Checkout name: Checkout
uses: actions/checkout@v3 uses: actions/checkout@v5
with:
ref: ${{ matrix.build.branch }}
- id: set-netbox-docker-version - id: set-netbox-docker-version
name: Get Version of NetBox Docker name: Get Version of NetBox Docker
run: echo "::set-output name=version::$(cat VERSION)" run: echo "version=$(cat VERSION)" >>"$GITHUB_OUTPUT"
shell: bash shell: bash
- id: qemu-setup - id: check-build-needed
name: Set up QEMU name: Check if the build is needed for '${{ matrix.build.cmd }}'
uses: docker/setup-qemu-action@v2 env:
- id: buildx-setup CHECK_ONLY: "true"
name: Set up Docker Buildx run: ${{ matrix.build.cmd }}
uses: docker/setup-buildx-action@v2
- id: docker-build
name: Build the image with '${{ matrix.build_cmd }}'
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 # docker.io
- id: docker-io-login - id: docker-io-login
name: Login to docker.io name: Login to docker.io
uses: docker/login-action@v2 uses: docker/login-action@v3
with: with:
registry: docker.io registry: docker.io
username: ${{ secrets.dockerhub_username }} username: ${{ secrets.dockerhub_username }}
password: ${{ secrets.dockerhub_password }} 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 # quay.io
- id: quay-io-login - id: quay-io-login
name: Login to Quay.io name: Login to Quay.io
uses: docker/login-action@v2 uses: docker/login-action@v3
with: with:
registry: quay.io registry: quay.io
username: ${{ secrets.quayio_username }} username: ${{ secrets.quayio_username }}
password: ${{ secrets.quayio_password }} password: ${{ secrets.quayio_password }}
if: steps.docker-build.outputs.skipped != 'true' if: steps.check-build-needed.outputs.skipped != 'true'
# ghcr.io # ghcr.io
- id: ghcr-io-login - id: ghcr-io-login
name: Login to GitHub Container Registry name: Login to GitHub Container Registry
uses: docker/login-action@v2 uses: docker/login-action@v3
with: with:
registry: ghcr.io registry: ghcr.io
username: ${{ github.repository_owner }} username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }} password: ${{ secrets.GITHUB_TOKEN }}
if: steps.docker-build.outputs.skipped != 'true' if: steps.check-build-needed.outputs.skipped != 'true'
- id: build-and-push - id: build-and-push
name: Push the image name: Push the image
run: ${{ matrix.build_cmd }} --push run: ${{ matrix.build.cmd }} --push
if: steps.docker-build.outputs.skipped != 'true' if: steps.check-build-needed.outputs.skipped != 'true'
env: env:
BUILDX_PLATFORM: ${{ matrix.platform }} BUILDX_PLATFORM: ${{ matrix.platform }}
BUILDX_BUILDER_NAME: ${{ steps.buildx-setup.outputs.name }} BUILDX_BUILDER_NAME: ${{ steps.buildx-setup.outputs.name }}

3
.gitignore vendored
View file

@ -1,6 +1,6 @@
*.sql.gz *.sql.gz
.netbox .netbox
.initializers .python-version
docker-compose.override.yml docker-compose.override.yml
*.pem *.pem
configuration/* configuration/*
@ -11,5 +11,4 @@ configuration/ldap/*
!configuration/ldap/ldap_config.py !configuration/ldap/ldap_config.py
!configuration/logging.py !configuration/logging.py
!configuration/plugins.py !configuration/plugins.py
prometheus.yml
super-linter.log super-linter.log

View file

@ -1,5 +1,4 @@
--- ---
rules: rules:
line-length: line-length:
max: 120 max: 160

View file

@ -1,6 +1,7 @@
ARG FROM ARG FROM
FROM ${FROM} as builder FROM ${FROM} AS builder
COPY --from=ghcr.io/astral-sh/uv:0.9 /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 \
@ -14,25 +15,27 @@ RUN export DEBIAN_FRONTEND=noninteractive \
libsasl2-dev \ libsasl2-dev \
libssl-dev \ libssl-dev \
libxml2-dev \ libxml2-dev \
libxml2-dev \
libxmlsec1 \ libxmlsec1 \
libxmlsec1-dev \ libxmlsec1-dev \
libxmlsec1-openssl \ libxmlsec1-openssl \
libxslt-dev \ libxslt-dev \
pkg-config \ pkg-config \
python3-dev \ python3-dev \
python3-pip \ && /usr/local/bin/uv venv /opt/netbox/venv
python3-venv \
&& python3 -m venv /opt/netbox/venv \
&& /opt/netbox/venv/bin/python3 -m pip install --upgrade \
pip \
setuptools \
wheel
ARG NETBOX_PATH ARG NETBOX_PATH
COPY ${NETBOX_PATH}/requirements.txt requirements-container.txt / COPY ${NETBOX_PATH}/requirements.txt requirements-container.txt /
RUN sed -i -e '/psycopg2-binary/d' requirements.txt && \ ENV VIRTUAL_ENV=/opt/netbox/venv
/opt/netbox/venv/bin/pip install \ RUN \
# Gunicorn is not needed because we use Nginx Unit
sed -i -e '/gunicorn/d' /requirements.txt && \
# We need 'social-auth-core[all]' in the Docker image. But if we put it in our own requirements-container.txt
# we have potential version conflicts and the build will fail.
# That's why we just replace it in the original requirements.txt.
sed -i -e 's/social-auth-core/social-auth-core\[all\]/g' /requirements.txt && \
# The same is true for 'django-storages'
sed -i -e 's/django-storages/django-storages\[azure,boto3,dropbox,google,libcloud,sftp\]/g' /requirements.txt && \
/usr/local/bin/uv pip install \
-r /requirements.txt \ -r /requirements.txt \
-r /requirements-container.txt -r /requirements-container.txt
@ -41,8 +44,10 @@ RUN sed -i -e '/psycopg2-binary/d' requirements.txt && \
### ###
ARG FROM ARG FROM
FROM ${FROM} as main FROM ${FROM} AS main
COPY docker/unit.list /etc/apt/sources.list.d/unit.list
ADD --chmod=444 --chown=0:0 https://unit.nginx.org/keys/nginx-keyring.gpg /usr/share/keyrings/nginx-keyring.gpg
RUN export DEBIAN_FRONTEND=noninteractive \ RUN export DEBIAN_FRONTEND=noninteractive \
&& apt-get update -qq \ && apt-get update -qq \
&& apt-get upgrade \ && apt-get upgrade \
@ -55,21 +60,17 @@ RUN export DEBIAN_FRONTEND=noninteractive \
libldap-common \ libldap-common \
libpq5 \ libpq5 \
libxmlsec1-openssl \ libxmlsec1-openssl \
openssh-client \
openssl \ openssl \
python3 \ python3 \
python3-distutils \
tini \ tini \
&& curl -sL https://nginx.org/keys/nginx_signing.key \ unit-python3.12=1.34.2-1~noble \
> /etc/apt/trusted.gpg.d/nginx.asc && \ unit=1.34.2-1~noble \
echo "deb https://packages.nginx.org/unit/ubuntu/ jammy unit" \
> /etc/apt/sources.list.d/unit.list \
&& apt-get update -qq \
&& apt-get install \
--yes -qq --no-install-recommends \
unit=1.27.0-1~jammy \
unit-python3.10=1.27.0-1~jammy \
&& rm -rf /var/lib/apt/lists/* && rm -rf /var/lib/apt/lists/*
# Copy the modified 'requirements*.txt' files, to have the files actually used during installation
COPY --from=builder /requirements.txt /requirements-container.txt /opt/netbox/
COPY --from=builder /usr/local/bin/uv /usr/local/bin/
COPY --from=builder /opt/netbox/venv /opt/netbox/venv COPY --from=builder /opt/netbox/venv /opt/netbox/venv
ARG NETBOX_PATH ARG NETBOX_PATH
@ -78,23 +79,25 @@ 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/
COPY VERSION /opt/netbox/VERSION
WORKDIR /opt/netbox/netbox 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 media /opt/unit/ \ && chown -R unit:root /opt/unit/ media reports scripts \
&& chmod -R g+w media /opt/unit/ \ && chmod -R g+w /opt/unit/ media reports scripts \
&& cd /opt/netbox/ && SECRET_KEY="dummy" /opt/netbox/venv/bin/python -m mkdocs build \ && cd /opt/netbox/ && SECRET_KEY="dummyKeyWithMinimumLength-------------------------" /opt/netbox/venv/bin/python -m mkdocs build \
--config-file /opt/netbox/mkdocs.yml --site-dir /opt/netbox/netbox/project-static/docs/ \ --config-file /opt/netbox/mkdocs.yml --site-dir /opt/netbox/netbox/project-static/docs/ \
&& SECRET_KEY="dummy" /opt/netbox/venv/bin/python /opt/netbox/netbox/manage.py collectstatic --no-input && DEBUG="true" SECRET_KEY="dummyKeyWithMinimumLength-------------------------" /opt/netbox/venv/bin/python /opt/netbox/netbox/manage.py collectstatic --no-input \
&& mkdir /opt/netbox/netbox/local \
&& echo "build: Docker-$(cat /opt/netbox/VERSION)" > /opt/netbox/netbox/local/release.yaml
ENV LANG=C.UTF-8 PATH=/opt/netbox/venv/bin:$PATH ENV LANG=C.utf8 PATH=/opt/netbox/venv/bin:$PATH VIRTUAL_ENV=/opt/netbox/venv UV_NO_CACHE=1
ENTRYPOINT [ "/usr/bin/tini", "--" ] ENTRYPOINT [ "/usr/bin/tini", "--" ]
CMD [ "/opt/netbox/docker-entrypoint.sh", "/opt/netbox/launch-netbox.sh" ] CMD [ "/opt/netbox/docker-entrypoint.sh", "/opt/netbox/launch-netbox.sh" ]

19
MAINTAINERS.md Normal file
View file

@ -0,0 +1,19 @@
# Maintainers of _NetBox Docker_
This file lists all currently recognized maintainers of the _NetBox Docker_ project in alphabetical order:
- @cimnine
- @tobiasge
## Stepping Down
Every maintainer is a volunteer and may step down as maintainer at any time without providing any reason.
To make this explicit, the maintainer is asked to update this file.
The last maintainer stepping down is asked to archive the project on GitHub to indicate that the project is no longer maintained.
## Signing up
Everyone is welcome to sign up as maintainer by creating a PR and add their own username to the list.
The current maintainers shall discuss the application.
They may turn down an application if they don't feel confident that the new maintainer is a positive addition.

71
PRINCIPALS.md Normal file
View file

@ -0,0 +1,71 @@
# Development, Maintenance and Community Principals for _NetBox Docker_
These principals shall guide the development and the maintenance of _NetBox Docker_.
## Basic principals
This project is maintained on voluntary basis.
Everyone is asked to respect that.
This means, that …
- … sometimes features are not implemented as fast as one might like -- or not at all.
- … sometimes nobody is looking at bugs, or they are not fixed as fast as one might like -- or not at all.
- … sometimes PRs are not reviewed for an extended period.
Everyone is welcome to provide improvements and bugfixes to the benefit of everyone else.
## Development Principals
The goal of the _NetBox Docker_ project is to provide a container to run the basic NetBox project.
The container should feel like a native container -- as if it were provided by NetBox itself:
- Configuration via environment variables where feasible.
- Except: Whenever a complex type such as a `dict` is required as value of a configuration setting,
then it shall not be provided through an environment variable.
- Configuration of secrets via secret files.
- Log output to standard out (STDOUT/`&1`) / standard error (STDERR/`&2`).
- Volumes for data and cache directories.
- Otherwise, no mounts shall be necessary.
- Runs a non-root user by default.
- One process / role for each instance.
The container generally does not provide more features than the basic NetBox project itself provides.
It may provide additional Python dependencies than the upstream project,
so that all configurable features of NetBox can be used in the container without further modification.
The container may provide helpers, so that it feels and behaves like a native container.
The container does not bundle any community plugins.
## Maintenance Principals
The main goals of maintaining _NetBox Docker_ are:
- Keeping the project at a high quality level.
- Keeping the maintenance effort minimal.
- Coordinating development efforts.
The following guidelines help us to achieve these goals:
- As many maintenance tasks as possible shall be automated or scripted.
- All manual tasks must be documented.
- All changes are reviewed by at least one maintainer.
- Changes of maintainers are reviewed by at least one other maintainer.
(Except if there's only one maintainer left.)
- The infrastructure beyond what GitHub provides shall be kept to a minimum.
- On request, every maintainer shall get access to infrastructure that is beyond GitHub
(at the time of writing that's _Docker Hub_ and _Quay_ in particular).
## Community Principals
This project is developed by the NetBox community for the NetBox community.
We welcome contributions, as long as they are in line with the principals above.
The maintainers of NetBox Docker are not the support team.
The community is expected to help each other out.
Always remember:
Behind every screen (or screen-reader) on the other end is a fellow human.
Be nice and respectful, thankful for help,
and value ideas and contributions,
even when they don't fit the goals.

View file

@ -3,16 +3,21 @@
[![GitHub release (latest by date)](https://img.shields.io/github/v/release/netbox-community/netbox-docker)][github-release] [![GitHub release (latest by date)](https://img.shields.io/github/v/release/netbox-community/netbox-docker)][github-release]
[![GitHub stars](https://img.shields.io/github/stars/netbox-community/netbox-docker)][github-stargazers] [![GitHub stars](https://img.shields.io/github/stars/netbox-community/netbox-docker)][github-stargazers]
![GitHub closed pull requests](https://img.shields.io/github/issues-pr-closed-raw/netbox-community/netbox-docker) ![GitHub closed pull requests](https://img.shields.io/github/issues-pr-closed-raw/netbox-community/netbox-docker)
![Github release workflow](https://img.shields.io/github/workflow/status/netbox-community/netbox-docker/release) ![Github release workflow](https://img.shields.io/github/actions/workflow/status/netbox-community/netbox-docker/release.yml?branch=release)
![Docker Pulls](https://img.shields.io/docker/pulls/netboxcommunity/netbox) ![Docker Pulls](https://img.shields.io/docker/pulls/netboxcommunity/netbox)
[![GitHub license](https://img.shields.io/github/license/netbox-community/netbox-docker)][netbox-docker-license] [![GitHub license](https://img.shields.io/github/license/netbox-community/netbox-docker)][netbox-docker-license]
[The GitHub repository][netbox-docker-github] houses the components needed to build NetBox as a container. [The GitHub repository][netbox-docker-github] houses the components needed to build NetBox as a container.
Images are built regularly using the code in that repository and are pushed to [Docker Hub][netbox-dockerhub], [Quay.io][netbox-quayio] and [GitHub Container Registry][netbox-ghcr]. Images are built regularly using the code in that repository
and are pushed to [Docker Hub][netbox-dockerhub],
[Quay.io][netbox-quayio] and [GitHub Container Registry][netbox-ghcr].
_NetBox Docker_ is a project developed and maintained by the _NetBox_ community.
Do you have any questions? Do you have any questions?
Before opening an issue on Github, Before opening an issue on GitHub,
please join [our Slack][netbox-docker-slack] and ask for help in the [`#netbox-docker`][netbox-docker-slack-channel] channel. please join [our Slack][netbox-docker-slack]
and ask for help in the [`#netbox-docker`][netbox-docker-slack-channel] channel,
or start a new [GitHub Discussion][github-discussions].
[github-stargazers]: https://github.com/netbox-community/netbox-docker/stargazers [github-stargazers]: https://github.com/netbox-community/netbox-docker/stargazers
[github-release]: https://github.com/netbox-community/netbox-docker/releases [github-release]: https://github.com/netbox-community/netbox-docker/releases
@ -24,6 +29,7 @@ please join [our Slack][netbox-docker-slack] and ask for help in the [`#netbox-d
[netbox-docker-slack-channel]: https://netdev-community.slack.com/archives/C01P0GEVBU7 [netbox-docker-slack-channel]: https://netdev-community.slack.com/archives/C01P0GEVBU7
[netbox-slack-channel]: https://netdev-community.slack.com/archives/C01P0FRSXRV [netbox-slack-channel]: https://netdev-community.slack.com/archives/C01P0FRSXRV
[netbox-docker-license]: https://github.com/netbox-community/netbox-docker/blob/release/LICENSE [netbox-docker-license]: https://github.com/netbox-community/netbox-docker/blob/release/LICENSE
[github-discussions]: https://github.com/netbox-community/netbox-docker/discussions
## Quickstart ## Quickstart
@ -33,26 +39,25 @@ There is a more complete [_Getting Started_ guide on our wiki][wiki-getting-star
```bash ```bash
git clone -b release https://github.com/netbox-community/netbox-docker.git git clone -b release https://github.com/netbox-community/netbox-docker.git
cd netbox-docker cd netbox-docker
tee docker-compose.override.yml <<EOF # Copy the example override file
version: '3.4' cp docker-compose.override.yml.example docker-compose.override.yml
services: # Read and edit the file to your liking
netbox: docker compose pull
ports: docker compose up
- 8000:8080
EOF
docker-compose pull
docker-compose up
``` ```
The whole application will be available after a few minutes. The whole application will be available after a few minutes.
Open the URL `http://0.0.0.0:8000/` in a web-browser. Open the URL `http://0.0.0.0:8000/` in a web-browser.
You should see the NetBox homepage. You should see the NetBox homepage.
In the top-right corner you can login.
The default credentials are:
* Username: **admin** To create the first admin user run this command:
* Password: **admin**
* API Token: **0123456789abcdef0123456789abcdef01234567** ```bash
docker compose exec netbox /opt/netbox/netbox/manage.py createsuperuser
```
If you need to restart Netbox from an empty database often,
you can also set the `SUPERUSER_*` variables in your `docker-compose.override.yml`.
[wiki-getting-started]: https://github.com/netbox-community/netbox-docker/wiki/Getting-Started [wiki-getting-started]: https://github.com/netbox-community/netbox-docker/wiki/Getting-Started
@ -62,42 +67,39 @@ New container images are built and published automatically every ~24h.
> We recommend to use either the `vX.Y.Z-a.b.c` tags or the `vX.Y-a.b.c` tags in production! > We recommend to use either the `vX.Y.Z-a.b.c` tags or the `vX.Y-a.b.c` tags in production!
* `vX.Y.Z-a.b.c`, `vX.Y-a.b.c`: - `vX.Y.Z-a.b.c`, `vX.Y-a.b.c`:
These are release builds containing _NetBox version_ `vX.Y.Z`. These are release builds containing _NetBox version_ `vX.Y.Z`.
They contain the support files of _NetBox Docker version_ `a.b.c`. They contain the support files of _NetBox Docker version_ `a.b.c`.
You must use _NetBox Docker version_ `a.b.c` to guarantee the compatibility. You must use _NetBox Docker version_ `a.b.c` to guarantee the compatibility.
These images are automatically built from [the corresponding releases of NetBox][netbox-releases]. These images are automatically built from [the corresponding releases of NetBox][netbox-releases].
* `latest-a.b.c`: - `latest-a.b.c`:
These are release builds, containing the latest stable version of NetBox. These are release builds, containing the latest stable version of NetBox.
They contain the support files of _NetBox Docker version_ `a.b.c`. They contain the support files of _NetBox Docker version_ `a.b.c`.
You must use _NetBox Docker version_ `a.b.c` to guarantee the compatibility. You must use _NetBox Docker version_ `a.b.c` to guarantee the compatibility.
These images are automatically built from [the `master` branch of NetBox][netbox-master]. - `snapshot-a.b.c`:
* `snapshot-a.b.c`:
These are prerelease builds. These are prerelease builds.
They contain the support files of _NetBox Docker version_ `a.b.c`. They contain the support files of _NetBox Docker version_ `a.b.c`.
You must use _NetBox Docker version_ `a.b.c` to guarantee the compatibility. You must use _NetBox Docker version_ `a.b.c` to guarantee the compatibility.
These images are automatically built from the [`develop` branch of NetBox][netbox-develop]. These images are automatically built from the [`main` branch of NetBox][netbox-main].
For each of the above tag, there is an extra tag: For each of the above tag, there is an extra tag:
* `vX.Y.Z`, `vX.Y`: - `vX.Y.Z`, `vX.Y`:
This is the same version as `vX.Y.Z-a.b.c` (or `vX.Y-a.b.c`, respectively). This is the same version as `vX.Y.Z-a.b.c` (or `vX.Y-a.b.c`, respectively).
It always points to the latest version of _NetBox Docker_. - `latest`
* `latest`
This is the same version as `latest-a.b.c`. This is the same version as `latest-a.b.c`.
It always points to the latest version of _NetBox Docker_. It always points to the latest version of _NetBox Docker_.
* `snapshot` - `snapshot`
This is the same version as `snapshot-a.b.c`. This is the same version as `snapshot-a.b.c`.
It always points to the latest version of _NetBox Docker_. It always points to the latest version of _NetBox Docker_.
[netbox-releases]: https://github.com/netbox-community/netbox/releases [netbox-releases]: https://github.com/netbox-community/netbox/releases
[netbox-master]: https://github.com/netbox-community/netbox/tree/master [netbox-main]: https://github.com/netbox-community/netbox/tree/main
[netbox-develop]: https://github.com/netbox-community/netbox/tree/develop
## Documentation ## Documentation
Please refer [to our wiki on GitHub][netbox-docker-wiki] for further information on how to use the NetBox Docker image properly. Please refer [to our wiki on GitHub][netbox-docker-wiki] for further information on how to use the NetBox Docker image properly.
The wiki covers advanced topics such as using files for secrets, configuring TLS, deployment to Kubernetes, monitoring and configuring NAPALM and LDAP. The wiki covers advanced topics such as using files for secrets, configuring TLS, deployment to Kubernetes, monitoring and configuring LDAP.
Our wiki is a community effort. Our wiki is a community effort.
Feel free to correct errors, update outdated information or provide additional guides and insights. Feel free to correct errors, update outdated information or provide additional guides and insights.
@ -108,7 +110,7 @@ Feel free to correct errors, update outdated information or provide additional g
Feel free to ask questions in our [GitHub Community][netbox-community] Feel free to ask questions in our [GitHub Community][netbox-community]
or [join our Slack][netbox-docker-slack] and ask [in our channel `#netbox-docker`][netbox-docker-slack-channel], or [join our Slack][netbox-docker-slack] and ask [in our channel `#netbox-docker`][netbox-docker-slack-channel],
which is free to use and where there are almost always people online that can help you in the Slack channel. which is free to use and where there are almost always people online that can help you.
If you need help with using NetBox or developing for it or against it's API If you need help with using NetBox or developing for it or against it's API
you may find [the `#netbox` channel][netbox-slack-channel] on the same Slack instance very helpful. you may find [the `#netbox` channel][netbox-slack-channel] on the same Slack instance very helpful.
@ -119,16 +121,16 @@ you may find [the `#netbox` channel][netbox-slack-channel] on the same Slack ins
This project relies only on _Docker_ and _docker-compose_ meeting these requirements: This project relies only on _Docker_ and _docker-compose_ meeting these requirements:
* The _Docker version_ must be at least `20.10.10`. - The _Docker version_ must be at least `20.10.10`.
* The _containerd version_ must be at least `1.5.6`. - The _containerd version_ must be at least `1.5.6`.
* The _docker-compose version_ must be at least `1.28.0`. - The _docker-compose version_ must be at least `1.28.0`.
To check the version installed on your system run `docker --version` and `docker-compose --version`. To check the version installed on your system run `docker --version` and `docker compose version`.
## Updating ## Updating
Please read [the release notes][releases] carefully when updating to a new image version. Please read [the release notes][releases] carefully when updating to a new image version.
Note that the version of the NetBox Docker container image must stay in sync with the code. Note that the version of the NetBox Docker container image must stay in sync with the version of the Git repository.
If you update for the first time, be sure [to follow our _How To Update NetBox Docker_ guide in the wiki][netbox-docker-wiki-updating]. If you update for the first time, be sure [to follow our _How To Update NetBox Docker_ guide in the wiki][netbox-docker-wiki-updating].
@ -137,7 +139,8 @@ If you update for the first time, be sure [to follow our _How To Update NetBox D
## Rebuilding the Image ## Rebuilding the Image
`./build.sh` can be used to rebuild the container image. See `./build.sh --help` for more information. `./build.sh` can be used to rebuild the container image.
See `./build.sh --help` for more information or `./build-latest.sh` for an example.
For more details on custom builds [consult our wiki][netbox-docker-wiki-build]. For more details on custom builds [consult our wiki][netbox-docker-wiki-build].
@ -146,13 +149,15 @@ For more details on custom builds [consult our wiki][netbox-docker-wiki-build].
## Tests ## Tests
We have a test script. We have a test script.
It runs NetBox's own unit tests and ensures that all initializers work: It runs NetBox's own unit tests and ensures that NetBox starts:
```bash ```bash
IMAGE=netboxcommunity/netbox:latest ./test.sh IMAGE=docker.io/netboxcommunity/netbox:latest ./test.sh
``` ```
## Support ## Support
This repository is currently maintained by the community. This repository is currently maintained by the community.
The community is expected to help each other.
Please consider sponsoring the maintainers of this project. Please consider sponsoring the maintainers of this project.

View file

@ -1 +1 @@
2.4.0 3.4.2

5
actionlint.yml Normal file
View file

@ -0,0 +1,5 @@
---
paths:
.github/workflows/**/*.{yml,yaml}:
ignore:
- ".*ubuntu-24.04-arm.*"

View file

@ -0,0 +1,9 @@
#!/bin/bash
NEEDED_COMMANDS="curl jq docker skopeo"
for c in $NEEDED_COMMANDS; do
if ! command -v "$c" &>/dev/null; then
echo "⚠️ '$c' is not installed. Can't proceed with build."
exit 1
fi
done

View file

@ -1,82 +1,18 @@
#!/bin/bash #!/bin/bash
# Retrieves image configuration from public images in DockerHub
# Functions from https://gist.github.com/cirocosta/17ea17be7ac11594cb0f290b0a3ac0d1 check_if_tags_exists() {
# Optimised for our use case local image=$1
local tag=$2
skopeo list-tags "docker://$image" | jq -r ".Tags | contains([\"$tag\"])"
}
get_image_label() { get_image_label() {
local label=$1 local label=$1
local image=$2 local image=$2
local tag=$3 skopeo inspect "docker://$image" | jq -r ".Labels[\"$label\"]"
local token
token=$(_get_token "$image")
local digest
digest=$(_get_digest "$image" "$tag" "$token")
local retval="null"
if [ "$digest" != "null" ]; then
retval=$(_get_image_configuration "$image" "$token" "$digest" "$label")
fi
echo "$retval"
}
get_image_layers() {
local image=$1
local tag=$2
local token
token=$(_get_token "$image")
_get_layers "$image" "$tag" "$token"
} }
get_image_last_layer() { get_image_last_layer() {
local image=$1 local image=$1
local tag=$2 skopeo inspect "docker://$image" | jq -r ".Layers | last"
local token
token=$(_get_token "$image")
local layers
mapfile -t layers < <(_get_layers "$image" "$tag" "$token")
echo "${layers[-1]}"
}
_get_image_configuration() {
local image=$1
local token=$2
local digest=$3
local label=$4
curl \
--silent \
--location \
--header "Authorization: Bearer $token" \
"https://registry-1.docker.io/v2/$image/blobs/$digest" |
jq -r ".config.Labels.\"$label\""
}
_get_token() {
local image=$1
curl \
--silent \
"https://auth.docker.io/token?scope=repository:$image:pull&service=registry.docker.io" |
jq -r '.token'
}
_get_digest() {
local image=$1
local tag=$2
local token=$3
curl \
--silent \
--header "Accept: application/vnd.docker.distribution.manifest.v2+json" \
--header "Authorization: Bearer $token" \
"https://registry-1.docker.io/v2/$image/manifests/$tag" |
jq -r '.config.digest'
}
_get_layers() {
local image=$1
local tag=$2
local token=$3
curl \
--silent \
--header "Accept: application/vnd.docker.distribution.manifest.v2+json" \
--header "Authorization: Bearer $token" \
"https://registry-1.docker.io/v2/$image/manifests/$tag" |
jq -r '.layers[].digest'
} }

View file

@ -19,3 +19,14 @@ gh_env() {
echo "${@}" >>"${GITHUB_ENV}" echo "${@}" >>"${GITHUB_ENV}"
fi fi
} }
###
# Prints the output to the file defined in ${GITHUB_OUTPUT}.
# Only executes if ${GH_ACTION} is defined.
# Example Usage: gh_env "FOO_VAR=bar_value"
###
gh_out() {
if [ -n "${GH_ACTION}" ]; then
echo "${@}" >>"$GITHUB_OUTPUT"
fi
}

View file

@ -1,26 +1,27 @@
#!/bin/bash #!/bin/bash
# Builds the latest released version # Builds the latest released version
# Check if we have everything needed for the build
source ./build-functions/check-commands.sh
source ./build-functions/gh-functions.sh
echo "▶️ $0 $*" echo "▶️ $0 $*"
### CURL_ARGS=(
# Check for the jq library needed for parsing JSON --silent
### )
if ! command -v jq; then
echo "⚠️ jq command missing from \$PATH!"
exit 1
fi
### ###
# Checking for the presence of GITHUB_OAUTH_CLIENT_ID # Checking for the presence of GITHUB_TOKEN
# and GITHUB_OAUTH_CLIENT_SECRET
### ###
if [ -n "${GITHUB_OAUTH_CLIENT_ID}" ] && [ -n "${GITHUB_OAUTH_CLIENT_SECRET}" ]; then if [ -n "${GITHUB_TOKEN}" ]; then
echo "🗝 Performing authenticated Github API calls." echo "🗝 Performing authenticated Github API calls."
GITHUB_OAUTH_PARAMS="client_id=${GITHUB_OAUTH_CLIENT_ID}&client_secret=${GITHUB_OAUTH_CLIENT_SECRET}" CURL_ARGS+=(
--header "Authorization: Bearer ${GITHUB_TOKEN}"
)
else else
echo "🕶 Performing unauthenticated Github API calls. This might result in lower Github rate limits!" echo "🕶 Performing unauthenticated Github API calls. This might result in lower Github rate limits!"
GITHUB_OAUTH_PARAMS=""
fi fi
### ###
@ -42,31 +43,27 @@ fi
### ###
ORIGINAL_GITHUB_REPO="netbox-community/netbox" ORIGINAL_GITHUB_REPO="netbox-community/netbox"
GITHUB_REPO="${GITHUB_REPO-$ORIGINAL_GITHUB_REPO}" GITHUB_REPO="${GITHUB_REPO-$ORIGINAL_GITHUB_REPO}"
URL_RELEASES="https://api.github.com/repos/${GITHUB_REPO}/releases?${GITHUB_OAUTH_PARAMS}" URL_RELEASES="https://api.github.com/repos/${GITHUB_REPO}/releases"
# Composing the JQ commans to extract the most recent version number # Composing the JQ commans to extract the most recent version number
JQ_LATEST="group_by(.prerelease) | .[] | sort_by(.published_at) | reverse | .[0] | select(.prerelease==${PRERELEASE-false}) | .tag_name" JQ_LATEST="group_by(.prerelease) | .[] | sort_by(.published_at) | reverse | .[0] | select(.prerelease==${PRERELEASE-false}) | .tag_name"
CURL="curl -sS" CURL="curl"
# Querying the Github API to fetch the most recent version number # Querying the Github API to fetch the most recent version number
VERSION=$($CURL "${URL_RELEASES}" | jq -r "${JQ_LATEST}") VERSION=$($CURL "${CURL_ARGS[@]}" "${URL_RELEASES}" | jq -r "${JQ_LATEST}" 2>/dev/null)
### ###
# Check if the prerelease version is actually higher than stable version # Check if the prerelease version is actually higher than stable version
### ###
if [ "${PRERELEASE}" == "true" ]; then if [ "${PRERELEASE}" == "true" ]; then
JQ_STABLE="group_by(.prerelease) | .[] | sort_by(.published_at) | reverse | .[0] | select(.prerelease==false) | .tag_name" JQ_STABLE="group_by(.prerelease) | .[] | sort_by(.published_at) | reverse | .[0] | select(.prerelease==false) | .tag_name"
STABLE_VERSION=$($CURL "${URL_RELEASES}" | jq -r "${JQ_STABLE}") STABLE_VERSION=$($CURL "${CURL_ARGS[@]}" "${URL_RELEASES}" | jq -r "${JQ_STABLE}" 2>/dev/null)
# shellcheck disable=SC2003 MAJOR_STABLE=$(expr "${STABLE_VERSION}" : 'v\([0-9]\+\)')
MAJOR_STABLE=$(expr match "${STABLE_VERSION}" 'v\([0-9]\+\)') MINOR_STABLE=$(expr "${STABLE_VERSION}" : 'v[0-9]\+\.\([0-9]\+\)')
# shellcheck disable=SC2003 MAJOR_UNSTABLE=$(expr "${VERSION}" : 'v\([0-9]\+\)')
MINOR_STABLE=$(expr match "${STABLE_VERSION}" 'v[0-9]\+\.\([0-9]\+\)') MINOR_UNSTABLE=$(expr "${VERSION}" : 'v[0-9]\+\.\([0-9]\+\)')
# shellcheck disable=SC2003
MAJOR_UNSTABLE=$(expr match "${VERSION}" 'v\([0-9]\+\)')
# shellcheck disable=SC2003
MINOR_UNSTABLE=$(expr match "${VERSION}" 'v[0-9]\+\.\([0-9]\+\)')
if { if {
[ "${MAJOR_STABLE}" -eq "${MAJOR_UNSTABLE}" ] && [ "${MAJOR_STABLE}" -eq "${MAJOR_UNSTABLE}" ] &&
@ -75,10 +72,7 @@ if [ "${PRERELEASE}" == "true" ]; then
echo "❎ Latest unstable version '${VERSION}' is not higher than the latest stable version '$STABLE_VERSION'." echo "❎ Latest unstable version '${VERSION}' is not higher than the latest stable version '$STABLE_VERSION'."
if [ -z "$DEBUG" ]; then if [ -z "$DEBUG" ]; then
if [ -n "${GH_ACTION}" ]; then gh_out "skipped=true"
echo "::set-output name=skipped::true"
fi
exit 0 exit 0
else else
echo "⚠️ Would exit here with code '0', but DEBUG is enabled." echo "⚠️ Would exit here with code '0', but DEBUG is enabled."

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. TAG The version part of the image tag.
${_GREEN}Default:${_CLEAR} ${_GREEN}Default:${_CLEAR}
When <branch>=master: latest When <branch>=main: snapshot
When <branch>=develop: snapshot Else: same as <branch>
Else: same as <branch>
IMAGE_NAMES The names used for the image including the registry IMAGE_NAMES The names used for the image including the registry
Used for tagging the image. Used for tagging the image.
@ -61,9 +60,9 @@ DOCKERFILE The name of Dockerfile to use.
${_GREEN}Default:${_CLEAR} Dockerfile ${_GREEN}Default:${_CLEAR} Dockerfile
DOCKER_FROM The base image to use. DOCKER_FROM The base image to use.
${_GREEN}Default:${_CLEAR} 'ubuntu:22.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'
@ -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 - FINAL_DOCKER_TAG: The final value of the DOCKER_TAG env variable
${_GREEN}Default:${_CLEAR} undefined ${_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} ${_BOLD}Examples:${_CLEAR}
${0} master ${0} main
This will fetch the latest 'master' branch, build a Docker Image and tag it This will fetch the latest 'main' 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
'netboxcommunity/netbox:snapshot'. 'netboxcommunity/netbox:snapshot'.
${0} v2.6.6 ${0} v4.2.0
This will fetch the 'v2.6.6' tag, build a Docker Image and tag it This will fetch the 'v4.2.0' tag, build a Docker Image and tag it
'netboxcommunity/netbox:v2.6.6' and 'netboxcommunity/netbox:v2.6'. 'netboxcommunity/netbox:v4.2.0' and 'netboxcommunity/netbox:v4.2'.
${0} develop-2.7 ${0} feature
This will fetch the 'develop-2.7' branch, build a Docker Image and tag it This will fetch the 'feature' branch, build a Docker Image and tag it
'netboxcommunity/netbox:develop-2.7'. 'netboxcommunity/netbox:feature'.
SRC_ORG=cimnine ${0} feature-x SRC_ORG=cimnine ${0} feature-x
This will fetch the 'feature-x' branch from https://github.com/cimnine/netbox.git, This will fetch the 'feature-x' branch from https://github.com/cimnine/netbox.git,
@ -137,6 +135,10 @@ END_OF_HELP
fi fi
fi fi
# Check if we have everything needed for the build
source ./build-functions/check-commands.sh
# Load all build functions
source ./build-functions/get-public-image-config.sh
source ./build-functions/gh-functions.sh source ./build-functions/gh-functions.sh
IMAGE_NAMES="${IMAGE_NAMES-docker.io/netboxcommunity/netbox}" IMAGE_NAMES="${IMAGE_NAMES-docker.io/netboxcommunity/netbox}"
@ -170,7 +172,7 @@ if [ "${2}" != "--push-only" ] && [ -z "${SKIP_GIT}" ]; then
REMOTE_EXISTS=$(git ls-remote --heads --tags "${URL}" "${NETBOX_BRANCH}" | wc -l) REMOTE_EXISTS=$(git ls-remote --heads --tags "${URL}" "${NETBOX_BRANCH}" | wc -l)
if [ "${REMOTE_EXISTS}" == "0" ]; then if [ "${REMOTE_EXISTS}" == "0" ]; then
echo "❌ Remote branch '${NETBOX_BRANCH}' not found in '${URL}'; Nothing to do" echo "❌ Remote branch '${NETBOX_BRANCH}' not found in '${URL}'; Nothing to do"
gh_echo "::set-output name=skipped::true" gh_out "skipped=true"
exit 0 exit 0
fi fi
echo "🌐 Checking out '${NETBOX_BRANCH}' of NetBox from the url '${URL}' into '${NETBOX_PATH}'" echo "🌐 Checking out '${NETBOX_BRANCH}' of NetBox from the url '${URL}' into '${NETBOX_PATH}'"
@ -215,13 +217,13 @@ fi
# Determining the value for DOCKER_FROM # Determining the value for DOCKER_FROM
### ###
if [ -z "$DOCKER_FROM" ]; then if [ -z "$DOCKER_FROM" ]; then
DOCKER_FROM="ubuntu:22.04" DOCKER_FROM="docker.io/ubuntu:24.04"
fi fi
### ###
# Variables for labelling the docker image # Variables for labelling the docker image
### ###
BUILD_DATE="$(date -u '+%Y-%m-%dT%H:%M+00:00')" BUILD_DATE="$(date -u '+%Y-%m-%dT%H:%M:%S+00:00')"
if [ -d ".git" ] && [ -z "${SKIP_GIT}" ]; then if [ -d ".git" ] && [ -z "${SKIP_GIT}" ]; then
GIT_REF="$(git rev-parse HEAD)" GIT_REF="$(git rev-parse HEAD)"
@ -253,10 +255,7 @@ DOCKER_REGISTRY="${DOCKER_REGISTRY-docker.io}"
DOCKER_ORG="${DOCKER_ORG-netboxcommunity}" DOCKER_ORG="${DOCKER_ORG-netboxcommunity}"
DOCKER_REPO="${DOCKER_REPO-netbox}" DOCKER_REPO="${DOCKER_REPO-netbox}"
case "${NETBOX_BRANCH}" in case "${NETBOX_BRANCH}" in
master) main)
TAG="${TAG-latest}"
;;
develop)
TAG="${TAG-snapshot}" TAG="${TAG-snapshot}"
;; ;;
*) *)
@ -272,7 +271,7 @@ TARGET_DOCKER_TAG_PROJECT="${TARGET_DOCKER_TAG}-${PROJECT_VERSION}"
### ###
# composing the additional DOCKER_SHORT_TAG, # 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 # which is only relevant for version tags
# Also let "latest" follow the highest version # Also let "latest" follow the highest version
### ###
@ -300,39 +299,37 @@ if [ -n "${TARGET_DOCKER_SHORT_TAG}" ]; then
done done
fi fi
FINAL_DOCKER_TAG="${IMAGE_NAME_TAGS[0]}"
gh_env "FINAL_DOCKER_TAG=${IMAGE_NAME_TAGS[0]}" gh_env "FINAL_DOCKER_TAG=${IMAGE_NAME_TAGS[0]}"
### ###
# Checking if the build is necessary, # Checking if the build is necessary,
# meaning build only if one of those values changed: # meaning build only if one of those values changed:
# - a new tag is beeing created
# - base image digest # - base image digest
# - netbox git ref (Label: netbox.git-ref) # - netbox git ref (Label: netbox.git-ref)
# - netbox-docker git ref (Label: org.opencontainers.image.revision) # - netbox-docker git ref (Label: org.opencontainers.image.revision)
### ###
# Load information from registry (only for docker.io) # Load information from registry (only for first registry in "IMAGE_NAMES")
SHOULD_BUILD="false" SHOULD_BUILD="false"
BUILD_REASON="" BUILD_REASON=""
if [ -z "${GH_ACTION}" ]; then if [ -z "${GH_ACTION}" ]; then
# Asuming non Github builds should always proceed # Asuming non Github builds should always proceed
SHOULD_BUILD="true" SHOULD_BUILD="true"
BUILD_REASON="${BUILD_REASON} interactive" BUILD_REASON="${BUILD_REASON} interactive"
elif [[ "${IMAGE_NAME_TAGS[0]}" = docker.io* ]]; then elif [ "false" == "$(check_if_tags_exists "${IMAGE_NAMES[0]}" "$TARGET_DOCKER_TAG")" ]; then
source ./build-functions/get-public-image-config.sh SHOULD_BUILD="true"
IFS=':' read -ra DOCKER_FROM_SPLIT <<<"${DOCKER_FROM}" BUILD_REASON="${BUILD_REASON} newtag"
if ! [[ ${DOCKER_FROM_SPLIT[0]} =~ .*/.* ]]; then else
# Need to use "library/..." for images the have no two part name echo "Checking labels for '${FINAL_DOCKER_TAG}'"
DOCKER_FROM_SPLIT[0]="library/${DOCKER_FROM_SPLIT[0]}" BASE_LAST_LAYER=$(get_image_last_layer "${DOCKER_FROM}")
fi OLD_BASE_LAST_LAYER=$(get_image_label netbox.last-base-image-layer "${FINAL_DOCKER_TAG}")
IFS='/' read -ra ORG_REPO <<<"${IMAGE_NAMES[0]}" NETBOX_GIT_REF_OLD=$(get_image_label netbox.git-ref "${FINAL_DOCKER_TAG}")
echo "Checking labels for '${ORG_REPO[1]}' and '${ORG_REPO[2]}'" GIT_REF_OLD=$(get_image_label org.opencontainers.image.revision "${FINAL_DOCKER_TAG}")
BASE_LAST_LAYER=$(get_image_last_layer "${DOCKER_FROM_SPLIT[0]}" "${DOCKER_FROM_SPLIT[1]}")
mapfile -t IMAGES_LAYERS_OLD < <(get_image_layers "${ORG_REPO[1]}"/"${ORG_REPO[2]}" "${TAG}")
NETBOX_GIT_REF_OLD=$(get_image_label netbox.git-ref "${ORG_REPO[1]}"/"${ORG_REPO[2]}" "${TAG}")
GIT_REF_OLD=$(get_image_label org.opencontainers.image.revision "${ORG_REPO[1]}"/"${ORG_REPO[2]}" "${TAG}")
if ! printf '%s\n' "${IMAGES_LAYERS_OLD[@]}" | grep -q -P "^${BASE_LAST_LAYER}\$"; then if [ "${BASE_LAST_LAYER}" != "${OLD_BASE_LAST_LAYER}" ]; then
SHOULD_BUILD="true" SHOULD_BUILD="true"
BUILD_REASON="${BUILD_REASON} debian" BUILD_REASON="${BUILD_REASON} ubuntu"
fi fi
if [ "${NETBOX_GIT_REF}" != "${NETBOX_GIT_REF_OLD}" ]; then if [ "${NETBOX_GIT_REF}" != "${NETBOX_GIT_REF_OLD}" ]; then
SHOULD_BUILD="true" SHOULD_BUILD="true"
@ -342,20 +339,22 @@ elif [[ "${IMAGE_NAME_TAGS[0]}" = docker.io* ]]; then
SHOULD_BUILD="true" SHOULD_BUILD="true"
BUILD_REASON="${BUILD_REASON} netbox-docker" BUILD_REASON="${BUILD_REASON} netbox-docker"
fi fi
else
SHOULD_BUILD="true"
BUILD_REASON="${BUILD_REASON} no-check"
fi fi
if [ "${SHOULD_BUILD}" != "true" ]; then if [ "${SHOULD_BUILD}" != "true" ]; then
echo "Build skipped because sources didn't change" echo "Build skipped because sources didn't change"
echo "::set-output name=skipped::true" gh_out "skipped=true"
exit 0 # Nothing to do -> exit exit 0 # Nothing to do -> exit
else else
gh_echo "::set-output name=skipped::false" gh_out "skipped=false"
fi fi
gh_echo "::endgroup::" gh_echo "::endgroup::"
if [ "${CHECK_ONLY}" = "true" ]; then
echo "Only check if build needed was requested. Exiting"
exit 0
fi
### ###
# Build the image # Build the image
### ###
@ -393,6 +392,7 @@ fi
if [ -n "${BUILD_REASON}" ]; then if [ -n "${BUILD_REASON}" ]; then
BUILD_REASON=$(sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//' <<<"$BUILD_REASON") BUILD_REASON=$(sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//' <<<"$BUILD_REASON")
DOCKER_BUILD_ARGS+=(--label "netbox.build-reason=${BUILD_REASON}") DOCKER_BUILD_ARGS+=(--label "netbox.build-reason=${BUILD_REASON}")
DOCKER_BUILD_ARGS+=(--label "netbox.last-base-image-layer=${BASE_LAST_LAYER}")
fi fi
# --build-arg # --build-arg

View file

@ -58,22 +58,27 @@ _BASE_DIR = dirname(dirname(abspath(__file__)))
# #
# Example: ALLOWED_HOSTS = ['netbox.example.com', 'netbox.internal.local'] # Example: ALLOWED_HOSTS = ['netbox.example.com', 'netbox.internal.local']
ALLOWED_HOSTS = environ.get('ALLOWED_HOSTS', '*').split(' ') ALLOWED_HOSTS = environ.get('ALLOWED_HOSTS', '*').split(' ')
# ensure that '*' or 'localhost' is always in ALLOWED_HOSTS (needed for health checks)
if '*' not in ALLOWED_HOSTS and 'localhost' not in ALLOWED_HOSTS:
ALLOWED_HOSTS.append('localhost')
# 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
@ -83,6 +88,10 @@ REDIS = {
'tasks': { 'tasks': {
'HOST': environ.get('REDIS_HOST', 'localhost'), 'HOST': environ.get('REDIS_HOST', 'localhost'),
'PORT': _environ_get_and_map('REDIS_PORT', 6379, _AS_INT), 'PORT': _environ_get_and_map('REDIS_PORT', 6379, _AS_INT),
'SENTINELS': [tuple(uri.split(':')) for uri in _environ_get_and_map('REDIS_SENTINELS', '', _AS_LIST) if uri != ''],
'SENTINEL_SERVICE': environ.get('REDIS_SENTINEL_SERVICE', 'default'),
'SENTINEL_TIMEOUT': _environ_get_and_map('REDIS_SENTINEL_TIMEOUT', 10, _AS_INT),
'USERNAME': environ.get('REDIS_USERNAME', ''),
'PASSWORD': _read_secret('redis_password', environ.get('REDIS_PASSWORD', '')), 'PASSWORD': _read_secret('redis_password', environ.get('REDIS_PASSWORD', '')),
'DATABASE': _environ_get_and_map('REDIS_DATABASE', 0, _AS_INT), 'DATABASE': _environ_get_and_map('REDIS_DATABASE', 0, _AS_INT),
'SSL': _environ_get_and_map('REDIS_SSL', 'False', _AS_BOOL), 'SSL': _environ_get_and_map('REDIS_SSL', 'False', _AS_BOOL),
@ -91,6 +100,9 @@ REDIS = {
'caching': { 'caching': {
'HOST': environ.get('REDIS_CACHE_HOST', environ.get('REDIS_HOST', 'localhost')), 'HOST': environ.get('REDIS_CACHE_HOST', environ.get('REDIS_HOST', 'localhost')),
'PORT': _environ_get_and_map('REDIS_CACHE_PORT', environ.get('REDIS_PORT', '6379'), _AS_INT), 'PORT': _environ_get_and_map('REDIS_CACHE_PORT', environ.get('REDIS_PORT', '6379'), _AS_INT),
'SENTINELS': [tuple(uri.split(':')) for uri in _environ_get_and_map('REDIS_CACHE_SENTINELS', '', _AS_LIST) if uri != ''],
'SENTINEL_SERVICE': environ.get('REDIS_CACHE_SENTINEL_SERVICE', environ.get('REDIS_SENTINEL_SERVICE', 'default')),
'USERNAME': environ.get('REDIS_CACHE_USERNAME', environ.get('REDIS_USERNAME', '')),
'PASSWORD': _read_secret('redis_cache_password', environ.get('REDIS_CACHE_PASSWORD', environ.get('REDIS_PASSWORD', ''))), 'PASSWORD': _read_secret('redis_cache_password', environ.get('REDIS_CACHE_PASSWORD', environ.get('REDIS_PASSWORD', ''))),
'DATABASE': _environ_get_and_map('REDIS_CACHE_DATABASE', '1', _AS_INT), 'DATABASE': _environ_get_and_map('REDIS_CACHE_DATABASE', '1', _AS_INT),
'SSL': _environ_get_and_map('REDIS_CACHE_SSL', environ.get('REDIS_SSL', 'False'), _AS_BOOL), 'SSL': _environ_get_and_map('REDIS_CACHE_SSL', environ.get('REDIS_SSL', 'False'), _AS_BOOL),
@ -104,6 +116,11 @@ REDIS = {
# https://docs.djangoproject.com/en/stable/ref/settings/#std:setting-SECRET_KEY # https://docs.djangoproject.com/en/stable/ref/settings/#std:setting-SECRET_KEY
SECRET_KEY = _read_secret('secret_key', environ.get('SECRET_KEY', '')) SECRET_KEY = _read_secret('secret_key', environ.get('SECRET_KEY', ''))
API_TOKEN_PEPPERS = {}
if api_token_pepper := _read_secret('api_token_pepper_1', environ.get('API_TOKEN_PEPPER_1', '')):
API_TOKEN_PEPPERS.update({1: api_token_pepper})
######################### #########################
# # # #
@ -131,17 +148,16 @@ if 'BANNER_BOTTOM' in environ:
if 'BANNER_LOGIN' in environ: if 'BANNER_LOGIN' in environ:
BANNER_LOGIN = environ.get('BANNER_LOGIN', None) BANNER_LOGIN = environ.get('BANNER_LOGIN', None)
# Base URL path if accessing NetBox within a directory. For example, if installed at http://example.com/netbox/, set:
# BASE_PATH = 'netbox/'
BASE_PATH = environ.get('BASE_PATH', '')
# Maximum number of days to retain logged changes. Set to 0 to retain changes indefinitely. (Default: 90) # Maximum number of days to retain logged changes. Set to 0 to retain changes indefinitely. (Default: 90)
if 'CHANGELOG_RETENTION' in environ: if 'CHANGELOG_RETENTION' in environ:
CHANGELOG_RETENTION = _environ_get_and_map('CHANGELOG_RETENTION', None, _AS_INT) CHANGELOG_RETENTION = _environ_get_and_map('CHANGELOG_RETENTION', None, _AS_INT)
# Maximum number of days to retain job results (scripts and reports). Set to 0 to retain job results in the database indefinitely. (Default: 90) # Maximum number of days to retain job results (scripts and reports). Set to 0 to retain job results in the database indefinitely. (Default: 90)
if 'JOBRESULT_RETENTION' in environ: if 'JOB_RETENTION' in environ:
JOBRESULT_RETENTION = _environ_get_and_map('JOBRESULT_RETENTION', None, _AS_INT) JOB_RETENTION = _environ_get_and_map('JOB_RETENTION', None, _AS_INT)
# JOBRESULT_RETENTION was renamed to JOB_RETENTION in the v3.5.0 release of NetBox. For backwards compatibility, map JOBRESULT_RETENTION to JOB_RETENTION
elif 'JOBRESULT_RETENTION' in environ:
JOB_RETENTION = _environ_get_and_map('JOBRESULT_RETENTION', None, _AS_INT)
# API Cross-Origin Resource Sharing (CORS) settings. If CORS_ORIGIN_ALLOW_ALL is set to True, all origins will be # API Cross-Origin Resource Sharing (CORS) settings. If CORS_ORIGIN_ALLOW_ALL is set to True, all origins will be
# allowed. Otherwise, define a list of allowed origins using either CORS_ORIGIN_WHITELIST or # allowed. Otherwise, define a list of allowed origins using either CORS_ORIGIN_WHITELIST or
@ -179,15 +195,22 @@ EMAIL = {
if 'ENFORCE_GLOBAL_UNIQUE' in environ: if 'ENFORCE_GLOBAL_UNIQUE' in environ:
ENFORCE_GLOBAL_UNIQUE = _environ_get_and_map('ENFORCE_GLOBAL_UNIQUE', None, _AS_BOOL) ENFORCE_GLOBAL_UNIQUE = _environ_get_and_map('ENFORCE_GLOBAL_UNIQUE', None, _AS_BOOL)
# By default, netbox sends census reporting data using a single HTTP request each time a worker starts.
# This data enables the project maintainers to estimate how many NetBox deployments exist and track the adoption of new versions over time.
# The only data reported by this function are the NetBox version, Python version, and a pseudorandom unique identifier.
# To opt out of census reporting, set CENSUS_REPORTING_ENABLED to False.
if 'CENSUS_REPORTING_ENABLED' in environ:
CENSUS_REPORTING_ENABLED = _environ_get_and_map('CENSUS_REPORTING_ENABLED', None, _AS_BOOL)
# Exempt certain models from the enforcement of view permissions. Models listed here will be viewable by all users and # Exempt certain models from the enforcement of view permissions. Models listed here will be viewable by all users and
# by anonymous users. List models in the form `<app>.<model>`. Add '*' to this list to exempt all models. # by anonymous users. List models in the form `<app>.<model>`. Add '*' to this list to exempt all models.
EXEMPT_VIEW_PERMISSIONS = _environ_get_and_map('EXEMPT_VIEW_PERMISSIONS', '', _AS_LIST) EXEMPT_VIEW_PERMISSIONS = _environ_get_and_map('EXEMPT_VIEW_PERMISSIONS', '', _AS_LIST)
# HTTP proxies NetBox should use when sending outbound HTTP requests (e.g. for webhooks). # HTTP proxies NetBox should use when sending outbound HTTP requests (e.g. for webhooks).
# HTTP_PROXIES = { HTTP_PROXIES = {
# 'http': 'http://10.10.1.10:3128', 'http': environ.get('HTTP_PROXY', None),
# 'https': 'http://10.10.1.10:1080', 'https': environ.get('HTTPS_PROXY', None),
# } }
# IP addresses recognized as internal to the system. The debugging toolbar will be available only to clients accessing # IP addresses recognized as internal to the system. The debugging toolbar will be available only to clients accessing
# NetBox from an internal IP. # NetBox from an internal IP.
@ -205,9 +228,9 @@ if 'GRAPHQL_ENABLED' in environ:
# authenticated to NetBox indefinitely. # authenticated to NetBox indefinitely.
LOGIN_PERSISTENCE = _environ_get_and_map('LOGIN_PERSISTENCE', 'False', _AS_BOOL) LOGIN_PERSISTENCE = _environ_get_and_map('LOGIN_PERSISTENCE', 'False', _AS_BOOL)
# Setting this to True will permit only authenticated users to access any part of NetBox. By default, anonymous users # When enabled, only authenticated users are permitted to access any part of NetBox.
# are permitted to access most data in NetBox (excluding secrets) but not make any changes. # Disabling this will allow unauthenticated users to access most areas of NetBox (but not make any changes).
LOGIN_REQUIRED = _environ_get_and_map('LOGIN_REQUIRED', 'False', _AS_BOOL) LOGIN_REQUIRED = _environ_get_and_map('LOGIN_REQUIRED', 'True', _AS_BOOL)
# The length of time (in seconds) for which a user will remain logged into the web UI before being prompted to # The length of time (in seconds) for which a user will remain logged into the web UI before being prompted to
# re-authenticate. (Default: 1209600 [14 days]) # re-authenticate. (Default: 1209600 [14 days])
@ -234,20 +257,6 @@ MEDIA_ROOT = environ.get('MEDIA_ROOT', join(_BASE_DIR, 'media'))
# Expose Prometheus monitoring metrics at the HTTP endpoint '/metrics' # Expose Prometheus monitoring metrics at the HTTP endpoint '/metrics'
METRICS_ENABLED = _environ_get_and_map('METRICS_ENABLED', 'False', _AS_BOOL) METRICS_ENABLED = _environ_get_and_map('METRICS_ENABLED', 'False', _AS_BOOL)
# Credentials that NetBox will uses to authenticate to devices when connecting via NAPALM.
if 'NAPALM_USERNAME' in environ:
NAPALM_USERNAME = environ.get('NAPALM_USERNAME', None)
if 'NAPALM_PASSWORD' in environ:
NAPALM_PASSWORD = _read_secret('napalm_password', environ.get('NAPALM_PASSWORD', None))
# NAPALM timeout (in seconds). (Default: 30)
if 'NAPALM_TIMEOUT' in environ:
NAPALM_TIMEOUT = _environ_get_and_map('NAPALM_TIMEOUT', None, _AS_INT)
# # NAPALM optional arguments (see http://napalm.readthedocs.io/en/latest/support/#optional-arguments). Arguments must
# # be provided as a dictionary.
# NAPALM_ARGS = None
# Determine how many objects to display per page within a list. (Default: 50) # Determine how many objects to display per page within a list. (Default: 50)
if 'PAGINATE_COUNT' in environ: if 'PAGINATE_COUNT' in environ:
PAGINATE_COUNT = _environ_get_and_map('PAGINATE_COUNT', None, _AS_INT) PAGINATE_COUNT = _environ_get_and_map('PAGINATE_COUNT', None, _AS_INT)
@ -284,29 +293,32 @@ if 'RACK_ELEVATION_DEFAULT_UNIT_WIDTH' in environ:
RACK_ELEVATION_DEFAULT_UNIT_WIDTH = _environ_get_and_map('RACK_ELEVATION_DEFAULT_UNIT_WIDTH', None, _AS_INT) RACK_ELEVATION_DEFAULT_UNIT_WIDTH = _environ_get_and_map('RACK_ELEVATION_DEFAULT_UNIT_WIDTH', None, _AS_INT)
# Remote authentication support # Remote authentication support
REMOTE_AUTH_ENABLED = _environ_get_and_map('REMOTE_AUTH_ENABLED', 'False', _AS_BOOL) REMOTE_AUTH_AUTO_CREATE_GROUPS = _environ_get_and_map('REMOTE_AUTH_AUTO_CREATE_GROUPS', 'False', _AS_BOOL)
REMOTE_AUTH_BACKEND = environ.get('REMOTE_AUTH_BACKEND', 'netbox.authentication.RemoteUserBackend') REMOTE_AUTH_AUTO_CREATE_USER = _environ_get_and_map('REMOTE_AUTH_AUTO_CREATE_USER', 'False', _AS_BOOL)
REMOTE_AUTH_HEADER = environ.get('REMOTE_AUTH_HEADER', 'HTTP_REMOTE_USER') REMOTE_AUTH_BACKEND = _environ_get_and_map('REMOTE_AUTH_BACKEND', 'netbox.authentication.RemoteUserBackend', _AS_LIST)
REMOTE_AUTH_AUTO_CREATE_USER = _environ_get_and_map('REMOTE_AUTH_AUTO_CREATE_USER', 'True', _AS_BOOL)
REMOTE_AUTH_DEFAULT_GROUPS = _environ_get_and_map('REMOTE_AUTH_DEFAULT_GROUPS', '', _AS_LIST) REMOTE_AUTH_DEFAULT_GROUPS = _environ_get_and_map('REMOTE_AUTH_DEFAULT_GROUPS', '', _AS_LIST)
# REMOTE_AUTH_DEFAULT_PERMISSIONS = {} # REMOTE_AUTH_DEFAULT_PERMISSIONS = {} # dicts can't be configured via environment variables. See extra.py instead.
REMOTE_AUTH_ENABLED = _environ_get_and_map('REMOTE_AUTH_ENABLED', 'False', _AS_BOOL)
REMOTE_AUTH_GROUP_HEADER = _environ_get_and_map('REMOTE_AUTH_GROUP_HEADER', 'HTTP_REMOTE_USER_GROUP')
REMOTE_AUTH_GROUP_SEPARATOR = _environ_get_and_map('REMOTE_AUTH_GROUP_SEPARATOR', '|')
REMOTE_AUTH_GROUP_SYNC_ENABLED = _environ_get_and_map('REMOTE_AUTH_GROUP_SYNC_ENABLED', 'False', _AS_BOOL)
REMOTE_AUTH_HEADER = environ.get('REMOTE_AUTH_HEADER', 'HTTP_REMOTE_USER')
REMOTE_AUTH_USER_EMAIL = environ.get('REMOTE_AUTH_USER_EMAIL', 'HTTP_REMOTE_USER_EMAIL')
REMOTE_AUTH_USER_FIRST_NAME = environ.get('REMOTE_AUTH_USER_FIRST_NAME', 'HTTP_REMOTE_USER_FIRST_NAME')
REMOTE_AUTH_USER_LAST_NAME = environ.get('REMOTE_AUTH_USER_LAST_NAME', 'HTTP_REMOTE_USER_LAST_NAME')
REMOTE_AUTH_SUPERUSER_GROUPS = _environ_get_and_map('REMOTE_AUTH_SUPERUSER_GROUPS', '', _AS_LIST)
REMOTE_AUTH_SUPERUSERS = _environ_get_and_map('REMOTE_AUTH_SUPERUSERS', '', _AS_LIST)
REMOTE_AUTH_STAFF_GROUPS = _environ_get_and_map('REMOTE_AUTH_STAFF_GROUPS', '', _AS_LIST)
REMOTE_AUTH_STAFF_USERS = _environ_get_and_map('REMOTE_AUTH_STAFF_USERS', '', _AS_LIST)
# This repository is used to check whether there is a new release of NetBox available. Set to None to disable the # 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. # 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) RELEASE_CHECK_URL = environ.get('RELEASE_CHECK_URL', None)
# RELEASE_CHECK_URL = 'https://api.github.com/repos/netbox-community/netbox/releases' # RELEASE_CHECK_URL = 'https://api.github.com/repos/netbox-community/netbox/releases'
# The file path where custom reports will be stored. A trailing slash is not needed. Note that the default value of
# this setting is derived from the installed location.
REPORTS_ROOT = environ.get('REPORTS_ROOT', '/etc/netbox/reports')
# Maximum execution time for background tasks, in seconds. # Maximum execution time for background tasks, in seconds.
RQ_DEFAULT_TIMEOUT = _environ_get_and_map('RQ_DEFAULT_TIMEOUT', 300, _AS_INT) RQ_DEFAULT_TIMEOUT = _environ_get_and_map('RQ_DEFAULT_TIMEOUT', 300, _AS_INT)
# The file path where custom scripts will be stored. A trailing slash is not needed. Note that the default value of
# this setting is derived from the installed location.
SCRIPTS_ROOT = environ.get('SCRIPTS_ROOT', '/etc/netbox/scripts')
# The name to use for the csrf token cookie. # The name to use for the csrf token cookie.
CSRF_COOKIE_NAME = environ.get('CSRF_COOKIE_NAME', 'csrftoken') CSRF_COOKIE_NAME = environ.get('CSRF_COOKIE_NAME', 'csrftoken')
@ -318,6 +330,23 @@ CSRF_TRUSTED_ORIGINS = _environ_get_and_map('CSRF_TRUSTED_ORIGINS', '', _AS_LIST
# The name to use for the session cookie. # The name to use for the session cookie.
SESSION_COOKIE_NAME = environ.get('SESSION_COOKIE_NAME', 'sessionid') SESSION_COOKIE_NAME = environ.get('SESSION_COOKIE_NAME', 'sessionid')
# If true, the `includeSubDomains` directive will be included in the HTTP Strict Transport Security (HSTS) header.
# This directive instructs the browser to apply the HSTS policy to all subdomains of the current domain.
SECURE_HSTS_INCLUDE_SUBDOMAINS = _environ_get_and_map('SECURE_HSTS_INCLUDE_SUBDOMAINS', 'False', _AS_BOOL)
# If true, the `preload` directive will be included in the HTTP Strict Transport Security (HSTS) header.
# This directive instructs the browser to preload the site in HTTPS. Browsers that use the HSTS preload list will force the
# site to be accessed via HTTPS even if the user types HTTP in the address bar.
SECURE_HSTS_PRELOAD = _environ_get_and_map('SECURE_HSTS_PRELOAD', 'False', _AS_BOOL)
# If set to a non-zero integer value, the SecurityMiddleware sets the HTTP Strict Transport Security (HSTS) header on all
# responses that do not already have it. This will instruct the browser that the website must be accessed via HTTPS,
# blocking any HTTP request.
SECURE_HSTS_SECONDS = _environ_get_and_map('SECURE_HSTS_SECONDS', 0, _AS_INT)
# If true, all non-HTTPS requests will be automatically redirected to use HTTPS.
SECURE_SSL_REDIRECT = _environ_get_and_map('SECURE_SSL_REDIRECT', 'False', _AS_BOOL)
# By default, NetBox will store session data in the database. Alternatively, a file path can be specified here to use # By default, NetBox will store session data in the database. Alternatively, a file path can be specified here to use
# local file storage instead. (This can be useful for enabling authentication on a standby instance with read-only # local file storage instead. (This can be useful for enabling authentication on a standby instance with read-only
# database access.) Note that the user as which NetBox runs must have read and write permissions to this path. # database access.) Note that the user as which NetBox runs must have read and write permissions to this path.
@ -326,11 +355,5 @@ SESSION_FILE_PATH = environ.get('SESSION_FILE_PATH', environ.get('SESSIONS_ROOT'
# Time zone (default: UTC) # Time zone (default: UTC)
TIME_ZONE = environ.get('TIME_ZONE', 'UTC') TIME_ZONE = environ.get('TIME_ZONE', 'UTC')
# Date/time formatting. See the following link for supported formats: # If true disables miscellaneous functionality which depends on access to the Internet.
# https://docs.djangoproject.com/en/stable/ref/templates/builtins/#date ISOLATED_DEPLOYMENT = _environ_get_and_map('ISOLATED_DEPLOYMENT', 'False', _AS_BOOL)
DATE_FORMAT = environ.get('DATE_FORMAT', 'N j, Y')
SHORT_DATE_FORMAT = environ.get('SHORT_DATE_FORMAT', 'Y-m-d')
TIME_FORMAT = environ.get('TIME_FORMAT', 'g:i a')
SHORT_TIME_FORMAT = environ.get('SHORT_TIME_FORMAT', 'H:i:s')
DATETIME_FORMAT = environ.get('DATETIME_FORMAT', 'N j, Y g:i a')
SHORT_DATETIME_FORMAT = environ.get('SHORT_DATETIME_FORMAT', 'Y-m-d H:i')

View file

@ -15,12 +15,6 @@
# 'file', 'ftp', 'ftps', 'http', 'https', 'irc', 'mailto', 'sftp', 'ssh', 'tel', 'telnet', 'tftp', 'vnc', 'xmpp', # 'file', 'ftp', 'ftps', 'http', 'https', 'irc', 'mailto', 'sftp', 'ssh', 'tel', 'telnet', 'tftp', 'vnc', 'xmpp',
# ) # )
## NAPALM optional arguments (see http://napalm.readthedocs.io/en/latest/support/#optional-arguments). Arguments must
## be provided as a dictionary.
# NAPALM_ARGS = {}
## Enable installed plugins. Add the name of each plugin to the list. ## Enable installed plugins. Add the name of each plugin to the list.
# from netbox.configuration.configuration import PLUGINS # from netbox.configuration.configuration import PLUGINS
# PLUGINS.append('my_plugin') # PLUGINS.append('my_plugin')

View file

@ -61,18 +61,26 @@ LDAP_CA_CERT_FILE = environ.get('LDAP_CA_CERT_FILE', None)
AUTH_LDAP_USER_SEARCH_BASEDN = environ.get('AUTH_LDAP_USER_SEARCH_BASEDN', '') AUTH_LDAP_USER_SEARCH_BASEDN = environ.get('AUTH_LDAP_USER_SEARCH_BASEDN', '')
AUTH_LDAP_USER_SEARCH_ATTR = environ.get('AUTH_LDAP_USER_SEARCH_ATTR', 'sAMAccountName') AUTH_LDAP_USER_SEARCH_ATTR = environ.get('AUTH_LDAP_USER_SEARCH_ATTR', 'sAMAccountName')
AUTH_LDAP_USER_SEARCH_FILTER: str = environ.get(
'AUTH_LDAP_USER_SEARCH_FILTER', f'({AUTH_LDAP_USER_SEARCH_ATTR}=%(user)s)'
)
AUTH_LDAP_USER_SEARCH = LDAPSearch( AUTH_LDAP_USER_SEARCH = LDAPSearch(
AUTH_LDAP_USER_SEARCH_BASEDN, AUTH_LDAP_USER_SEARCH_BASEDN, ldap.SCOPE_SUBTREE, AUTH_LDAP_USER_SEARCH_FILTER
ldap.SCOPE_SUBTREE,
"(" + AUTH_LDAP_USER_SEARCH_ATTR + "=%(user)s)"
) )
# This search ought to return all groups to which the user belongs. django_auth_ldap uses this to determine group # This search ought to return all groups to which the user belongs. django_auth_ldap uses this to determine group
# heirarchy. # heirarchy.
AUTH_LDAP_GROUP_SEARCH_BASEDN = environ.get('AUTH_LDAP_GROUP_SEARCH_BASEDN', '') AUTH_LDAP_GROUP_SEARCH_BASEDN = environ.get('AUTH_LDAP_GROUP_SEARCH_BASEDN', '')
AUTH_LDAP_GROUP_SEARCH_CLASS = environ.get('AUTH_LDAP_GROUP_SEARCH_CLASS', 'group') AUTH_LDAP_GROUP_SEARCH_CLASS = environ.get('AUTH_LDAP_GROUP_SEARCH_CLASS', 'group')
AUTH_LDAP_GROUP_SEARCH = LDAPSearch(AUTH_LDAP_GROUP_SEARCH_BASEDN, ldap.SCOPE_SUBTREE,
"(objectClass=" + AUTH_LDAP_GROUP_SEARCH_CLASS + ")") AUTH_LDAP_GROUP_SEARCH_FILTER: str = environ.get(
'AUTH_LDAP_GROUP_SEARCH_FILTER', f'(objectclass={AUTH_LDAP_GROUP_SEARCH_CLASS})'
)
AUTH_LDAP_GROUP_SEARCH = LDAPSearch(
AUTH_LDAP_GROUP_SEARCH_BASEDN, ldap.SCOPE_SUBTREE, AUTH_LDAP_GROUP_SEARCH_FILTER
)
AUTH_LDAP_GROUP_TYPE = _import_group_type(environ.get('AUTH_LDAP_GROUP_TYPE', 'GroupOfNamesType')) AUTH_LDAP_GROUP_TYPE = _import_group_type(environ.get('AUTH_LDAP_GROUP_TYPE', 'GroupOfNamesType'))
# Define a group required to login. # Define a group required to login.
@ -101,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

@ -1,5 +1,22 @@
version: '3.4'
services: services:
netbox: netbox:
ports: ports:
- 8000:8080 - "8000:8080"
# If you want the Nginx unit status page visible from the
# outside of the container add the following port mapping:
# - "8001:8081"
# healthcheck:
# Time for which the health check can fail after the container is started.
# This depends mostly on the performance of your database. On the first start,
# when all tables need to be created the start_period should be higher than on
# subsequent starts. For the first start after major version upgrades of NetBox
# the start_period might also need to be set higher.
# Default value in our docker-compose.yml is 60s
# start_period: 90s
# environment:
# SKIP_SUPERUSER: "false"
# SUPERUSER_API_TOKEN: ""
# SUPERUSER_EMAIL: ""
# SUPERUSER_NAME: ""
# SUPERUSER_PASSWORD: ""

View file

@ -0,0 +1,5 @@
services:
netbox:
ports:
- "127.0.0.1:8000:8080"

View file

@ -1,44 +1,61 @@
version: '3.4'
services: services:
netbox: netbox: &netbox
image: ${IMAGE-netboxcommunity/netbox:latest} image: ${IMAGE-docker.io/netboxcommunity/netbox:latest}
depends_on: depends_on:
postgres: postgres:
condition: service_healthy condition: service_healthy
redis: redis:
condition: service_started condition: service_healthy
redis-cache: redis-cache:
condition: service_started condition: service_healthy
env_file: env/netbox.env env_file: env/netbox.env
user: 'unit:root' user: "unit:root"
volumes: volumes:
- ./configuration:/etc/netbox/config:z,ro - ./test-configuration/test_config.py:/etc/netbox/config/test_config.py:z,ro
- ./test-configuration/logging.py:/etc/netbox/config/logging.py:z,ro healthcheck:
- ./reports:/etc/netbox/reports:z,ro test: curl -f http://localhost:8080/login/ || exit 1
- ./scripts:/etc/netbox/scripts:z,ro start_period: ${NETBOX_START_PERIOD-120s}
- netbox-media-files:/opt/netbox/netbox/media:z timeout: 3s
interval: 15s
netbox-worker:
<<: *netbox
command:
- /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
timeout: 3s
interval: 15s
postgres: postgres:
image: postgres:15-alpine image: docker.io/postgres:17-alpine
env_file: env/postgres.env env_file: env/postgres.env
healthcheck: healthcheck:
test: ["CMD-SHELL", "pg_isready"] test: pg_isready -q -t 2 -d $$POSTGRES_DB -U $$POSTGRES_USER ## $$ because of docker-compose
interval: 10s start_period: 20s
interval: 1s
timeout: 5s timeout: 5s
retries: 5 retries: 5
redis:
image: redis:7-alpine redis: &redis
image: docker.io/valkey/valkey:8.1-alpine
command: command:
- sh - sh
- -c # this is to evaluate the $REDIS_PASSWORD from the env - -c # this is to evaluate the $REDIS_PASSWORD from the env
- redis-server --appendonly yes --requirepass $$REDIS_PASSWORD ## $$ because of docker-compose - valkey-server --save "" --appendonly no --requirepass $$REDIS_PASSWORD ## $$ because of docker-compose
env_file: env/redis.env env_file: env/redis.env
healthcheck:
test: '[ $$(valkey-cli --pass "$${REDIS_PASSWORD}" ping) = ''PONG'' ]'
start_period: 5s
timeout: 3s
interval: 1s
retries: 5
redis-cache: redis-cache:
image: redis:7-alpine <<: *redis
command:
- sh
- -c # this is to evaluate the $REDIS_PASSWORD from the env
- redis-server --requirepass $$REDIS_PASSWORD ## $$ because of docker-compose
env_file: env/redis-cache.env env_file: env/redis-cache.env
volumes: volumes:
netbox-media-files: netbox-media-files:
driver: local driver: local

View file

@ -1,83 +1,87 @@
version: '3.4'
services: services:
netbox: &netbox netbox: &netbox
image: netboxcommunity/netbox:${VERSION-v3.4-2.4.0} image: docker.io/netboxcommunity/netbox:${VERSION-v4.4-3.4.1}
depends_on: depends_on:
- postgres - postgres
- redis - redis
- redis-cache - redis-cache
env_file: env/netbox.env env_file: env/netbox.env
user: 'unit:root' user: "unit:root"
healthcheck: healthcheck:
start_period: 60s test: curl -f http://localhost:8080/login/ || exit 1
start_period: 90s
timeout: 3s timeout: 3s
interval: 15s interval: 15s
test: "curl -f http://localhost:8080/api/ || exit 1"
volumes: volumes:
- ./configuration:/etc/netbox/config:z,ro - ./configuration:/etc/netbox/config:z,ro
- ./reports:/etc/netbox/reports:z,ro - netbox-media-files:/opt/netbox/netbox/media:rw
- ./scripts:/etc/netbox/scripts:z,ro - netbox-reports-files:/opt/netbox/netbox/reports:rw
- netbox-media-files:/opt/netbox/netbox/media:z - netbox-scripts-files:/opt/netbox/netbox/scripts:rw
netbox-worker: netbox-worker:
<<: *netbox <<: *netbox
depends_on: depends_on:
netbox: netbox:
condition: service_healthy condition: service_healthy
command: command:
- /opt/netbox/venv/bin/python - /opt/netbox/venv/bin/python
- /opt/netbox/netbox/manage.py - /opt/netbox/netbox/manage.py
- rqworker - rqworker
healthcheck: healthcheck:
test: ps -aux | grep -v grep | grep -q rqworker || exit 1
start_period: 20s start_period: 20s
timeout: 3s timeout: 3s
interval: 15s interval: 15s
test: "ps -aux | grep -v grep | grep -q rqworker || exit 1"
netbox-housekeeping:
<<: *netbox
depends_on:
netbox:
condition: service_healthy
command:
- /opt/netbox/housekeeping.sh
healthcheck:
start_period: 20s
timeout: 3s
interval: 15s
test: "ps -aux | grep -v grep | grep -q housekeeping || exit 1"
# postgres # postgres
postgres: postgres:
image: postgres:15-alpine image: docker.io/postgres:17-alpine
healthcheck:
test: pg_isready -q -t 2 -d $$POSTGRES_DB -U $$POSTGRES_USER
start_period: 20s
timeout: 30s
interval: 10s
retries: 5
env_file: env/postgres.env env_file: env/postgres.env
volumes: volumes:
- netbox-postgres-data:/var/lib/postgresql/data - netbox-postgres-data:/var/lib/postgresql/data
# redis # redis
redis: redis:
image: redis:7-alpine image: docker.io/valkey/valkey:8.1-alpine
command: command:
- sh - sh
- -c # this is to evaluate the $REDIS_PASSWORD from the env - -c # this is to evaluate the $REDIS_PASSWORD from the env
- redis-server --appendonly yes --requirepass $$REDIS_PASSWORD ## $$ because of docker-compose - valkey-server --appendonly yes --requirepass $$REDIS_PASSWORD ## $$ because of docker-compose
healthcheck: &redis-healthcheck
test: '[ $$(valkey-cli --pass "$${REDIS_PASSWORD}" ping) = ''PONG'' ]'
start_period: 5s
timeout: 3s
interval: 1s
retries: 5
env_file: env/redis.env env_file: env/redis.env
volumes: volumes:
- netbox-redis-data:/data - netbox-redis-data:/data
redis-cache: redis-cache:
image: redis:7-alpine image: docker.io/valkey/valkey:8.1-alpine
command: command:
- sh - sh
- -c # this is to evaluate the $REDIS_PASSWORD from the env - -c # this is to evaluate the $REDIS_PASSWORD from the env
- redis-server --requirepass $$REDIS_PASSWORD ## $$ because of docker-compose - valkey-server --requirepass $$REDIS_PASSWORD ## $$ because of docker-compose
healthcheck: *redis-healthcheck
env_file: env/redis-cache.env env_file: env/redis-cache.env
volumes: volumes:
- netbox-redis-cache-data:/data - netbox-redis-cache-data:/data
volumes: volumes:
netbox-media-files: netbox-media-files:
driver: local driver: local
netbox-postgres-data: netbox-postgres-data:
driver: local driver: local
netbox-redis-data:
driver: local
netbox-redis-cache-data: netbox-redis-cache-data:
driver: local driver: local
netbox-redis-data:
driver: local
netbox-reports-files:
driver: local
netbox-scripts-files:
driver: local

View file

@ -46,6 +46,8 @@ if ! ./manage.py migrate --check >/dev/null 2>&1; then
./manage.py remove_stale_contenttypes --no-input ./manage.py remove_stale_contenttypes --no-input
echo "⚙️ Removing expired user sessions" echo "⚙️ Removing expired user sessions"
./manage.py clearsessions ./manage.py clearsessions
echo "⚙️ Building search index (lazy)"
./manage.py reindex --lazy
fi fi
# Create Superuser if required # Create Superuser if required
@ -70,16 +72,25 @@ else
fi fi
./manage.py shell --interface python <<END ./manage.py shell --interface python <<END
from django.contrib.auth.models import User from users.models import Token, User
from users.models import Token
if not User.objects.filter(username='${SUPERUSER_NAME}'): if not User.objects.filter(username='${SUPERUSER_NAME}'):
u=User.objects.create_superuser('${SUPERUSER_NAME}', '${SUPERUSER_EMAIL}', '${SUPERUSER_PASSWORD}') u = User.objects.create_superuser('${SUPERUSER_NAME}', '${SUPERUSER_EMAIL}', '${SUPERUSER_PASSWORD}')
Token.objects.create(user=u, key='${SUPERUSER_API_TOKEN}') Token.objects.create(user=u, key='${SUPERUSER_API_TOKEN}')
END END
echo "💡 Superuser Username: ${SUPERUSER_NAME}, E-Mail: ${SUPERUSER_EMAIL}" echo "💡 Superuser Username: ${SUPERUSER_NAME}, E-Mail: ${SUPERUSER_EMAIL}"
fi fi
./manage.py shell --interface python <<END
from users.models import Token
try:
old_default_token = Token.objects.get(key="0123456789abcdef0123456789abcdef01234567")
if old_default_token:
print("⚠️ Warning: You have the old default admin API token in your database. This token is widely known; please remove it. Log in as your superuser and check API Tokens in your user menu.")
except Token.DoesNotExist:
pass
END
echo "✅ Initialisation is done." echo "✅ Initialisation is done."
# Launch whatever is passed by docker # Launch whatever is passed by docker

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

View file

@ -1,6 +1,7 @@
#!/bin/bash #!/bin/bash
UNIT_CONFIG="${UNIT_CONFIG-/etc/unit/nginx-unit.json}" UNIT_CONFIG="${UNIT_CONFIG-/etc/unit/nginx-unit.json}"
# Also used in "nginx-unit.json"
UNIT_SOCKET="/opt/unit/unit.sock" UNIT_SOCKET="/opt/unit/unit.sock"
load_configuration() { load_configuration() {
@ -35,7 +36,7 @@ load_configuration() {
http://localhost/config http://localhost/config
) )
if [ "$RESP_CODE" != "200" ]; then if [ "$RESP_CODE" != "200" ]; then
echo "⚠️ Could no load Unit configuration" echo "⚠️ Could not load Unit configuration"
kill "$(cat /opt/unit/unit.pid)" kill "$(cat /opt/unit/unit.pid)"
return 1 return 1
fi fi
@ -50,7 +51,7 @@ exec unitd \
--control unix:$UNIT_SOCKET \ --control unix:$UNIT_SOCKET \
--pid /opt/unit/unit.pid \ --pid /opt/unit/unit.pid \
--log /dev/stdout \ --log /dev/stdout \
--state /opt/unit/state/ \ --statedir /opt/unit/state/ \
--tmp /opt/unit/tmp/ \ --tmpdir /opt/unit/tmp/ \
--user unit \ --user unit \
--group root --group root

View file

@ -1,30 +1,65 @@
{ {
"listeners": { "listeners": {
"0.0.0.0:8080": { "0.0.0.0:8080": {
"pass": "routes" "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"]
}
},
"0.0.0.0: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"]
}
}, },
"[::]:8080": { "[::]:8080": {
"pass": "routes" "pass": "routes/main",
} "forwarded": {
}, "client_ip": "X-Forwarded-For",
"protocol": "X-Forwarded-Proto",
"routes": [ "source": ["fc00::/7", "fe80::/10"]
{
"match": {
"uri": "/static/*"
},
"action": {
"share": "/opt/netbox/netbox${uri}"
} }
}, },
"[::]:8081": {
{ "pass": "routes/status",
"action": { "forwarded": {
"pass": "applications/netbox" "client_ip": "X-Forwarded-For",
"protocol": "X-Forwarded-Proto",
"source": ["fc00::/7", "fe80::/10"]
} }
} }
], },
"routes": {
"main": [
{
"match": {
"uri": "/static/*"
},
"action": {
"share": "/opt/netbox/netbox${uri}"
}
},
{
"action": {
"pass": "applications/netbox"
}
}
],
"status": [
{
"match": {
"uri": "/status/*"
},
"action": {
"proxy": "http://unix:/opt/unit/unit.sock"
}
}
]
},
"applications": { "applications": {
"netbox": { "netbox": {
"type": "python 3", "type": "python 3",
@ -38,6 +73,10 @@
} }
} }
}, },
"access_log": "/dev/stdout",
"access_log": "/dev/stdout" "settings": {
"http": {
"max_body_size": 104857600
}
}
} }

1
docker/unit.list Normal file
View file

@ -0,0 +1 @@
deb [signed-by=/usr/share/keyrings/nginx-keyring.gpg] http://packages.nginx.org/unit/ubuntu/ noble unit

10
env/netbox.env vendored
View file

@ -1,3 +1,4 @@
API_TOKEN_PEPPER_1=Qy+F=OTeGskWQ(wTMgjc+NPPlz6YwFXY=KHIIg=wpYXT&e(6u8
CORS_ORIGIN_ALLOW_ALL=True CORS_ORIGIN_ALLOW_ALL=True
DB_HOST=postgres DB_HOST=postgres
DB_NAME=netbox DB_NAME=netbox
@ -15,7 +16,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
@ -29,10 +29,6 @@ REDIS_INSECURE_SKIP_TLS_VERIFY=false
REDIS_PASSWORD=H733Kdjndks81 REDIS_PASSWORD=H733Kdjndks81
REDIS_SSL=false REDIS_SSL=false
RELEASE_CHECK_URL=https://api.github.com/repos/netbox-community/netbox/releases RELEASE_CHECK_URL=https://api.github.com/repos/netbox-community/netbox/releases
SECRET_KEY=r8OwDznj!!dci#P9ghmRfdu1Ysxm0AiPeDCQhKE+N_rClfWNj SECRET_KEY='r(m)9nLGnz$(_q3N4z1k(EFsMCjjjzx08x9VhNVcfd%6RF#r!6DE@+V5Zk2X'
SKIP_SUPERUSER=false SKIP_SUPERUSER=true
SUPERUSER_API_TOKEN=0123456789abcdef0123456789abcdef01234567
SUPERUSER_EMAIL=admin@example.com
SUPERUSER_NAME=admin
SUPERUSER_PASSWORD=admin
WEBHOOKS_ENABLED=true WEBHOOKS_ENABLED=true

View file

@ -1,46 +0,0 @@
from dcim.choices import DeviceStatusChoices
from dcim.models import ConsolePort, Device, PowerPort
from extras.reports import Report
class DeviceConnectionsReport(Report):
description = "Validate the minimum physical connections for each device"
def test_console_connection(self):
# Check that every console port for every active device has a connection defined.
active = DeviceStatusChoices.STATUS_ACTIVE
for console_port in ConsolePort.objects.prefetch_related('device').filter(device__status=active):
if console_port.connected_endpoint is None:
self.log_failure(
console_port.device,
"No console connection defined for {}".format(console_port.name)
)
elif not console_port.connection_status:
self.log_warning(
console_port.device,
"Console connection for {} marked as planned".format(console_port.name)
)
else:
self.log_success(console_port.device)
def test_power_connections(self):
# Check that every active device has at least two connected power supplies.
for device in Device.objects.filter(status=DeviceStatusChoices.STATUS_ACTIVE):
connected_ports = 0
for power_port in PowerPort.objects.filter(device=device):
if power_port.connected_endpoint is not None:
connected_ports += 1
if not power_port.connection_status:
self.log_warning(
device,
"Power connection for {} marked as planned".format(power_port.name)
)
if connected_ports < 2:
self.log_failure(
device,
"{} connected power supplies found (2 needed)".format(connected_ports)
)
else:
self.log_success(device)

View file

@ -1,6 +1,6 @@
django-auth-ldap==4.1.0 django-auth-ldap==5.2.0
django-storages[azure,boto3,dropbox,google,libcloud,sftp]==1.13.1 dulwich==0.24.8
napalm==4.0.0 python3-saml==1.16.0
psycopg2==2.9.5 --no-binary lxml
python3-saml==1.14.0 --no-binary xmlsec
social-auth-core[all]==4.3.0 sentry-sdk[django]==2.43.0

View file

View file

@ -1,4 +0,0 @@
LOGGING = {
'version': 1,
'disable_existing_loggers': True
}

View file

@ -0,0 +1,16 @@
LOGGING = {
'version': 1,
'disable_existing_loggers': True
}
PLUGINS = [
'netbox.tests.dummy_plugin',
]
ALLOW_TOKEN_RETRIEVAL = True
DEFAULT_PERMISSIONS = {}
API_TOKEN_PEPPERS = {
1: 'TEST-VALUE-DO-NOT-USE-TEST-VALUE-DO-NOT-USE-TEST-VALUE-DO-NOT-USE',
}

49
test.sh
View file

@ -14,6 +14,8 @@
# exit when a command exits with an exit code != 0 # exit when a command exits with an exit code != 0
set -e set -e
source ./build-functions/gh-functions.sh
# IMAGE is used by `docker-compose.yml` do determine the tag # IMAGE is used by `docker-compose.yml` do determine the tag
# of the Docker Image that is to be used # of the Docker Image that is to be used
if [ "${1}x" != "x" ]; then if [ "${1}x" != "x" ]; then
@ -35,29 +37,72 @@ if [ -z "${IMAGE}" ]; then
fi fi
# The docker compose command to use # The docker compose command to use
doco="docker compose --file docker-compose.test.yml --project-name netbox_docker_test" doco="docker compose --file docker-compose.test.yml --file docker-compose.test.override.yml --project-name netbox_docker_test"
test_setup() { test_setup() {
gh_echo "::group:: Test setup"
echo "🏗 Setup up test environment" echo "🏗 Setup up test environment"
$doco up --detach --quiet-pull --wait --force-recreate --renew-anon-volumes --no-start $doco up --detach --quiet-pull --wait --force-recreate --renew-anon-volumes --no-start
$doco start postgres $doco start postgres
$doco start redis $doco start redis
$doco start redis-cache $doco start redis-cache
gh_echo "::endgroup::"
} }
test_netbox_unit_tests() { test_netbox_unit_tests() {
gh_echo "::group:: Netbox unit tests"
echo "⏱ Running NetBox Unit Tests" echo "⏱ Running NetBox Unit Tests"
$doco run --rm netbox /opt/netbox/venv/bin/python /opt/netbox/netbox/manage.py test $doco run --rm netbox /opt/netbox/venv/bin/python /opt/netbox/netbox/manage.py test
gh_echo "::endgroup::"
} }
test_compose_db_setup() { test_compose_db_setup() {
gh_echo "::group:: Netbox DB migrations"
echo "⏱ Running NetBox DB migrations" echo "⏱ Running NetBox DB migrations"
$doco run --rm netbox /opt/netbox/venv/bin/python /opt/netbox/netbox/manage.py migrate $doco run --rm netbox /opt/netbox/venv/bin/python /opt/netbox/netbox/manage.py migrate
gh_echo "::endgroup::"
}
test_netbox_start() {
gh_echo "::group:: Start Netbox service"
echo "⏱ Starting NetBox services"
$doco up --detach --wait
gh_echo "::endgroup::"
}
test_netbox_web() {
gh_echo "::group:: Web service test"
echo "⏱ Starting web service test"
RESP_CODE=$(
curl \
--silent \
--output /dev/null \
--write-out '%{http_code}' \
--request GET \
--connect-timeout 5 \
--max-time 10 \
--retry 5 \
--retry-delay 0 \
--retry-max-time 40 \
http://127.0.0.1:8000/login/
)
if [ "$RESP_CODE" == "200" ]; then
echo "Webservice running"
else
echo "⚠️ Got response code '$RESP_CODE' but expected '200'"
exit 1
fi
gh_echo "::endgroup::"
} }
test_cleanup() { test_cleanup() {
echo "💣 Cleaning Up" echo "💣 Cleaning Up"
gh_echo "::group:: Docker compose logs"
$doco logs --no-color
gh_echo "::endgroup::"
gh_echo "::group:: Docker compose down"
$doco down --volumes $doco down --volumes
gh_echo "::endgroup::"
} }
echo "🐳🐳🐳 Start testing '${IMAGE}'" echo "🐳🐳🐳 Start testing '${IMAGE}'"
@ -68,5 +113,7 @@ test_setup
test_netbox_unit_tests test_netbox_unit_tests
test_compose_db_setup test_compose_db_setup
test_netbox_start
test_netbox_web
echo "🐳🐳🐳 Done testing '${IMAGE}'" echo "🐳🐳🐳 Done testing '${IMAGE}'"