Compare commits

...

1386 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
Tobias Genannt 39c7de4af4
Merge pull request #899 from netbox-community/develop
Release 2.4.0
2022-12-15 15:36:27 +01:00
Tobias Genannt 238f95c5ce Preparation for 2.4.0 2022-12-15 12:57:51 +01:00
Christian Mäder 751a131b78
Merge pull request #889 from netbox-community/listenOnIPv6
Make nginx-unit listen on IPv4 and IPv6
2022-12-06 21:09:02 +01:00
Tobias Genannt 5e2158da24
Merge pull request #866 from ryanmerolle/issue_784
Address housekeeping traceback
2022-12-06 18:12:02 +01:00
Tobias Genannt 4a530947f8
Merge pull request #895 from tobiasge/ldap-cert-settings
Added settings for CA certificates for LDAP
2022-12-01 13:59:22 +01:00
Tobias Genannt bdb4396275 Added settings for CA certificates for LDAP 2022-12-01 08:17:25 +01:00
Tobias Genannt 80d87bdf1b
Merge pull request #894 from tobiasge/psycopg2-changes
Optimize psycopg2 dependency
2022-11-30 16:23:20 +01:00
Tobias Genannt 6d465e6f81 Optimize psycopg2 dependency
We have beeing installing psycopg2 for a while now. This updates to the latest version. Because psycopg2-binary is a direct dependency of Netbox both versions were installled. Now we remove the pre-compiled version from the dependency file.
2022-11-30 14:36:53 +01:00
Tobias Genannt b72084290a
Merge pull request #893 from tobiasge/startup-scripts-complete-removal
Startup scripts complete removal
2022-11-30 13:14:32 +01:00
Tobias Genannt aa3357817a Disable Gitleaks 2022-11-30 10:54:24 +01:00
Tobias Genannt 9441be459c Improved testing
After the initializer scripts were removed, we didn't test the actual compose setup anymore. This adds new tests to run the database migrations.
2022-11-30 10:54:24 +01:00
Tobias Genannt 1779ba790d Removed warning for initializer scripts 2022-11-30 09:51:36 +01:00
Tobias Genannt 22cb2d5812
Merge pull request #865 from netbox-community/renovate/postgres-15.x
Update postgres Docker tag to v15
2022-11-30 08:50:15 +01:00
Christian Mäder 6020f4503a
Make nginx-unit listen on IPv4 and IPv6 2022-11-23 14:40:03 +01:00
renovate[bot] a4f494db14
Update postgres Docker tag to v15 2022-11-11 14:24:44 +00:00
Tobias Genannt 0cac6f51a9
Merge pull request #876 from Wellyas/patch-1
Add requirements for SAML SSO
2022-11-11 14:08:15 +01:00
Wellyas dd01e3c227 Enable SAML & OPENIDCONNECT for social-auth-core 2022-11-11 13:07:14 +01:00
Tobias Genannt 925f41b97f
Merge pull request #883 from movelg/housekeeping_var_name_fix
Housekeeping var name fix
2022-11-11 10:54:13 +01:00
movelg 7d871778eb
Don't use bash internal variable name 2022-11-11 08:40:29 +01:00
Christian Mäder 8b16b16e45
Merge pull request #869 from netbox-community/develop
Version 2.3.0
2022-11-02 11:19:30 +01:00
Christian Mäder c5f91ad359 Preparation for 2.3.0 2022-10-25 17:38:03 +02:00
Ryan Merolle 35a94cb7e5
Update docker-compose.yml
Address housekeeping tracebacks & remove whitespace
2022-10-22 09:40:03 -04:00
Christian Mäder 1835d3cafd
Merge pull request #857 from cimnine/ConfigurationUpdate
Updates the configuration, changes default for dynamic paramters to None
2022-10-15 12:48:52 +02:00
Christian Mäder df8f406432 Remove unnecessary import 2022-10-15 10:23:14 +02:00
Christian Mäder b8b1c8fc63 Rename conversion lambdas 2022-10-15 10:23:14 +02:00
Christian Mäder 41ff541225 Simplified test for existance of dynamic parameters 2022-10-15 10:17:49 +02:00
Christian Mäder 26399e224d Make dynamic configuration parameters actually work 2022-10-15 10:17:17 +02:00
Christian Mäder 951c12132a Updates the configuration, changes default for dynamic paramters to None 2022-10-15 10:15:55 +02:00
Christian Mäder a3680b22dd
Merge pull request #860 from cimnine/HereDocForBuildHelp
Improve Help for build.sh
2022-10-10 18:30:25 +02:00
Christian Mäder d96e8f1dfd Improve Help for build.sh 2022-10-08 17:18:56 +02:00
Christian Mäder c21a29b383
Merge pull request #852 from Delta1977/release
Define a volume for the caching Redis
2022-10-06 22:58:43 +02:00
Christian Mäder f9f1533332
Merge pull request #856 from netbox-community/renovate/psycopg2-2.x
Update dependency psycopg2 to v2.9.4
2022-10-06 21:30:50 +02:00
renovate[bot] 4f45df571f
Update dependency psycopg2 to v2.9.4 2022-10-06 16:58:57 +00:00
Delta / Subo /Stefan cd5015642e
Fix for random volume Redis Cache
fixes:
https://github.com/netbox-community/netbox-docker/issues/851
2022-09-23 14:33:49 +02:00
Tobias Genannt d385cd2aa9
Merge pull request #779 from BegBlev/ldap-group-search-issue
AUTH_LDAP_BIND_AS_AUTHENTICATING_USER is now loaded from environment
2022-09-21 13:03:13 +02:00
Vincent Catros 7f285af7b4
AUTH_LDAP_BIND_AS_AUTHENTICATING_USER defaults to false 2022-09-09 16:11:21 +02:00
Tobias Genannt c8c360da99
Merge pull request #840 from tymekxxl/jobresult_retention
add JOBRESULT_RETENTION to configuration.py
2022-09-05 08:24:10 +02:00
Michal Tyminski 53dcdc7bfc add JOBRESULT_RETENTION to configuration.py
Netbox v3.2.1 introduces new enhancement to retain old script
and report results for configured lifetime.
2022-09-01 10:03:19 -07:00
Tobias Genannt 3f1e45f636
Merge pull request #839 from netbox-community/develop
Version 2.2.0
2022-09-01 12:12:06 +02:00
Tobias Genannt e38c1d3c85 Preparation for 2.2.0 2022-09-01 10:43:10 +02:00
Tobias Genannt e48ab084ce
Merge pull request #836 from tobiasge/fix-for-811
Installed bzip2
2022-08-31 15:14:41 +02:00
Tobias Genannt 5ea3008f82
Merge pull request #835 from tobiasge/test-config
Removed unnecessary logging from tests
2022-08-31 15:08:54 +02:00
Tobias Genannt 1418808930 Installed bzip2
In the Wiki backup section we use bzip2 in some of the examples. So it should be installed in the image.
2022-08-31 14:11:05 +02:00
Tobias Genannt da412e3bdb Removed unnecessary logging from tests 2022-08-31 14:05:34 +02:00
Tobias Genannt 98add8f83a
Merge pull request #831 from tobiasge/remove-initializers
Initializers are now a plugin
2022-08-31 13:43:58 +02:00
Tobias Genannt 6f1d46d765 Initializers are now a plugin 2022-08-30 16:01:43 +02:00
Tobias Genannt ada2bd6501
Merge pull request #825 from tobiasge/readme-update
Improved README.md
2022-08-09 10:30:07 +02:00
Tobias Genannt 8707cef55a Improved README.md
- Removed the hint to the `-ldap` tags that where discontinnued with version 2.0.
- Increased minimum Docker version to reflect the needed version for running newer Ubuntu versions. See: https://medium.com/nttlabs/ubuntu-21-10-and-fedora-35-do-not-work-on-docker-20-10-9-1cd439d9921
- Fixed some Markdown linter errors
2022-08-09 09:08:40 +02:00
Tobias Genannt dc45dfc383
Merge pull request #822 from netbox-community/renovate/django-storages-1.x
Update dependency django-storages to v1.13.1
2022-08-06 17:05:58 +02:00
renovate[bot] 691ad94498
Update dependency django-storages to v1.13.1 2022-08-06 13:38:07 +00:00
Tobias Genannt 535fefe12f
Merge pull request #820 from netbox-community/renovate/django-storages-1.x
Update dependency django-storages to v1.13
2022-08-05 22:31:10 +02:00
renovate[bot] db982814a1
Update dependency django-storages to v1.13 2022-08-05 13:52:56 +00:00
Tobias Genannt ebda4660de
Merge pull request #809 from netbox-community/develop
Version 2.1.0
2022-07-25 08:19:22 +02:00
Tobias Genannt f44e377e29
Merge branch 'release' into develop 2022-07-25 08:14:46 +02:00
Tobias Genannt 0a6d4c998d Preparation for 2.1.0 2022-07-22 10:15:51 +02:00
Tobias Genannt bd9733d929
Merge pull request #808 from tobiasge/ldap-tls-fix
LDAP TLS connection use the system trusted root store
2022-07-21 11:29:27 +02:00
Tobias Genannt 9ae3282dcf Install libldap-common
This installs the LDAP configurationn file which is needed to load the trusted root certificates from the system.
2022-07-21 09:13:11 +02:00
Tobias Genannt e62fedbd5e
Merge pull request #786 from rjmidau/oidc
Add requirements for OIDC SSO
2022-07-19 13:58:48 +02:00
Tobias Genannt c53ae2afa0
Merge pull request #805 from tobiasge/with-ubuntu
Using Ubuntu 22.04 because Debian has old packages
2022-07-19 11:37:16 +02:00
Tobias Genannt 45e7f6a30c Using Ubuntu 22.04 because Debian has old packages
With Debian the Quay.io security checker found several issues in the
image. With Ubuntu we have never versions of all packages and therefore
less (or no) issues.
2022-07-19 09:42:56 +02:00
Tobias Genannt 8fbedf2886
Merge pull request #802 from netbox-community/renovate/docker-setup-buildx-action-2.x
Update docker/setup-buildx-action action to v2
2022-07-16 10:24:23 +02:00
renovate[bot] c0063a6573
Update docker/setup-buildx-action action to v2 2022-07-16 08:23:01 +00:00
Tobias Genannt c9795a8213
Merge pull request #803 from netbox-community/renovate/docker-setup-qemu-action-2.x
Update docker/setup-qemu-action action to v2
2022-07-16 10:22:43 +02:00
renovate[bot] 8aec402ea2
Update docker/setup-qemu-action action to v2 2022-07-15 18:36:01 +00:00
Tobias Genannt adc2079b17
Merge pull request #797 from tobiasge/arm64-auto-build
Arm64 auto build
2022-07-15 16:56:57 +02:00
Tobias Genannt cee1b5b079 Build ARM64 images 2022-07-15 15:06:16 +02:00
Tobias Genannt 13d66f2ae7
Merge pull request #778 from tobiasge/path-update
Added our Python venv to the PATH variable
2022-07-14 22:37:14 +02:00
Tobias Genannt 901ac05e99 Added our Python venv to the PATH variable
Now users can run "manage.py" without specifying the full path.
2022-07-13 15:53:56 +02:00
Robert Meredith 2bdaed1e6f Add requirements for OIDC SSO 2022-07-13 16:55:38 +10:00
Tobias Genannt b45934cd9e
Merge pull request #796 from netbox-community/develop
Version 2.0.0
2022-07-12 18:10:25 +02:00
Tobias Genannt fceb6e0e13 Removed CSRF_TRUSTED_ORIGINS from extra.py
CSRF_TRUSTED_ORIGINS is already in configuration.py
2022-07-12 17:16:20 +02:00
Tobias Genannt f05a9c67ae Preparation for 2.0.0 2022-07-12 16:50:32 +02:00
Tobias Genannt f2d1e62204
Merge pull request #791 from netbox-community/renovate/napalm-4.x
Update dependency napalm to v4
2022-07-12 07:53:50 +02:00
renovate[bot] 8f704f220a
Update dependency napalm to v4 2022-07-11 13:11:13 +00:00
Tobias Genannt d5093201ee
Merge pull request #780 from tobiasge/fixed-comment
Fixed comment and variable name
2022-06-22 12:51:27 +02:00
Tobias Genannt 401777adff Fixed comment and variable name 2022-06-22 12:28:33 +02:00
Vincent Catros 5ff292ba5f AUTH_LDAP_BIND_AS_AUTHENTICATING_USER is now loaded from environment 2022-06-20 14:10:37 +02:00
Tobias Genannt f80cc70d76
Merge pull request #776 from tobiasge/image-label-update
Updated image labels and build script
2022-06-16 19:21:39 +02:00
Tobias Genannt 5b8bf780df Updated image labels and build script 2022-06-15 16:18:21 +02:00
Tobias Genannt bce52596a5
Merge pull request #775 from tobiasge/debian-based
Debian based
2022-06-15 11:02:30 +02:00
Tobias Genannt c3c94b0a63 Used version number and remove explicit dependency 2022-06-15 10:15:15 +02:00
Tobias Genannt 14c30fb81c Changed the ignored warnings 2022-06-15 09:04:00 +02:00
Christian Mäder 1130ff6c6d Merge branch 'csrf-trusted-origins' into develop 2022-06-12 10:52:10 +02:00
SejiL 993c93b34a Add CSRF option to extra.py 2022-06-12 10:51:56 +02:00
Tobias Genannt dcf0bdb950 Added psycopg2 as additionnal dependency
With psycopg2-binary the images doesn't work on ARM64.
2022-06-10 10:38:21 +02:00
Tobias Genannt 9e2f4313fb First version of Debian based image 2022-06-10 09:31:41 +02:00
Tobias Genannt df41020cb8
Merge pull request #753 from netbox-community/renovate/redis-7.x
Update dependency redis to v7
2022-06-09 15:35:34 +02:00
Tobias Genannt 1332df4857
Merge pull request #759 from netbox-community/renovate/django-auth-ldap-4.x
Update dependency django-auth-ldap to v4.1.0
2022-06-09 15:35:12 +02:00
Tobias Genannt 3f23419bb7
Merge pull request #768 from FliesLikeABrick/feature/skip-git-no-git-operations-fix-#765
Proposing SKIP_GIT now skips all git operations
2022-06-09 15:34:53 +02:00
Renovate Bot 184ff72912
Update dependency redis to v7 2022-06-09 06:12:46 +00:00
Renovate Bot 55ee95df78
Update dependency django-auth-ldap to v4.1.0 2022-06-09 06:12:42 +00:00
Tobias Genannt 78fe47aaba
Merge pull request #774 from netbox-community/renovate/actions-setup-python-4.x
Update actions/setup-python action to v4
2022-06-09 08:12:17 +02:00
Tobias Genannt 1370596f27
Fixed missing Python version
Python version hast to be set with v4 of the action. The version is now fixed to what is in Alpine 3.14.
2022-06-09 07:47:48 +02:00
Renovate Bot 606e56d78f
Update actions/setup-python action to v4 2022-06-08 19:42:43 +00:00
Ryan Rawdon 51226c8e50 Proposed fix for netbox-docker #765 -- SKIP_GIT will skip other git operations 2022-05-25 10:43:23 -04:00
Tobias Genannt 6c9d4aebac
Merge pull request #757 from netbox-community/renovate/docker-login-action-2.x
Update docker/login-action action to v2
2022-05-06 08:53:08 +02:00
Renovate Bot ed8b42fbde
Update docker/login-action action to v2 2022-05-05 19:01:27 +00:00
Tobias Genannt aa56f645e9
Merge pull request #754 from netbox-community/renovate/napalm-3.x
Update dependency napalm to v3.4.1
2022-05-05 16:41:23 +02:00
Renovate Bot 9a1bb788d2
Update dependency napalm to v3.4.1 2022-04-29 17:02:51 +00:00
Tobias Genannt 7d32f79379
Merge pull request #750 from thomas-mc-work/patch-2
Add MAPS_URL to config
2022-04-25 17:04:04 +02:00
Tobias Genannt 0410cf2fd2
Merge pull request #728 from Lon1/contact-startups
Contact startups
2022-04-25 17:03:31 +02:00
Tobias Genannt c9f5e34c0d Improved contact initializer examples 2022-04-25 16:38:09 +02:00
Thompson, Lon 047f2abdb5 adding contact startups 2022-04-25 15:51:32 +02:00
Tobias Genannt f13a6573a8
Merge pull request #736 from kr3ator/feature/cable_initializers
Startup script for cables
2022-04-25 15:44:36 +02:00
Thomas McWork 596bb6953c
preserve sort order 2022-04-19 12:59:27 +02:00
kr3ator d482e623df fix: Template and non-template fields example 2022-04-19 12:54:37 +02:00
Thomas McWork bf910dea02
Handle MAPS_URL config value
Regarding https://github.com/netbox-community/netbox/blob/develop/docs/configuration/dynamic-settings.md#maps_url
2022-04-19 12:21:07 +02:00
kr3ator 57da852af6 Cabling script minor updates 2022-04-12 14:47:24 +02:00
Tobias Genannt 4c21344e8b
Merge pull request #744 from kr3ator/feature/interfaces_improvements
Add support for bridge, lag, parent in DCIM Interfaces startup script
2022-04-12 14:07:56 +02:00
kr3ator 302c0fed59 Cable startup script 2022-04-12 13:51:57 +02:00
kr3ator 0e7afe466d feat: Add support for bridge, lag, parent 2022-04-12 13:49:44 +02:00
Tobias Genannt 2c757af250
Merge pull request #742 from kr3ator/feature/device_type_components
Add support for DeviceType components
2022-04-12 13:29:28 +02:00
Tobias Genannt 27f28935d7
Merge pull request #738 from RobinBeismann/develop
Added environment variable for CSRF_TRUSTED_ORIGINS
2022-04-08 17:03:28 +02:00
kr3ator 12753dd7d4 Document field name precedence 2022-04-08 15:57:52 +02:00
kr3ator dd8dce1b49 feat: Add support for DeviceType components 2022-04-08 15:57:46 +02:00
Robin Beismann 19280c2bb0
Fixed default value to reflect upstream 2022-04-08 15:36:49 +02:00
Tobias Genannt 5c4a1cc082
Merge pull request #729 from kr3ator/feature/separate_default_params
feat: Make startup scripts idempotent
2022-04-08 15:17:07 +02:00
kr3ator a63af05bec
Update initializers/users.yml
Co-authored-by: Christian Mäder <cimnine@users.noreply.github.com>
2022-04-08 14:57:37 +02:00
kr3ator 9be7b0e109 feat: Make startup scripts idempotent 2022-04-07 19:47:19 +02:00
Robin Beismann d5b1d9ce39
Added environment variable for CSRF_TRUSTED_ORIGINS 2022-04-07 16:09:27 +02:00
Tobias Genannt a6eb4fef00
Merge pull request #730 from kr3ator/bugfix/cf_creation
Fix setting custom field data if custom field object is missing
2022-04-07 09:01:04 +02:00
kr3ator d1c69e8fe5 fix: invalid Interface optional assoc 2022-04-06 16:45:25 +02:00
kr3ator 81d9e4f560 Fix setting CF data if CF object is missing 2022-04-06 14:09:07 +02:00
Tobias Genannt 61a3afbb3b
Merge pull request #734 from netbox-community/develop
Version 1.6.1
2022-04-06 09:58:45 +02:00
Tobias Genannt 91ab616cc5 Preparation for 1.6.1 2022-04-06 09:39:22 +02:00
Tobias Genannt 43d62f1284
Merge pull request #733 from tobiasge/remove-tzdata
tzdata is already required in Netbox
2022-04-06 09:03:28 +02:00
Tobias Genannt d61470d6ef
Merge pull request #725 from netbox-community/renovate/napalm-3.x
Update dependency napalm to v3.4.0
2022-04-06 08:50:29 +02:00
Tobias Genannt 091d23d537 tzdata is already required in Netbox 2022-04-06 08:43:10 +02:00
Renovate Bot 2f24902436
Update dependency napalm to v3.4.0 2022-03-21 20:43:51 +00:00
Tobias Genannt 36d47b9b88
Merge pull request #711 from netbox-community/renovate/actions-checkout-3.x
Update actions/checkout action to v3
2022-03-02 07:46:38 +01:00
Renovate Bot 2c20771682
Update actions/checkout action to v3 2022-03-01 19:06:16 +00:00
Tobias Genannt a9cdec6d87
Merge pull request #708 from netbox-community/renovate/actions-setup-python-3.x
Update actions/setup-python action to v3
2022-03-01 09:17:08 +01:00
Renovate Bot f1efccea6b
Update actions/setup-python action to v3 2022-02-28 13:52:44 +00:00
Tobias Genannt 226d8438de
Merge pull request #705 from netbox-community/develop
Release 1.6.0
2022-02-21 12:17:25 +01:00
Tobias Genannt b6d6f85dc0 Preparation for 1.6.0 2022-02-21 11:25:37 +01:00
Tobias Genannt 49ed10bbee
Merge pull request #701 from tobiasge/requirements
Added missing tzdata
2022-02-16 12:22:27 +01:00
Tobias Genannt 3afdd3bf13 Added missing tzdata 2022-02-16 09:32:03 +01:00
Christian Mäder 0170ed7d6f
Merge pull request #700 from netbox-community/renovate/ruamel.yaml-0.x
Update dependency ruamel.yaml to v0.17.21
2022-02-15 18:39:26 +01:00
Renovate Bot dad2e93572
Update dependency ruamel.yaml to v0.17.21 2022-02-12 11:16:45 +00:00
Tobias Genannt d726426611
Merge pull request #665 from netbox-community/renovate/django-auth-ldap-4.x
Update dependency django-auth-ldap to v4
2022-02-05 11:37:07 +01:00
Renovate Bot b31d99b936
Update dependency django-auth-ldap to v4 2022-02-03 16:50:11 +00:00
Ryan Merolle 8860d32f97
Cleanup & Reorg startup scripts (#691)
* Cleanup & Reorg startup scripts
2022-02-03 17:10:39 +01:00
Tobias Genannt b9dff0d22e
Merge pull request #697 from tobiasge/feature-build-fix
Fixed build for Netbox feature branch
2022-02-02 17:07:32 +01:00
Tobias Genannt 297aab1fd3 Fixed build for Netbox feature branch 2022-02-02 16:49:29 +01:00
Christian Mäder 54bf7a3819
Merge pull request #695 from ryanmerolle/graphql
Explicitly set GRAPHQL_ENABLED
2022-02-02 16:43:32 +01:00
ryanmerolle 52876be723 add graphql 2022-01-31 21:45:29 -05:00
Tobias Genannt ff20e4f49c
Merge pull request #685 from tobiasge/asn-initializers
Added ASN initializer script
2022-01-10 11:14:55 +01:00
Tobias Genannt ee47ba04bc Added ASN initializer script 2022-01-10 10:49:51 +01:00
Christian Mäder 688374d13f
Merge pull request #681 from netbox-community/renovate/ruamel.yaml-0.x
Update dependency ruamel.yaml to v0.17.20
2022-01-03 12:28:53 +01:00
Renovate Bot 22c4212438
Update dependency ruamel.yaml to v0.17.20 2022-01-03 09:48:22 +00:00
Christian Mäder 26dcb2f2e0
Merge pull request #668 from netbox-community/renovate/ruamel.yaml-0.x
Update dependency ruamel.yaml to v0.17.19
2021-12-29 22:47:22 +01:00
Renovate Bot 46afa266fa
Update dependency ruamel.yaml to v0.17.19 2021-12-26 15:22:25 +00:00
Tobias Genannt b2d26d9dce
Merge pull request #660 from tobiasge/fix-link
Fixed GHCR link
2021-12-11 12:12:13 +01:00
Tobias Genannt 0b622361f3
Merge pull request #661 from tobiasge/disable-edge
Removed Alpine edge from tests
2021-12-11 12:12:02 +01:00
Tobias Genannt ed48909f96 Removed Alpine edge from tests 2021-12-10 14:29:53 +01:00
Tobias Genannt 60d191bb2a
Fixed textlint errors 2021-12-09 22:23:03 +01:00
Tobias Genannt 4f482e484f Fixed GHCR link 2021-12-09 22:06:59 +01:00
Tobias Genannt 58a1579832
Merge pull request #659 from netbox-community/develop
Version 1.5.1
2021-12-09 12:36:52 +01:00
Tobias Genannt 6d5cf7a815 Preparation for 1.5.1 2021-12-09 12:15:26 +01:00
Tobias Genannt 2e92554423
Merge pull request #658 from tobiasge/fix-action
Fixed release action workflow
2021-12-09 12:10:23 +01:00
Tobias Genannt 2456a642b7 Fixed release action workflow 2021-12-09 11:23:30 +01:00
Tobias Genannt b5108625ff
Merge pull request #657 from netbox-community/develop
Version 1.5.0
2021-12-09 08:48:49 +01:00
Tobias Genannt 9ab54f27b1 Preparation for 1.5.0 2021-12-09 08:29:42 +01:00
Tobias Genannt 4b7037bbe6
Merge pull request #656 from tobiasge/fix-653
Add __dir__ to configuration file
2021-11-30 11:48:11 +01:00
Tobias Genannt f183603bc0 Fix #653: Add missing __dir__ to configuration.py 2021-11-30 11:19:49 +01:00
Tobias Genannt 544a58325d
Merge pull request #640 from netbox-community/renovate/ruamel.yaml-0.x
Update dependency ruamel.yaml to v0.17.17
2021-11-01 12:54:39 +01:00
Renovate Bot 9557bdf209
Update dependency ruamel.yaml to v0.17.17 2021-10-31 21:08:10 +00:00
Tobias Genannt 4890a8510d
Merge pull request #637 from netbox-community/renovate/django-storages-1.x
Update dependency django-storages to v1.12.3
2021-10-30 10:12:25 +02:00
Renovate Bot 66f77b5eb1
Update dependency django-storages to v1.12.3 2021-10-30 04:09:42 +00:00
Tobias Genannt 661b6b07a3
Merge pull request #632 from grawert/startup_scripts_typos
Startup scripts typos
2021-10-25 14:59:08 +02:00
Uwe Grawert ce8db1065d Fix some small typos in startup_scripts
- group creation prints proper group name
  - permission creation prints proper permission name
2021-10-25 14:36:37 +02:00
Tobias Genannt 9a0e1115ed
Merge pull request #633 from tobiasge/fix-540
Set filter_logic from YAML file
2021-10-25 14:08:00 +02:00
Tobias Genannt 2b4c058af8 Set filter_logic from YAML file 2021-10-21 17:06:24 +02:00
Tobias Genannt a206ad6811
Merge pull request #630 from tobiasge/fix-580
Added ENV variables for INSECURE_SKIP_TLS_VERIFY
2021-10-20 09:49:33 +02:00
Tobias Genannt a1dabcb758 Added ENV variables for INSECURE_SKIP_TLS_VERIFY 2021-10-20 09:27:18 +02:00
Christian Mäder 940c1bb50c
Merge pull request #625 from cimnine/UpdateReadme 2021-10-19 17:49:28 +02:00
Christian Mäder 6c49d4fef5
Merge pull request #594 from netbox-community/renovate/postgres-14.x
Update postgres Docker tag to v14
2021-10-19 17:30:49 +02:00
cimnine 621df33df9 Add missing words 2021-10-19 17:29:29 +02:00
cimnine 7e86ba002f More overhaul of the README 2021-10-19 17:22:19 +02:00
cimnine 6f12cb36af Add ghcr 2021-10-19 17:14:48 +02:00
cimnine 4ef35aadb6 Update the README with regards to the tags 2021-10-19 17:10:50 +02:00
Renovate Bot d4081c15e1
Update postgres Docker tag to v14 2021-10-19 12:25:17 +00:00
Christian Mäder 6e870b4d0b
Merge pull request #622 from netbox-community/renovate/django-storages-1.x
Update dependency django-storages to v1.12.2
2021-10-19 14:24:58 +02:00
Christian Mäder 1e78ccd204
Merge pull request #621 from cimnine/GHCR
Publish image to GitHub Container Registry
2021-10-19 14:24:07 +02:00
Renovate Bot 84e9b63524
Update dependency django-storages to v1.12.2 2021-10-18 23:36:23 +00:00
cimnine 4cc7f13b6e Push to ghcr.io 2021-10-18 11:42:59 +02:00
Tobias Genannt fc2d0d1852
Merge pull request #620 from tobiasge/psql-client
Install postgresql-client
2021-10-14 16:31:21 +02:00
Tobias Genannt ef98ad54fa Install postgresql-client
Make usage of 'manage.py dbshell' possible
2021-10-14 15:37:30 +02:00
Tobias Genannt 4785e09945
Merge pull request #607 from rsp2k/patch-1
Add friendly check for jq
2021-10-14 09:11:56 +02:00
Tobias Genannt d4f9bb6da3 Shellcheck errors 2021-10-14 08:37:28 +02:00
rsp2k ab41eaa5d9 Add friendly message/exit when jq isn't available 2021-10-14 08:37:28 +02:00
rsp2k 02794f368b Add friendly check for jq 2021-10-14 08:37:28 +02:00
Tobias Genannt 9c66cc4c32
Merge pull request #606 from netbox-community/develop
Version 1.4.1
2021-10-14 07:45:50 +02:00
Christian Mäder 68401caf1c
Merge pull request #608 from netbox-community/renovate/django-storages-1.x
Update dependency django-storages to v1.12.1
2021-10-11 22:39:39 +02:00
Renovate Bot 4f466bb5a1
Update dependency django-storages to v1.12.1 2021-10-11 19:24:42 +00:00
Christian Mäder daaea77144
Merge pull request #589 from tobiasge/user-unit
Fix #586: Use user name instead of userid
2021-10-06 17:25:47 +02:00
Christian Mäder faa1cb52dd Preparation for 1.4.1 2021-10-06 17:03:48 +02:00
Christian Mäder 57ac14f295
Merge pull request #605 from netbox-community/renovate/google-crc32c-1.x
Update dependency google-crc32c to v1.3.0
2021-10-06 13:58:47 +02:00
Renovate Bot d0f4820baa
Update dependency google-crc32c to v1.3.0 2021-10-06 00:32:00 +00:00
Christian Mäder b0261e8cc6
Merge pull request #603 from cimnine/GroupBuildOutput
Group the build output in GitHub Action
2021-10-05 11:33:03 +02:00
Christian Mäder 30a7aa0e9c Group the build output in GitHub Action 2021-10-05 11:08:16 +02:00
Christian Mäder 5f0b7467d1
Merge pull request #602 from cimnine/FixEdge
Implicit openssl-dev dependency resolution (fixes alpine:edge)
2021-10-05 10:55:55 +02:00
Christian Mäder 24363b653f Remove openssl-dev from Dockerfile
It is pulled by postgresql-dev anyway
In the upcoming alpine, openssl v3 will be
the default, but postgresql-dev will still
require openssl v1.x.
This creates a conflict, which can be resolved
if postgresql-dev can choose the openssl version
it depends on.
2021-10-05 09:47:55 +02:00
Christian Mäder 21a3048b96
Merge pull request #601 from cimnine/IssueForms
Use issue template form instead of text template
2021-10-05 09:26:48 +02:00
Tobias Genannt 5679ab435f Use user name instead of userid
Nginx unit needs the user and group parameter as names.
2021-09-24 08:16:07 +02:00
Christian Mäder c9b3edd0f1
Merge pull request #587 from netbox-community/renovate/google-crc32c-1.x
Update dependency google-crc32c to v1.2.0
2021-09-21 08:22:15 +02:00
Renovate Bot 31e6e42a30
Update dependency google-crc32c to v1.2.0 2021-09-20 20:43:14 +00:00
Christian Mäder 1a868c6847
Merge pull request #583 from cimnine/NBDoVersionTag
Add project version to Docker tag
2021-09-20 13:35:24 +02:00
cimnine a9d6f1fefe Use issue template form instead of template 2021-09-17 20:10:15 +02:00
cimnine dbfcd5b58c Add project version to Docker tag 2021-09-17 19:02:18 +02:00
Tobias Genannt 6a52a48b71
Merge pull request #582 from netbox-community/develop
Version 1.4.0
2021-09-17 11:35:56 +02:00
Tobias Genannt e31492a9b4
Merge branch 'release' into develop 2021-09-17 11:08:31 +02:00
Tobias Genannt f2dbc4f717 Preparation for 1.4.0 2021-09-17 10:56:50 +02:00
Tobias Genannt 1d040ad64d
Merge pull request #546 from tobiasge/drop-privileges
Drops privileges to user 101 and group 0
2021-09-17 10:53:08 +02:00
Tobias Genannt 8703749292
Merge pull request #571 from tobiasge/house
Added container for Netbox housekeeping command
2021-09-17 10:52:28 +02:00
Tobias Genannt d432a84c42
Merge pull request #565 from mk-fg/develop
Print last line of django db connection error while waiting for db to start
2021-09-17 10:50:31 +02:00
Tobias Genannt c00492cad0
Merge pull request #579 from tobiasge/check-remote
Check if remote branch exists before checkout
2021-09-13 23:42:47 +02:00
Tobias Genannt c4d545a256
Improved check
Co-authored-by: Christian Mäder <cimnine@users.noreply.github.com>
2021-09-13 22:50:06 +02:00
Tobias Genannt d0c429c8a1 Check if remote branch exists before checkout 2021-09-13 09:27:28 +02:00
Tobias Genannt a8b6883183 Changed entrypoint to "tini". 2021-09-13 08:51:23 +02:00
Tobias Genannt 5590b32c93
Merge pull request #576 from netbox-community/renovate/google-crc32c-1.x
Update dependency google-crc32c to v1.1.5
2021-09-08 08:47:17 +02:00
Renovate Bot 97e7022121
Update dependency google-crc32c to v1.1.5 2021-09-07 22:27:44 +00:00
Tobias Genannt 2926d1a11d
Quote variable
Co-authored-by: Christian Mäder <cimnine@users.noreply.github.com>
2021-09-07 09:47:38 +02:00
Tobias Genannt 58debafa8a Added container for Netbox housekeeping command
Adds an additional container in which the new "housekeeping" command from
Netbox v3.0.0 is run.
2021-09-03 12:48:30 +02:00
Tobias Genannt e021390568
Merge pull request #568 from netbox-community/develop
Version 1.3.1
2021-09-03 10:57:05 +02:00
Tobias Genannt 389e68f6ba
Merge branch 'release' into develop 2021-09-03 10:34:55 +02:00
Tobias Genannt 7eeb2ea7e6 Prepare version 1.3.1 2021-09-03 10:21:43 +02:00
Christian Mäder 954bddeb64
Merge pull request #570 from cimnine/FixCRC32
Build and install libcrc32c
2021-09-03 10:16:13 +02:00
Christian Mäder 9255afd060 Improves google-cloud-storage performance
And also fixes the build by providing a 'alpine version'
of the google/crc32c library, which google-crc32c and
google-cloud-storage and ultimately django-storages[google]
depend on.
2021-09-03 09:15:41 +02:00
Daniel Metzler a0a32b930e
Fixed port issue with latest docker version. (#538)
Co-authored-by: Tobias Genannt <t.genannt@scanplus.de>
2021-09-03 08:03:27 +02:00
Mike Kazantsev fc4b78f74a Print last line of django db connection error while waiting for db to start
Fixes #562
2021-09-02 20:22:03 +05:00
Tobias Genannt 9e063a6e6f
Merge pull request #560 from tobiasge/google-crc32c
Workaround for build error in google-crc32c 1.1.3
2021-08-31 16:29:40 +02:00
Tobias Genannt 54823b41e1 Workaround for build error in google-crc32c 1.1.3 2021-08-31 16:04:48 +02:00
Tobias Genannt 6c5434ee20
Merge pull request #557 from netbox-community/develop
Version 1.3.0: Compatibility with Netbox v3
2021-08-30 21:29:25 +02:00
Tobias Genannt 8e0c795791 Prepare version 1.3.0 2021-08-30 21:07:01 +02:00
Tobias Genannt 1fd8d105e6
Merge pull request #543 from tobiasge/prepare-3.0.0
Prepare for Netbox v3.0.0
2021-08-30 18:05:54 +02:00
Christian Mäder fe4df4f70a
Merge pull request #556 from netbox-community/disableDependencyDashboard 2021-08-30 12:54:31 +02:00
Christian Mäder 650e62f44f
Disable Renovate's "Dependency Dashboard" 2021-08-30 12:31:36 +02:00
Tobias Genannt f8451b0c0a
Merge pull request #555 from netbox-community/renovate/ruamel.yaml-0.x
Update dependency ruamel.yaml to v0.17.16
2021-08-29 15:51:02 +02:00
Renovate Bot 3af075e039
Update dependency ruamel.yaml to v0.17.16 2021-08-29 13:05:16 +00:00
Christian Mäder 26d45b1e85
Merge pull request #554 from netbox-community/renovate/ruamel.yaml-0.x
Update dependency ruamel.yaml to v0.17.14
2021-08-26 15:07:24 +02:00
Renovate Bot 9b6c476bf9
Update dependency ruamel.yaml to v0.17.14 2021-08-25 20:34:39 +00:00
Tobias Genannt c5a1557800 Removed deprecated settings 2021-08-21 18:22:24 +02:00
Tobias Genannt 9d476fa9af Build documentation files in the image 2021-08-21 18:22:24 +02:00
Tobias Genannt 9142aaf78e django-cacheops has been removed from Netbox 3.0.0 2021-08-21 18:22:24 +02:00
Christian Mäder b258b6578c
Merge pull request #552 from netbox-community/renovate/ruamel.yaml-0.x 2021-08-21 18:03:42 +02:00
Renovate Bot 289540f576
Update dependency ruamel.yaml to v0.17.13 2021-08-21 14:53:54 +00:00
Christian Mäder 26a3f5fcc0
Merge pull request #551 from netbox-community/renovate/ruamel.yaml-0.x
Update dependency ruamel.yaml to v0.17.11
2021-08-19 11:27:59 +02:00
Renovate Bot 18ea220102
Update dependency ruamel.yaml to v0.17.11 2021-08-19 06:45:17 +00:00
Tobias Genannt 03a1793208 Drops privileges to user 101 and group 0
When the container is started as root the default was to drop privileges to "unit:unit". This caused some problems with temporary files. Now the privileges are drop to "101:0".
When the container is started as a normal user unit prints a warning that changing the user and group is not possible. This warning is safe to ignore.
2021-07-30 21:42:05 +02:00
Christian Mäder 3c01985e20
Merge pull request #542 from netbox-community/renovate/django-auth-ldap-3.x
Update dependency django-auth-ldap to v3
2021-07-30 11:16:28 +02:00
Renovate Bot 275d2673b4
Update dependency django-auth-ldap to v3 2021-07-19 07:56:47 +00:00
Tobias Genannt 746aa9b4a6
Merge pull request #534 from tobiasge/alpine-update
Alpine update to 3.14
2021-07-08 10:41:22 +02:00
Tobias Genannt c13bec47b8
Merge pull request #537 from insidieux/disable-server-side-cursors-option
Disable server side cursors option
2021-07-07 09:51:05 +02:00
Tobias Genannt 9953d11fd8
Merge pull request #536 from netbox-community/renovate/ruamel.yaml-0.x
Update dependency ruamel.yaml to v0.17.10
2021-07-07 09:47:56 +02:00
Tobias Genannt b2ee468871 Alpine update to 3.14 2021-07-07 09:44:21 +02:00
Ageev Pavel dd41d09b43 Add possibility to disable server side cursors 2021-06-24 18:21:08 +03:00
Renovate Bot abfa6c989f
Update dependency ruamel.yaml to v0.17.10 2021-06-24 09:38:10 +00:00
Christian Mäder bb3d964b89
Merge pull request #533 from netbox-community/renovate/napalm-3.x
Update dependency napalm to v3.3.1
2021-06-23 21:47:32 +02:00
Renovate Bot 6bbc7a3a84
Update dependency napalm to v3.3.1 2021-06-18 12:29:27 +00:00
Christian Mäder 17b1a5022d
Merge pull request #531 from netbox-community/renovate/ruamel.yaml-0.x
Update dependency ruamel.yaml to v0.17.9
2021-06-10 17:19:06 +02:00
Renovate Bot e38d646e8e
Update dependency ruamel.yaml to v0.17.9 2021-06-10 06:57:09 +00:00
Christian Mäder bb298e7a01
Merge pull request #530 from netbox-community/renovate/ruamel.yaml-0.x 2021-06-09 20:01:41 +02:00
Renovate Bot 98840382b9
Update dependency ruamel.yaml to v0.17.8 2021-06-09 13:53:48 +00:00
Christian Mäder b8ff0a1d43
Merge pull request #524 from jlemesh/fix/initialize_tenants_before_sites
Initialize tenants before sites
2021-06-03 11:29:53 +02:00
Jelizaveta Lemeševa 15b097bd3e Add second tenant with group to site 2021-06-01 14:22:08 +03:00
Christian Mäder e0b34b8c67
Merge pull request #527 from netbox-community/renovate/ruamel.yaml-0.x
Update dependency ruamel.yaml to v0.17.7
2021-06-01 09:45:02 +02:00
Renovate Bot 3aad44d68c
Update dependency ruamel.yaml to v0.17.7 2021-05-31 15:28:52 +00:00
Christian Mäder 6658d069fb
Merge pull request #520 from cimnine/PinNetboxMinor 2021-05-31 11:26:51 +02:00
Christian Mäder 52f097d4a2
Merge pull request #525 from netbox-community/renovate/ruamel.yaml-0.x 2021-05-31 11:25:56 +02:00
Renovate Bot f4e9ebcfb5
Update dependency ruamel.yaml to v0.17.6 2021-05-31 08:58:27 +00:00
Jelizaveta Lemeševa 057728b774 Allow sites to be initialized with tenants 2021-05-28 11:26:34 +03:00
Christian Mäder 5b618851c0 Pin the NetBox Docker version in the docker-compose.yml file 2021-05-26 19:05:37 +02:00
Christian Mäder 9f531ce0f7
Merge pull request #518 from netbox-community/renovate/github-super-linter-4.x 2021-05-26 16:46:24 +02:00
Renovate Bot dd732d7bc2
Update github/super-linter action to v4 2021-05-25 20:35:56 +00:00
Tobias Genannt 05bb40adb1
Merge pull request #511 from netbox-community/renovate/napalm-3.x
Update dependency napalm to v3.3.0
2021-05-19 09:02:18 +02:00
Renovate Bot 240326ef37
Update dependency napalm to v3.3.0 2021-05-18 13:30:10 +00:00
Tobias Genannt c49fa313ed
Merge pull request #514 from tobiasge/ttf-ubuntu
Remove 'ttf-ubuntu-font-family' from image
2021-05-18 14:23:32 +02:00
Tobias Genannt ff6bd95fce
Merge pull request #513 from tobiasge/remove-secret-initializers
Secrets are removed in Netbox 2.12
2021-05-18 14:23:07 +02:00
Tobias Genannt 0def662e53
Merge pull request #508 from netbox-community/renovate/postgres-13.x
Update postgres Docker tag to v13
2021-05-18 14:22:45 +02:00
Renovate Bot 49b7c267b9
Update postgres Docker tag to v13 2021-05-18 08:03:10 +00:00
Tobias Genannt 02f30f3a68 'ttf-ubuntu-font-family' was remove from Alpine 2021-05-18 09:34:44 +02:00
Tobias Genannt e2cc9386fb Secrets are removed in Netbox 2.12 2021-05-18 09:32:48 +02:00
Tobias Genannt 43b8b36951
Merge pull request #507 from tobiasge/run-update-when-needed
Optimise migrations on startup
2021-05-18 08:55:31 +02:00
Tobias Genannt 4d320f34d5 Optimise migrations on startup
The migrations are only started if there are some that have not been
applied. Additionally the maintenace task needed after an update are
now run after the migrations
2021-05-05 11:42:25 +02:00
Tobias Genannt 676ca798cd
Merge pull request #493 from netbox-community/develop
Release 1.2.0
2021-04-27 09:47:38 +02:00
Christian Mäder 60428d5639
Merge pull request #498 from tobiasge/build-feature-branch
Build feature branch
2021-04-27 09:16:06 +02:00
Tobias Genannt fd55ec220c
Merge pull request #497 from ryanmerolle/startup-scripts-2.10+
user, group, & permissions fix
2021-04-27 09:05:14 +02:00
Christian Mäder 73b07a7181
Merge pull request #500 from ryanmerolle/python-formatting
Python formatting Startup Scripts
2021-04-26 16:32:49 +02:00
ryanmerolle 1f3d9463f9 apply black formating to all startup_scripts 2021-04-26 10:26:10 -04:00
ryanmerolle 8678ad92ce update permission user & group lookup as suggested 2021-04-26 09:17:25 -04:00
Tobias Genannt 5b34df1471 Build feature branch
The branch for the next version of Netbox is now called "feature".
2021-04-26 09:44:52 +02:00
Christian Mäder 3d063a4b35
Merge branch 'ryanmerolle-plugins-and-logging' into develop 2021-04-26 08:55:41 +02:00
Christian Mäder f924e76adf
Formatting 2021-04-26 08:55:22 +02:00
Christian Mäder 604ff3b76d
Merge branch 'plugins-and-logging' of https://github.com/ryanmerolle/netbox-docker into ryanmerolle-plugins-and-logging 2021-04-26 08:54:31 +02:00
ryanmerolle 96545135cb remove example evn var for logging 2021-04-25 16:38:03 -04:00
ryanmerolle 474ca9e78f fully working object permissions 2021-04-25 16:31:50 -04:00
ryanmerolle 12401f2a3f correct black formatting for object_permissions.py 2021-04-25 12:13:27 -04:00
ryanmerolle 528bc17eb8 correct flake8 in object_permissions.py 2021-04-25 11:59:13 -04:00
ryanmerolle 4e31218ce6 update object permission conditionals 2021-04-25 11:15:46 -04:00
Christian Mäder d1b70ba2d4
Merge pull request #499 from ryanmerolle/ldap-example-var-name 2021-04-24 23:58:30 +02:00
ryanmerolle ff0bc9757a correct ldap example var name case 2021-04-24 10:57:15 -04:00
ryanmerolle a1e0c52825 revert startup scripts to use key for object name 2021-04-24 10:41:06 -04:00
ryanmerolle 45889c3811 commented out the logging 2021-04-23 22:38:38 -04:00
ryanmerolle 71d8ac10ac correct issues with users.yml spacing 2021-04-21 12:59:30 -04:00
ryanmerolle 744ed91e2a permissions script cleanup 2021-04-21 12:33:35 -04:00
ryanmerolle b1bcfcbc4e fix isort on groups & permissions scripts 2021-04-21 08:27:20 -04:00
ryanmerolle a7a5d13637 updated given linting feedback 2021-04-20 18:05:47 -04:00
ryanmerolle 5d4ecb7f9e user, group, & permissions fix 2021-04-20 17:47:49 -04:00
ryanmerolle 69dd87689c switch plugin example to netbox_bgp 2021-04-20 07:55:12 -04:00
ryanmerolle 9fab9a3434 mention plugin wiki page in plugins.py comment 2021-04-20 07:52:08 -04:00
ryanmerolle b69a97d2ca add LOGLEVEL into netbox.env 2021-04-20 07:48:41 -04:00
ryanmerolle 8176ef8499 Add expample logging configuration 2021-04-20 07:46:39 -04:00
ryanmerolle eb5cc88b25 Add expample plugin configuration 2021-04-20 07:46:29 -04:00
Christian Mäder f2731d3fe6
Merge pull request #448 from ryanmerolle/develop
AUTH_LDAP_MIRROR_GROUPS ldap_config tweak
2021-04-20 10:15:52 +02:00
ryanmerolle 6f4d025cb7 backed out ldap_config changes 2021-04-20 03:38:20 -04:00
ryanmerolle 222ede2c4b enahance ldap extra.py with more examples 2021-04-20 03:35:57 -04:00
Christian Mäder 5304c8f901
Merge pull request #483 from netbox-community/renovate/django-auth-ldap-2.x
Update dependency django-auth-ldap to v2.4.0
2021-04-20 09:24:20 +02:00
Ryan Merolle 28a26288c9
Merge pull request #3 from netbox-community/develop
pull in develop changes
2021-04-19 22:25:55 -04:00
Renovate Bot 53d759e263
Update dependency django-auth-ldap to v2.4.0 2021-04-19 13:13:02 +00:00
Tobias Genannt 6879412e2b
Merge pull request #495 from tobiasge/no-random-port
Don't publish Netbox on random port
2021-04-19 11:33:23 +02:00
Tobias Genannt a89d2e035c Don't publish Netbox on random port 2021-04-17 10:16:40 +02:00
Tobias Genannt d5c92e9a7d Preparation for 1.2.0 2021-04-16 20:27:33 +02:00
Tobias Genannt c7df608696
Merge pull request #485 from tobiasge/prepare-2.11
Initializer updates for Netbox 2.11
2021-04-16 20:00:35 +02:00
Christian Mäder eee07f703a
Merge pull request #492 from jhujhiti/upstreaming
Fix quoting of exec argument in the entrypoint script
2021-04-16 08:42:15 +02:00
Erick Turnquist 6e7d5a6f59 Fix quoting of exec argument in the entrypoint script 2021-04-15 17:36:14 -04:00
Tobias Genannt 752f592e58
Fixed Python f-string
Co-authored-by: Christian Mäder <cimnine@users.noreply.github.com>
2021-04-13 15:50:23 +02:00
Tobias Genannt f637de88f0 Improved error logging 2021-04-13 14:38:52 +02:00
Christian Mäder a5da38203f
Merge pull request #482 from Daimler/custom-link-error-fix
Fixes #480: Custom Links initialiser breaks if content_type is invalid
2021-04-13 09:33:41 +02:00
Christian Mäder 14c0d17704
Merge pull request #486 from netbox-community/renovate/ruamel.yaml-0.x
Update dependency ruamel.yaml to v0.17.4
2021-04-12 17:12:05 +02:00
Renovate Bot a572d5f5de
Update dependency ruamel.yaml to v0.17.4 2021-04-07 20:52:56 +00:00
Tobias Genannt 3673196c16 Fields in Custom links have been renamed 2021-04-07 15:19:14 +02:00
Tobias Genannt 9874cef369 VLAN Groups can be scoped to multiple types 2021-04-07 15:18:33 +02:00
Tobias Genannt 1c4b6741ac Fixed isort issues 2021-04-07 11:01:01 +02:00
Tobias Genannt b18e4aaf92 Fix super-linter on PRs
See: https://github.com/github/super-linter#example-connecting-github-action-workflow
2021-04-07 10:57:14 +02:00
Tobias Genannt 45824ba4f3 Devices can be added to locations 2021-04-07 09:57:59 +02:00
Tobias Genannt 5944086435 Rack groups have been renamed to locations 2021-04-07 09:40:58 +02:00
Marcus Crane a2e33c166d
Fix link name reference if content type is invalid
Currently, the name of a custom link is referenced
as if it is an object attribute which causes a break
due to it actually being a dictionary.

This minor change means that the startup script won't
*ahem* fail upon failing :)

Signed-Off-by: Marcus Crane <marcus.crane@daimler.com>
2021-04-01 18:48:13 +13:00
Christian Mäder 9ab202f921
Merge pull request #479 from netbox-community/renovate/ruamel.yaml-0.x 2021-03-29 19:25:17 +02:00
Renovate Bot cca79b5dbd
Update dependency ruamel.yaml to v0.17.2 2021-03-29 17:03:30 +00:00
Christian Mäder 61eecdd343
Merge pull request #477 from netbox-community/renovate/ruamel.yaml-0.x
Update dependency ruamel.yaml to v0.17.0
2021-03-26 18:16:33 +01:00
Renovate Bot ce6fe5cb83
Update dependency ruamel.yaml to v0.17.0 2021-03-26 11:37:33 +00:00
Christian Mäder 8f119ede13
Merge pull request #469 from cimnine/Sponsoring
Sponsor Message
2021-03-12 18:31:53 +01:00
Christian Mäder edb61f3d90 Sponsor Message 2021-03-11 19:06:49 +01:00
Christian Mäder cb5ffa0354
Merge pull request #460 from netbox-community/renovate/ruamel.yaml-0.x
Update dependency ruamel.yaml to v0.16.13
2021-03-05 15:31:33 +01:00
Renovate Bot ff1eed3cf0
Update dependency ruamel.yaml to v0.16.13 2021-03-05 09:58:42 +00:00
Christian Mäder 53d593de25 Preparation for 1.1.0 2021-03-04 12:07:21 +01:00
Christian Mäder 8111da308b
Merge pull request #455 from cimnine/NewSlack
New Slack
2021-03-04 12:04:02 +01:00
Christian Mäder 0125ab4849 New Slack and wording improvements in templates 2021-03-04 09:59:05 +01:00
Christian Mäder ad0c04985b
Merge pull request #452 from cimnine/ReleaseScript
Release Script
2021-03-01 08:52:17 +01:00
Christian Mäder 793393fe0f Fix DEFAULT_REPO in release.sh 2021-03-01 08:27:24 +01:00
Christian Mäder 59995a8719 Add release script 2021-02-27 15:05:05 +01:00
Ryan Merolle f19d650412
Merge pull request #1 from netbox-community/develop
Merge upstream changes
2021-02-25 12:14:16 -05:00
Christian Mäder 6cd156f7d5
Merge pull request #450 from netbox-community/FilterMainConfig
Fix loading main_config again during discovery of dynamic configurations
2021-02-24 08:21:18 +01:00
Christian Mäder 95976f4cf4 Don't load main config twice
Before, the main_config (e.g. 'configuration.py' or 'ldap_config.py') were loaded twice.
The first load was hard-coded and correct.
The second load was during the discovery phase for dynamic configurations.
This has now been fixed. During the discovery for dynamic configurations,
the main_config file is now excluded.

Thanks @tobiasge for discovering this bug.
2021-02-23 22:50:16 +01:00
Ryan Merolle 0dec4d8df4
Add extra.py example for ldap config 2021-02-22 16:00:08 -05:00
ryanmerolle 22186b267d do not set AUTH_LDAP_MIRROR_GROUPS if not defined 2021-02-22 15:55:40 -05:00
ryanmerolle 020e0adeb4 update .gitignore to keep extra.py in ldap config 2021-02-22 15:53:02 -05:00
Christian Mäder 009eb1fc6d
Merge pull request #444 from netbox-community/RemoveMicroBadger
Remove MicroBadger Badges
2021-02-19 08:52:06 +01:00
Christian Mäder 989c250a82 Remove MicroBadger Badges
The service will shutdown in 2021:
https://microbadger.com/shutdown
2021-02-18 16:57:51 +01:00
Christian Mäder 3ee231bdd8
Merge pull request #438 from netbox-community/renovate/django-auth-ldap-2.x
Update dependency django-auth-ldap to v2.3.0
2021-02-16 08:54:57 +01:00
Renovate Bot 3338cdc9d7
Update dependency django-auth-ldap to v2.3.0 2021-02-16 00:06:58 +00:00
Christian Mäder c80fb19507
Merge pull request #432 from netbox-community/develop
Version 1.0.2
2021-02-10 13:15:49 +01:00
Christian Mäder 74543ec272 Preparation for 1.0.2 2021-02-10 12:47:54 +01:00
Christian Mäder 9ccf0ac921
Merge pull request #431 from netbox-community/VersionsToWiki
Move Documentation about Version to Wiki
2021-02-10 12:47:09 +01:00
Christian Mäder 8aed79363a Move Documentation about Version to Wiki
See https://github.com/netbox-community/netbox-docker/wiki/Version.
2021-02-10 12:45:37 +01:00
Christian Mäder f7337ed1e9
Merge pull request #427 from netbox-community/AddEditorconfig
Introduce Linting-Step in Build
2021-02-10 12:35:48 +01:00
Christian Mäder 4c8435e874 fixup! Lint the syntax of changes 2021-02-10 10:48:45 +01:00
Christian Mäder a37f1592fc Sort env files 2021-02-08 18:56:30 +01:00
Christian Mäder 04ac3d5f4b Format shell scripts with shfmt 2021-02-08 18:56:30 +01:00
Christian Mäder c6df6a040a Fix shellcheck complaint 2021-02-08 18:56:30 +01:00
Christian Mäder 28e4ae44fb Lint the syntax of changes 2021-02-08 18:56:30 +01:00
Christian Mäder 493fc60401 Use black as formatter for python files 2021-02-08 18:24:29 +01:00
Christian Mäder 0d25aff744 Add editorconfig 2021-02-08 18:24:29 +01:00
Christian Mäder f33c647f24 Merge branch 'MajesticFalcon-feature' into develop 2021-02-08 10:37:04 +01:00
Christian Mäder 16ae063321 Adjust to repository standards 2021-02-08 10:36:50 +01:00
Schylar Utley e4e2c788a9 Update 290_webhooks.py
Move to a more standard method of object handling
2021-02-08 10:09:55 +01:00
Schylar Utley 2e5d84612d Update initializers/custom_links.yml
Co-authored-by: Christian Mäder <cimnine@users.noreply.github.com>
2021-02-08 10:09:55 +01:00
Schylar Utley 744f0e57ad Update initializers/webhooks.yml
Co-authored-by: Christian Mäder <cimnine@users.noreply.github.com>
2021-02-08 10:09:55 +01:00
Schylar Utley 52c51b5f99 Update initializers/custom_links.yml
Co-authored-by: Christian Mäder <cimnine@users.noreply.github.com>
2021-02-08 10:09:55 +01:00
Schylar Utley f88f4e1579 Update startup_scripts/290_webhooks.py
Co-authored-by: Christian Mäder <cimnine@users.noreply.github.com>
2021-02-08 10:09:55 +01:00
Schylar Utley 95f4d7856a Update startup_scripts/280_custom_links.py
Co-authored-by: Christian Mäder <cimnine@users.noreply.github.com>
2021-02-08 10:09:55 +01:00
Schylar Utley 07a0b1d7ef Update startup_scripts/280_custom_links.py
Co-authored-by: Christian Mäder <cimnine@users.noreply.github.com>
2021-02-08 10:09:55 +01:00
Schylar Utley fe811f37bd replace loop with list comprehension 2021-02-08 10:09:55 +01:00
Schylar Utleye 8321449cc0 add icons to help messages 2021-02-08 10:09:55 +01:00
Schylar Utleye 618feff63a add error handling for webhook and custom links. fix initializer comments 2021-02-08 10:09:55 +01:00
Schylar Utleye a3cf645dc5 fix webhook initializer yaml and webhook startup script to work with latest netbox release 2021-02-08 10:09:55 +01:00
Schylar Utleye d0c786e831 Update webhooks.yml
fix comment
2021-02-08 10:09:54 +01:00
Schylar Utleye 7112a88359 add webhook initializer 2021-02-08 10:09:54 +01:00
Schylar Utleye 187ae4b2a1 add custom link initializers 2021-02-08 10:09:54 +01:00
Christian Mäder 3a0b3fe133
Merge pull request #426 from netbox-community/FixBuild
Dependencies to build 'cryptography' Python package
2021-02-08 09:55:12 +01:00
Christian Mäder 5343eaae65 Fix building cryptography pip 2021-02-08 09:03:33 +01:00
Christian Mäder 83a0d5d12f
Merge pull request #425 from ypid/fix/branding
NetBox should always be referred to as NetBox
2021-02-04 22:17:29 +01:00
Robin Schneider ee40e339c8
NetBox should always be referred to as NetBox
Fix all instances of "Netbox".

```Shell
git ls-files -z . | xargs --null -I '{}' find './{}' -type f -print0 | xargs --null sed --in-place --regexp-extended 's#Netbox#NetBox#g;'
```

Ref: https://netbox.readthedocs.io/en/stable/development/style-guide/#branding
2021-02-04 21:48:08 +01:00
Tobias Genannt 04e0b3d3ca
Merge pull request #421 from tobiasge/django-storages-backends
Provide backends for django-storages in our images
2021-02-04 19:36:21 +01:00
Christian Mäder fa70e0b761
Merge pull request #423 from netbox-community/ImprovedIssueTemplate
Change the phrasing of the alternative issue options
2021-02-03 21:59:42 +01:00
Christian Mäder 88b35eb48e Change the phrasing of the alternative options 2021-02-03 21:46:11 +01:00
Tobias Genannt 5644254113 Provide backends for django-storages in our images 2021-02-03 20:01:36 +01:00
Christian Mäder 4dd7a51c7d
Merge pull request #419 from netbox-community/develop
Version 1.0.1
2021-02-03 15:30:31 +01:00
Christian Mäder c7e259e116 Merge branch 'release' into develop 2021-02-03 15:01:11 +01:00
Christian Mäder 3cbe07cb0e Preparation for 1.0.1 2021-02-03 14:52:21 +01:00
Tobias Genannt 70b38d52b9
Merge pull request #413 from tobiasge/fix-412
Is greater than or equal to is "-ge" and not "-gte".
2021-01-31 21:38:49 +01:00
Tobias Genannt a21d146b60 Is greater than or equal to is "-ge" and not "-gte". 2021-01-31 16:39:45 +01:00
Christian Mäder 6e7a64bd81
Merge pull request #410 from netbox-community/renovate/django-storages-1.x
Update dependency django-storages to v1.11.1
2021-01-31 16:07:40 +01:00
Renovate Bot f8360ba6aa
Update dependency django-storages to v1.11.1 2021-01-31 14:42:24 +00:00
Christian Mäder bab8373f66
Merge pull request #411 from netbox-community/renovate/actions-checkout-2.x
Update actions/checkout action to v2
2021-01-31 15:41:41 +01:00
Renovate Bot ad93c99f46
Update actions/checkout action to v2 2021-01-31 11:55:20 +00:00
Christian Mäder ed6256172f
Merge pull request #394 from netbox-community/develop
Prepare version 1.0.0
2021-01-29 10:48:29 +01:00
Christian Mäder 5109e340ca Prepare for Version 1.0.0 2021-01-28 10:22:48 +01:00
Christian Mäder 62d31fda58
Merge pull request #398 from netbox-community/updateYAML
Update of ruamel.yaml
2021-01-20 16:08:03 +01:00
Tobias Genannt ed141c8a4e
Merge pull request #399 from tobiasge/prevent-edge-from-failing
Prevent "alpine:edge" from failling the workflow
2021-01-20 13:14:09 +01:00
Christian Mäder 4d8d02e35a
Merge pull request #397 from netbox-community/SkipStartupScriptsForUnitTests
Skip Startup Scripts in Unit Tests
2021-01-20 13:08:25 +01:00
Tobias Genannt 96132e1dcc Prevent "alpine:edge" from failling the workflow
Alpine is releases a new version once a year. Therefore our workflow
runs don't need to be marked as failed when run on alpine:edge
2021-01-20 10:43:07 +01:00
Christian Mäder 896651ed97 Update of ruamel.yaml 2021-01-20 09:50:00 +01:00
Christian Mäder f810d0342d Skip Startup Scripts in Unit Tests 2021-01-20 09:36:13 +01:00
Christian Mäder 323e18278a Merge branch 'MajesticFalcon-iss365' into develop 2021-01-20 09:03:31 +01:00
Schylar Utley a0f7737916 rebase and fix script order 2021-01-20 09:03:04 +01:00
Schylar Utley 7f8cc76af6 address issue #365 2021-01-20 09:03:04 +01:00
Christian Mäder 21bd7f426c
Merge pull request #393 from MajesticFalcon/vm_init_bug
Bugfix - Allow primary device IP without virtual machine initialization
2021-01-20 08:54:13 +01:00
Christian Mäder 3758bc805a
Merge pull request #396 from netbox-community/renovate/configure
Configure Renovate
2021-01-20 08:26:35 +01:00
Christian Mäder 72859ca71a Configure Renovate 2021-01-20 08:24:47 +01:00
Renovate Bot 0022392f03 Add renovate.json 2021-01-20 08:24:28 +01:00
Schylar Utley 385c66e30d
Update startup_scripts/270_primary_ips.py
Ah, of course.. I would agree. :)

Co-authored-by: Christian Mäder <cimnine@users.noreply.github.com>
2021-01-19 12:54:52 -06:00
Christian Mäder 65023a7dd4
Merge pull request #384 from ryanmerolle/develop
Expand Initialization Support
2021-01-19 18:59:49 +01:00
Tobias Genannt 426adb2333 Preparation for 0.28.0 2021-01-18 08:38:44 +01:00
Schylar Utley 584566b0f0 allow simultaneous virtual machine and device primary ip initialization 2021-01-15 23:44:10 -06:00
Schylar Utley 5399f8c890 Update 270_primary_ips.py
fix issue where user has no virtual machines defined, but startup script still tries to iterate over empty file.
2021-01-15 23:42:26 -06:00
ryanmerolle 2372c1eeff remove site from power_feeds 2021-01-15 15:02:01 -05:00
ryanmerolle 788aeacd9b correct missing required sites in power_feeds 2021-01-15 14:25:42 -05:00
ryanmerolle 00fa1793d0 update services examples 2021-01-15 14:14:07 -05:00
ryanmerolle 4260e9b864 more comment corrections 2021-01-15 09:26:09 -05:00
ryanmerolle 02713e1465 showcase protcol options in services initializer 2021-01-15 09:23:21 -05:00
ryanmerolle 728a16c93d correct initializers commenting 2021-01-15 09:19:21 -05:00
Tobias Genannt 742560c571
Merge pull request #361 from tobiasge/nginx-unit
Use Nginx Unit to serve the application
2021-01-15 13:33:55 +01:00
Tobias Genannt d273391773 Gunicorn is replaced with nginx-unit
We now serve Netbox with an nginx-unit instance instead of Gunicorn.
This allows us to get rid of the extra Nginx container because Unit is
also serving the static files. The static files are now collected at container
buildtime instead of every startup.
2021-01-15 09:22:22 +01:00
Christian Mäder 380cb77080
Merge pull request #386 from netbox-community/LinksForIssues
Links for issues
2021-01-12 11:08:50 +01:00
Christian Mäder 92b6608403
Create config.yml for ISSUE_TEMPLATE
This commit adds links to the _New Issue_ section of Github.
The intention is to provide more hints where to get help and
further reduce the amount of Github issues that can not be
acted upon.
2021-01-07 14:08:06 +01:00
ryanmerolle 94509f86d7 added route_targets startup_script 2020-12-30 19:11:09 -05:00
ryanmerolle 818266ace1 added services startup_script 2020-12-30 19:10:46 -05:00
ryanmerolle dfb0327340 Added power startup_scripts 2020-12-30 19:10:30 -05:00
ryanmerolle e3946af27c added tenant to example aggregates.yml 2020-12-30 19:09:27 -05:00
ryanmerolle 8d8c58df54 optional assoc to cluster & circuit startup_script 2020-12-30 19:09:08 -05:00
ryanmerolle cbaaffc589 add extra space after ▶️ to remove text overlap 2020-12-30 18:23:12 -05:00
ryanmerolle 0f1cc9eea0 add tenant to aggregate startup_script 2020-12-30 18:22:12 -05:00
ryanmerolle 90018fc6d7 add cluster group startup script 2020-12-29 22:10:19 -05:00
ryanmerolle 621fa12934 comment out secret roles 2020-12-29 22:09:31 -05:00
ryanmerolle 3094665092 add tags & secret roles 2020-12-29 19:36:58 -05:00
ryanmerolle 31f52041f8 correct circuit model startup scripts 2020-12-29 18:27:41 -05:00
ryanmerolle 6ab38472be circuits model startup_scripts 2020-12-29 16:24:16 -05:00
Christian Mäder aa4d630a0f
Merge pull request #371 from netbox-community/develop
Version 0.27.0
2020-12-15 09:53:01 +01:00
Christian Mäder 4e8588accf Preparation for 0.27.0 2020-12-15 08:59:42 +01:00
Christian Mäder 07469b2b72
Merge pull request #370 from netbox-community/GettingHelp
Introducing our Github Community
2020-12-15 08:54:30 +01:00
Christian Mäder a7c1d9f550
Merge pull request #369 from netbox-community/AddQuayIo
Add quay.io as fallback registry
2020-12-15 08:53:35 +01:00
Christian Mäder 5605b9b218 Introduce our Github Community 2020-12-15 00:50:02 +01:00
Christian Mäder b92c652d99 Add quay.io as fallback registry 2020-12-15 00:41:01 +01:00
Christian Mäder d77b3c1222
Merge pull request #342 from netbox-community/Fix337
Prepare for Netbox v2.10.x
2020-12-14 22:51:24 +01:00
Christian Mäder e383fd42bd Fix custom fields initializer 2020-12-14 22:11:01 +01:00
Christian Mäder 234baa40a5 Remove redundant assignment in for loop 2020-12-14 20:58:50 +01:00
Christian Mäder 77d3dcded0 Fix leftover from testing in test.sh 2020-12-14 20:58:50 +01:00
Christian Mäder 349e269356 Remove the legacy select_field from the samples
This was only used for testing.
2020-12-14 20:58:50 +01:00
Christian Mäder 5c9bea8b50 Update Custom Field logic for Netbox v2.10.x 2020-12-14 20:58:43 +01:00
Christian Mäder 036f94a450 Simplify test script for manual tests 2020-12-14 20:54:19 +01:00
Christian Mäder 9d51762161
Merge pull request #359 from devon-mar/login-timeout-fix
Fix TypeError when using LOGIN_TIMEOUT
2020-11-13 15:36:16 +01:00
devon-mar 4276c941eb
Change LOGIN_TIMEOUT default to int
Co-authored-by: Christian Mäder <cimnine@users.noreply.github.com>
2020-11-03 14:57:12 -08:00
Christian Mäder 3cbdf26773
Merge pull request #356 from timrabl/enviroment-changes
Enviroment changes
2020-11-03 18:44:44 +01:00
devon-mar fbfce46ce5 Fix TypeError when using LOGIN_TIMEOUT 2020-11-02 22:39:06 -08:00
Tim Oliver Rabl 255889288c Rename SESSION_FILE_PATH default environment variable in configration.py 2020-10-30 23:06:42 +01:00
Tobias Genannt c068db1751
Merge pull request #348 from tobiasge/python-upgrade
Upgrade Python image to 3.9-alpine
2020-10-29 17:12:24 +01:00
Christian Mäder 378784a19c
Merge pull request #328 from pruiz/pruiz/make-ldap-group-settings-optional
Allow disabling LDAP-group related settings when AUTH_LDAP_*_GROUP environment variables are not defined
2020-10-29 16:24:17 +01:00
Pablo Ruiz dcb3b5495d Remove now unneeded os. prefix from environ calls. 2020-10-29 14:57:34 +01:00
Pablo Ruiz 60f4e8b2ed Allow disabling LDAP-group related settings when AUTH_LDAP_*_GROUP environment variables are not defined. This is required in order to work with Google's Secure LDAP, due to some limitations on django-auth-ldap plugin (see: https://github.com/django-auth-ldap/django-auth-ldap/issues/201) 2020-10-29 14:56:35 +01:00
Christian Mäder a51ad36801
Merge pull request #355 from netbox-community/develop
Version 0.26.2
2020-10-27 16:41:48 +01:00
Christian Mäder 953ee09b0c Preparation for 0.26.2 2020-10-27 16:24:10 +01:00
Christian Mäder 94047d60ed
Merge branch 'release' into develop 2020-10-27 16:22:59 +01:00
Christian Mäder 80bfd98000
Merge pull request #354 from comphilip/release
Fix ldap configuration in /etc/netbox/config/ldap/*.py not loaded
2020-10-27 16:11:55 +01:00
comphilip 7694fd320a
use extend method for simplification.
Co-authored-by: Christian Mäder <cimnine@users.noreply.github.com>
2020-10-27 21:12:26 +08:00
Christian Mäder 097bea8702
Merge pull request #353 from netbox-community/develop
Version 0.26.1
2020-10-27 12:32:43 +01:00
comphilip a3c21ae0ac
Fix ldap configuration in /etc/netbox/config/ldap/*.py not loaded 2020-10-27 19:27:51 +08:00
Christian Mäder 074960327b Preparation for 0.26.1 2020-10-27 10:30:55 +01:00
Christian Mäder e1462d9ca4
Merge pull request #351 from netbox-community/RevertPrometheusPreps
Revert changes to 'gunicorn_config.py'
2020-10-27 10:29:07 +01:00
Christian Mäder a5aa1bfd3b Revert changes to 'gunicorn_config.py' 2020-10-27 09:31:47 +01:00
Christian Mäder cb02450783
Merge pull request #350 from comphilip/release
Fix "'NoneType' object has no attribute 'lower'" when no AUTH_LDAP_MI…
2020-10-27 09:29:34 +01:00
comphilip 8307560c88
Fix "'NoneType' object has no attribute 'lower'" when no AUTH_LDAP_MIRROR_GROUPS defined 2020-10-27 15:51:12 +08:00
Christian Mäder 43aea3a1dd
Merge pull request #349 from netbox-community/develop
Version 0.26.0
2020-10-26 16:55:21 +01:00
Tobias Genannt bb2ac7bd71 Disable tests for Python 3.10-rc
Some of the dependencies of Netbox can't be built with Python 3.10.
2020-10-26 16:47:38 +01:00
Tobias Genannt 30a98c5009 Upgrade Python image to 3.9-alpine
Upgrade the default base image to Python 3.9 and start testing on Python 3.10-rc
2020-10-26 16:25:38 +01:00
Christian Mäder a52a5547be Preparation for 0.26.0 2020-10-26 16:21:47 +01:00
Tobias Genannt 120a605d35
Merge pull request #347 from tobiasge/python-final
Use release version of Python 3.9 in tests
2020-10-26 16:06:12 +01:00
Christian Mäder e51f9cbc18
Merge pull request #344 from netbox-community/Prometheus
Prepare for Monitoring with Prometheus
2020-10-26 15:58:52 +01:00
Tobias Genannt 071401b771
Merge pull request #346 from tobiasge/fix-action-warning
Fix warning in Github Actions
2020-10-26 15:48:50 +01:00
Tobias Genannt 911488242f Use release version of Python 3.9 in tests 2020-10-26 15:42:31 +01:00
Christian Mäder 5512ea68b3 Ignore prometheus.yml 2020-10-26 15:40:22 +01:00
Christian Mäder 7d055fbcaf Mention monitoring in README 2020-10-26 15:29:41 +01:00
Tobias Genannt 3d244a1946 Fix warning in Github Actions
Our build script is using "set-env" which has been deprecated by Github.
See this bolg entry:
https://github.blog/changelog/2020-10-01-github-actions-deprecating-set-env-and-add-path-commands/
2020-10-26 15:23:17 +01:00
Christian Mäder e18d6c53b3 Revert most changes 2020-10-26 15:22:56 +01:00
Christian Mäder 48decdeb0e Monitoring parts to docker-compose.monitorin.yml 2020-10-26 15:22:56 +01:00
Christian Mäder 6ac65a64c9 Fix test 2020-10-26 15:22:56 +01:00
Christian Mäder f46d8a7782 Adds Prometheus/Grafana monitoring infrastructure 2020-10-26 15:22:52 +01:00
Christian Mäder 64d82b5e42
Merge pull request #343 from netbox-community/DynamicVariables
Dynamic Configuration
2020-10-26 15:21:42 +01:00
Christian Mäder 58050e5287 Merge core functionality into configuration.py
Which is the file `docker/configuration.docker.py` in our repo.
The common code is then imported by `docker/ldap_config.docker.py`.
2020-10-26 14:43:11 +01:00
Christian Mäder 2dba2b8811 Fix default for secret_key in configuration.py 2020-10-20 21:45:37 +02:00
Christian Mäder d0c7b87925 Improve order in configuration.py 2020-10-20 21:40:14 +02:00
Christian Mäder ec3fd8a790 Revert accidential change to _read_secret order 2020-10-20 21:36:40 +02:00
Christian Mäder 75554ef5b4 Consistency in namespace name 2020-10-20 21:29:08 +02:00
Christian Mäder dad0608834 Rename example.py to extra.py
And add some comments to the the file that hopefully guide the user.
2020-10-20 20:51:43 +02:00
Christian Mäder dc77f1a0b1 Ignore non-default configuration files 2020-10-20 20:51:43 +02:00
Christian Mäder 16b567939c Dot character has special meaning in module names
Therefore we esacpe it using the underscore character.
2020-10-20 20:51:43 +02:00
Christian Mäder 20820e10c2 Optimize Imports in ldap_config.py 2020-10-20 20:51:35 +02:00
Christian Mäder 553c8ea470 Update configuration.py 2020-10-20 20:49:59 +02:00
Christian Mäder 811618b359 Lower gunicorn default loglevel 2020-10-20 20:46:43 +02:00
Christian Mäder 7429835970 Sample dynamic configuration file 2020-10-20 20:46:43 +02:00
Christian Mäder 43c05d816d Dynamically load configuration files 2020-10-20 20:46:43 +02:00
Christian Mäder fd3d3d11d1 Tiny refactoring 2020-10-20 20:46:43 +02:00
Christian Mäder 121c3f800d Merge branch 'eemil-develop' into develop 2020-10-20 19:23:11 +02:00
Christian Mäder 9287995df4 Update to latest configuration 2020-10-20 19:22:52 +02:00
eemil 85fbb0af70 fix typo
Co-authored-by: Christian Mäder <cimnine@users.noreply.github.com>
2020-10-20 19:20:29 +02:00
eemil 6bada6660a Prefer secret to env variable if both are configured 2020-10-20 19:20:29 +02:00
Christian Mäder df3ab69c0f
Merge pull request #310 from shuichiro-makigaki/add-remote-auth
Add REMOTE_AUTH_* configs
2020-10-20 09:02:27 +02:00
Shuichiro MAKIGAKI 38f4474b14 Add REMOTE_AUTH_* support 2020-10-20 11:11:32 +09:00
Christian Mäder 51331621ab
Merge pull request #345 from netbox-community/enable_sponsoring
Enable Sponsoring Button
2020-10-19 17:13:34 +02:00
Christian Mäder 156681f68d
Merge pull request #327 from madnutter56/mirror_ldap_groups
add option to mirror ldap groups into netbox
2020-10-19 17:06:51 +02:00
Alex Houlton 9f4a9f528c add option to mirror ldap groups into netbox
this commit allows ldap assigned groups to be mirrored into
netbox users.

The default is None as this is not the primary way to do this
change.
2020-10-19 07:50:33 -07:00
Christian Mäder cad803ed31
Create FUNDING.yml to enable sponsoring 2020-10-19 16:50:04 +02:00
Christian Mäder 9efaccadf7 Merge branch 'Tassatux-develop' into develop 2020-10-18 11:41:03 +02:00
Christian Mäder f553d17655 Change log message 2020-10-18 11:31:48 +02:00
Christian Mäder 2b361c4541 Merge branch 'develop' of https://github.com/Tassatux/netbox-docker into Tassatux-develop 2020-10-18 11:24:51 +02:00
Christian Mäder c744603a85
Merge pull request #336 from ericgeldmacher/develop
Fix sites.yml initializer
2020-09-21 21:04:39 +02:00
Eric Geldmacher 1133ef50de Fix sites.yml initializer 2020-09-15 15:38:24 -05:00
Tobias Genannt b33a509e25
Merge pull request #333 from tobiasge/python-3.8
Move default source image to Python 3.8
2020-09-01 15:35:17 +02:00
Tobias Genannt 79f0b997f3
Merge pull request #332 from tobiasge/image-deps
Update images in docker-compose
2020-09-01 14:04:21 +02:00
Tobias Genannt 32cef1dcf8
Enable test on Python 3.9 2020-09-01 13:52:01 +02:00
Tobias Genannt 74833a9b21 Update images in docker-compose 2020-09-01 13:34:42 +02:00
Tobias Genannt a68f315acb Move default source image to Python 3.8 2020-09-01 12:27:39 +02:00
Tobias Genannt 00022e7d79
Merge pull request #331 from netbox-community/develop
Develop
2020-09-01 11:05:25 +02:00
Tobias Genannt dd490605ca Preparation for 0.25.0 2020-09-01 10:40:16 +02:00
Tobias Genannt e2711ca205
Merge pull request #326 from tobiasge/fix-startup-2.9
Fixes for Netbox 2.9
2020-09-01 10:37:37 +02:00
Tobias Genannt a87f2b3331
Merge pull request #329 from tdorsey/patch-1
Fix typo in Readme
2020-08-31 08:03:33 +02:00
tdorsey f174749f98
chore: fix typo 2020-08-30 22:06:20 -04:00
Tobias Genannt b02a93904e Fixed IP address creation for Netbox 2.9 2020-08-24 14:20:35 +02:00
Tobias Genannt 3ace32dfc2 Fixed creation of passwords for Netbox 2.9 2020-08-24 11:08:28 +02:00
Tobias Genannt 9fae2b0f74 Fixed VM interface creation for Netbox 2.9 2020-08-24 11:08:23 +02:00
Christian Mäder 23c3240863
Merge pull request #319 from jamiereid/release
Update README.md
2020-07-14 09:09:20 +02:00
Jamie Reid 3f9e874d77
Update README.md
fix spelling mistake
2020-07-14 11:19:49 +10:00
Christian Mäder 4b0f158852
Merge pull request #313 from jgcasd/jgcasd-patch-1
Add optional LOGIN_TIMEOUT to configuration.py
2020-06-17 15:26:16 +02:00
John G 51490d0039
Added LOGIN_TIMEOUT option to configuration.py
Added LOGIN_TIMEOUT option to configuration.py. The option is already available in standard Netbox configuration.
2020-06-16 11:27:59 -07:00
Aurélien Dunand df72d6bbb5 Handle primary IPs on devices and VMs 2020-06-05 13:12:27 +02:00
Christian Mäder 688672de26
Merge pull request #308 from netbox-community/XForwardedProto
Remove the 'X-Forwarded-Proto' line from the nginx config
2020-06-05 11:57:23 +02:00
Christian Mäder 5624ecc65e Remove the 'X-Forwarded-Proto' line from the nginx config
The reason is that in the default configuration nginx is only serving 'http' traffic.
So if an upstream proxy sets the 'X-Forwarded-Proto' header, because it is terminating
TLS, then nginx will overwrite it to 'http'. This will cause django to think the page
is served via 'http' and it will not create 'https://...' URLs.

Related to #292
2020-06-02 16:06:52 +02:00
Christian Mäder 7f93b328af
Merge pull request #307 from netbox-community/FixFileMatching
Don't try to run non-python files
2020-06-02 14:42:58 +02:00
Christian Mäder ccad15ecf7 Don't try to run non-python files 2020-06-02 13:37:57 +02:00
Tobias Genannt e9a9d9b70b
Merge pull request #305 from netbox-community/develop
Preparation for 0.24.1
2020-05-29 14:41:15 +02:00
Tobias Genannt 03b36058cd Preparation for 0.24.1 2020-05-29 10:09:08 +02:00
Tobias Genannt 9e06a38d41
Merge pull request #304 from tobiasge/fix-303
Fix #303 for Netbox v2.8.5
2020-05-29 10:03:22 +02:00
Tobias Genannt b7ad18afb0 Fix #303 for Netbox v2.8.5
In this Netbox version the ColorChoices where moved to utilities.choiceFix #303 for Netbox v2.8.5

In this Netbox version the ColorChoices where moved to utilities.choicess
2020-05-27 09:10:24 +02:00
Aurélien Dunand a9232e4f30 Add optional primary_ip on virtual machines initializer 2020-05-22 17:40:11 +02:00
Tobias Genannt 93a3784295
Merge pull request #296 from netbox-community/develop
Release 0.24.0
2020-05-16 18:56:06 +02:00
Tobias Genannt 45f7823a17 Preparation for 0.24.0 2020-05-15 13:59:45 +02:00
Tobias Genannt a6584d2874
Merge pull request #274 from tobiasge/optimise-builds
Optimise builds
2020-05-15 13:57:43 +02:00
Tobias Genannt fd87c7cb98
Merge pull request #294 from netbox-community/Fix284
Fix #284: Fixes the bug that initializers with no data stopped the execution of the later initializers
2020-05-15 13:57:23 +02:00
Christian Mäder 1f38ca0a86
Merge pull request #295 from minitriga/#293_ssl_tls_env
Implement SSL and TLS Config
2020-05-15 09:29:02 +02:00
Alexander GITTINGS efec435ba0 fix some issues 2020-05-14 15:37:47 +00:00
Alexander GITTINGS ab8ff04852 #293 2020-05-14 15:09:25 +00:00
Christian Mäder 77feec30a0 Don't stop when startup_scripts quit
Fixes #284
2020-05-14 16:59:30 +02:00
mbchristoff bed40b0d05
Add STARTTLS option. (#277)
* Add STARTTLS option.
2020-05-14 16:41:42 +02:00
Christian Mäder 24f0545bc6 Merge branch 'ryanmerolle-develop' into develop 2020-05-14 16:20:07 +02:00
Christian Mäder 1bc1ab2a0a Preserve compatibility 2020-05-14 16:19:38 +02:00
Christian Mäder bfa69dc0e9 Merge branch 'develop' of https://github.com/ryanmerolle/netbox-docker into ryanmerolle-develop 2020-05-14 16:17:59 +02:00
Christian Mäder 6c8042b63d
Merge pull request #289 from weisdd/bugfix/devices.py.example
Fixes #246: Non-working devices.py.example
2020-05-14 15:35:34 +02:00
Tobias Genannt 795e82be46 Fix shellcheck error 2020-05-14 13:54:40 +02:00
Tobias Genannt d8a6c321a1
Update build.sh
Include suggestion from cimnine

Co-authored-by: Christian Mäder <cimnine@users.noreply.github.com>
2020-05-14 13:49:19 +02:00
ibeljakov 1ecf4853b8 Fixed devices.py.example report 2020-05-11 16:46:10 +03:00
Tobias Genannt 5cb8e97e65
Merge pull request #276 from weisdd/bugfix/dockerfile-media-permissions
Dockerfile: Fixed file permissions for media
2020-05-06 18:40:00 +02:00
Christian Mäder 98e131fa30
Merge pull request #279 from hoanhan101/release
Fix typo in overriding docker-compose config
2020-04-22 22:51:44 +02:00
Hoanh An d6323ce40f
Fix typo in overriding docker-compose config 2020-04-22 16:24:34 -04:00
ibeljakov 1c65f7af10 Dockerfile: Fixed file permissions for media 2020-04-18 17:08:42 +03:00
Tobias Genannt 7fb78b3fd2 Fixed script in case no branch for next exists
Build now prints a message when no devlop-* branch is found instead of crashing
2020-04-13 21:44:18 +02:00
Christian Mäder aa9f01a778
Merge pull request #273 from cimnine/NoResponse
No response
2020-04-09 21:17:42 +02:00
Tobias Genannt 786f9b50d2 Fixes build when DOCKER_FROM is set but empty
The DOCKER_FROM is set to an empty value in the push tests.
This expands the check to catch this test case
2020-04-09 10:26:21 +02:00
Tobias Genannt 5909670690 Fixed "latest" tag
The variable for the latest tag didn't contain all the needed values.
2020-04-09 09:04:20 +02:00
Tobias Genannt 231de236e0 Removed Travis CI configuration and script
We are no longer building the images with Travis CI.
2020-04-09 08:47:07 +02:00
Christian Mäder 9ea95950b9 probot/no-response configuration 2020-04-09 08:30:30 +02:00
Tobias Genannt d84c399c00 Let "latest" tag follow the highest version
Latest tag is now added to the new version when it is release by Netbox.
2020-04-09 08:17:05 +02:00
Tobias Genannt a217ce8ffd Changed "build-branches.sh" to "build-next.sh"
The old version of "build-branches.sh" skipped the pushing of images when one of
them didn't change its sources. When looking at the Netbox branches I noticed
that the "master" branch only changes when there is a new release. Because we
build the new releases anyway in "build-latest.sh" that leaves "develop" and
"develop-*" which change regularly. The new script "build-next.sh" is responsible
for building "develop-*" as the next major release of Netbox. The build of
"develop" is moved to the Github Action build matrix. This has the additional
advantage of being faster because more builds are done in parallel.
2020-04-08 22:11:37 +02:00
Tobias Genannt 794fb45e0e Fix shellcheck items found by shellcheck 0.7.1 2020-04-08 16:06:55 +02:00
Tobias Genannt 8e34f46bad Add checks to verifiy if a new build is needed
This checks if the source materials (python image, Netbox commit,
netbox-docker commit) have changed since the last build. This check is done
by comparing the digest and commit ids from the previous image with the
given tag to the current values taken from the Git and Docker repositories.

The checks are only performed for builds by the automated builds on Github.
2020-04-08 15:50:06 +02:00
Tobias Genannt ed0d099df7
Merge pull request #271 from tobiasge/labels-in-build
Add labels for all variants
2020-04-05 13:14:48 +02:00
Tobias Genannt 26d08302e3 Add labels for all variants
When we don't set the --label argument on the commandline for all
build variants we lose them in the image.
This also prints out the labes on image push.
2020-04-05 09:29:31 +02:00
Ryan Merolle 64b763429f
update configuration.py for netbox 2.7.11 REDIS config
update configuration.py to use REDIS config referencing `tasks` in place of `webhooks`
2020-04-01 23:41:35 -04:00
Christian Mäder 5769684c98
Merge pull request #265 from netbox-community/develop
Release 0.23.0
2020-03-30 20:51:22 +02:00
Christian Mäder 23e2da52f8 Preparation for 0.23.0 2020-03-30 15:15:30 +02:00
Christian Mäder edba1a22fc
Merge pull request #263 from general-programming/RELEASE_CHECK_URL
Add RELEASE_CHECK_URL to configuration and default env.
2020-03-30 15:13:59 +02:00
nepeat f87ffe7c33
Update configuration/configuration.py
Co-Authored-By: Christian Mäder <cimnine@users.noreply.github.com>
2020-03-29 01:40:08 -07:00
erin 8bc77c1bc0 Add RELEASE_CHECK_URL to configuration and default env. 2020-03-27 21:34:51 -07:00
Christian Mäder 7662d81efe
Merge pull request #258 from netbox-community/readme_improvements
Readme improvements
2020-03-17 16:39:43 +01:00
Christian Mäder 7f489aa11d
Improved the README
- adjust the _Quick Start_ section to match the instructions in the _Getting Started_ guide on our wiki
- Adds a new _Getting Help_ section
- Improvements in explaining the tags of the published Docker image
2020-03-17 16:07:15 +01:00
Tobias Genannt 5c3eff0823
Merge pull request #255 from minitriga/issue_253_docs_2
Fix embedded documents for Netbox version v2.7.10 and higher.
2020-03-11 12:16:48 +01:00
Alexander GITTINGS 5f90ad8c56 inlude docs in container 2020-03-11 10:40:10 +00:00
Tobias Genannt 5f1c241145
Merge pull request #245 from ScanPlusGmbH/fix-configuration-inconsistencies
Fix configuration inconsistencies
2020-03-11 09:53:21 +01:00
Tobias Genannt 20c7461c7b Fixed test failures because of missing cache
When running tests with ´test.sh´ some errors where logged because now
redis-cache instance was running.
2020-02-14 12:38:05 +01:00
Tobias Genannt b9c44b85cc The Redis cache container was using the wrong env
Our docker-compose.yml pointed the env file for the Redis cache to the
wrong file. Now the Redis cache password between the netbox.env and
redis-cache.env match.
2020-02-14 12:38:05 +01:00
Tobias Genannt 355ebadd10 Fixed configuration inconsistency for Redis cache
In the configuration.py we use database 1 as the default but in the .env
file we used 0. This sets both values to 1 as the default.
2020-02-14 12:38:05 +01:00
Tobias Genannt 880628876f
Merge pull request #244 from ScanPlusGmbH/init-perms-function
Permission handling in external function
2020-02-13 08:15:27 +01:00
Tobias Genannt 8d3bd48c7a Permission handling in external function
This move the setting of user and group permissions in the startup
script to its own function.
2020-02-12 09:36:49 +01:00
Tobias Genannt 882f7bcaf2
Merge pull request #238 from ScanPlusGmbH/remove-redundancy
Add function to load YAML files
2020-02-10 19:25:42 +01:00
Tobias Genannt 50ade7bce1 Add function to load YAML files
This commit starts to remove some code redundancy from the startup
scripts for easier maintenance.
2020-02-10 07:47:17 +01:00
Christian Mäder 80f514fa90
Merge pull request #239 from netbox-community/develop
Release 0.22.0
2020-02-08 10:44:21 +01:00
Christian Mäder c5822b9cec Merge pull request #235 from netbox-community/prepare-0.22.0
Prepare v0.22.0
2020-02-08 10:10:51 +01:00
Christian Mäder e99a222a70 Prepare v0.22.0 2020-02-03 17:56:14 +01:00
Christian Mäder 3717b7469a
Merge pull request #236 from netbox-community/LBegnaud-master
Permission Wildcards
2020-02-03 17:55:22 +01:00
Christian Mäder 3d80cc5a72 Tiny code refactoring 2020-02-02 09:48:02 +01:00
Christian Mäder 69ef7b7827 Removed the eval from the code
... and changed it to make it work with the latest Netbox version.
2020-01-31 11:39:05 +01:00
Christian Mäder ba3176f140 Added missing keywords to the yaml
... and moved some documentatory comments to the beginning of the file.
2020-01-31 11:37:05 +01:00
Christian Mäder a2c06026d5 Ajdust indents in __main__.py
... so that the match the style of the other python code in this project
2020-01-31 11:35:25 +01:00
Les Begnaud f4e243d5ad update example to note yaml restriction 2020-01-31 09:27:34 +01:00
Les Begnaud aa0d2a6e01 simplify yml definitions to use wildcard syntax 2020-01-31 09:27:34 +01:00
Les Begnaud cce4370d41 add permission example 2020-01-31 09:27:34 +01:00
Les Begnaud 927a545f41 adjust groups and users startup scripts to allow custom codename filter 2020-01-31 09:27:34 +01:00
Christian Mäder 0574ffc571
Merge pull request #233 from newlandk/patch-1
update ldap caching configuration
2020-01-31 09:25:45 +01:00
Christian Mäder ce74e94cbb
Merge pull request #234 from netbox-community/test-pr
Enable push workflow for PRs
2020-01-31 09:18:31 +01:00
Christian Mäder 778f7546b8 Enable push workflow for PRs 2020-01-30 15:48:01 +01:00
Kevin Newland 74eaae6bc8
Update ldap_config.py 2020-01-28 17:43:35 -06:00
Kevin Newland 00986573d9
Update LDAP Caching Options
Update LDAP caching configuration to match changes made to django-auth-ldap in 1.6.0

Django social auth now uses different cache configuration options: https://github.com/django-auth-ldap/django-auth-ldap/blob/master/django_auth_ldap/backend.py#L1041-L1056

NetBox settings.py reference: https://github.com/netbox-community/netbox/blob/master/netbox/netbox/settings.py#L360
2020-01-28 17:36:45 -06:00
Christian Mäder b0b20aa6ba
Merge pull request #232 from netbox-community/develop
Release 0.21.1
2020-01-23 18:08:29 +01:00
Christian Mäder f3a858811a
Merge pull request #230 from netbox-community/prepare-0.21.1
Preparation for 0.21.1
2020-01-23 15:50:54 +01:00
Christian Mäder 1eb40d1774 Preparation for 0.21.1 2020-01-23 15:34:22 +01:00
Christian Mäder 1f25fba671
Merge pull request #229 from netbox-community/fix_shields
Readme Cleanup
2020-01-23 15:32:41 +01:00
Christian Mäder f525351cfe
Merge pull request #231 from netbox-community/green_tests
Disable python 3.9 tests once more
2020-01-23 15:31:46 +01:00
Christian Mäder 0e625a3b5c Disable python 3.9 tests once more 2020-01-23 10:44:02 +01:00
Christian Mäder f0b00ee104 Update docker inspect command in bug_report template 2020-01-23 10:40:28 +01:00
Christian Mäder 1c8d695fc2 Remove references to the old build system 2020-01-23 10:36:13 +01:00
Christian Mäder 653321994a Fix link 2020-01-23 10:26:21 +01:00
Christian Mäder 132ab6fcca Fix typo in PR template 2020-01-23 10:09:56 +01:00
Christian Mäder 9229b45dc2 Fix build status badge 2020-01-23 09:35:30 +01:00
Christian Mäder d058b7bc93
Merge pull request #226 from netbox-community/develop
Release 0.21.0
2020-01-23 08:59:05 +01:00
Christian Mäder a0f5a11ff1 Merge branch 'release' into develop
This is to allow automatic merging on Github from develop->release
2020-01-20 11:32:56 +01:00
Christian Mäder 05b9431ecb
Merge pull request #225 from netbox-community/prepare-0.21.0
Prepare 0.21.0
2020-01-20 11:28:13 +01:00
Christian Mäder e179616db4 Preparation for 0.21.0 2020-01-20 10:36:15 +01:00
Christian Mäder b92fbdc50d Update mentioned Netbox version to 2.7.1 2020-01-20 10:36:15 +01:00
Christian Mäder f26df57bfd
Merge pull request #218 from netbox-community/updated-pullrequest-template
Check that `develop` is the base branch in new PRs
2020-01-20 10:35:51 +01:00
Christian Mäder 8892ea9936 Ask for a release note entry 2020-01-20 10:28:08 +01:00
Christian Mäder 1bad9b4fa8 Fix typo in pull request template 2020-01-20 10:28:08 +01:00
Christian Mäder 2b21e14c2c Check that develop is target in PR
This is an update to the PR template.
It mostly adds text and some checks related to how good the template
is filled in and whether the `develop` branch was selected as base.
2020-01-20 10:28:08 +01:00
Christian Mäder 8caf755914
Merge pull request #209 from netbox-community/2.7-prep
Prepare for Netbox 2.7
2020-01-20 10:26:50 +01:00
Christian Mäder 27f671e41a Update IP Initializer for Netbox 2.7
The ip address database model has changed in Netbox 2.7.
Therefore the initializer code, that was used before, broke.
As a user, you will need to update your ip_addresses.yml
file as follows:

- Make sure the status is written in lower case.

See the diff of this commit for further information how this is meant.
2020-01-20 08:39:26 +01:00
Christian Mäder 74a0e2cf6e Update Interfaces Initializer for Netbox 2.7
The interface database model has changed in Netbox 2.7.
Therefore the initializer code, that was used before, broke.
As a user, you will need to update your dcim_interfaces.yml
file as follows:

- Make sure the type is a value out of the possible choices.

See the diff of this commit for further information how this is meant.
2020-01-20 08:39:26 +01:00
Christian Mäder f3403cd0f5 Update VM Initializer for Netbox 2.7
The vm database model has changed in Netbox 2.7.
Therefore the initializer code, that was used before, broke.
As a user, you will need to update your virtual_machines.yml
file as follows:

- Make sure the status is spelled lowercase.

See the diff of this commit for further information how this is meant.
2020-01-20 08:39:26 +01:00
Christian Mäder 8d8b9a157e Update VLAN Initializer for Netbox 2.7
The VLAN database model has changed in Netbox 2.7.
Therefore the initializer code, that was used before, broke.
As a user, you will need to update your vlans.yml file as follows:

- Make sure the status is spelled lowercase.

See the diff of this commit for further information how this is meant.
2020-01-20 08:39:26 +01:00
Christian Mäder 4a58676647 Update Device Initializer for Netbox 2.7
The device database model has changed in Netbox 2.7.
Therefore the initializer code, that was used before, broke.
As a user, you will need to update your devices.yml file as
follows:

- Make sure the rack face is spelled lowercase.

See the diff of this commit for further information how this is meant.
2020-01-20 08:39:26 +01:00
Christian Mäder 7b914d31d6 Update Rack Initializer for Netbox 2.7
The rack database model has changed in Netbox 2.7.
Therefore the initializer code, that was used before, broke.
As a user, you will need to update your racks.yml file as follows:

- Rack types must match one of the 5 rack types given, e.g.
  '4-post-cabinet'.
- Rack width must match one of the 2 rack widths given, i.e. '19' or
  '23'.

See the diff of this commit for further information how this is meant.
2020-01-20 08:39:26 +01:00
Christian Mäder c001626b85 Update Custom Fields Initializer for Netbox 2.7
The custom field database model has changed in Netbox 2.7.
Therefore the initializer code, that was used before, broke.
As a user, you will need to update your custom_fields.yml file as
follows:

- type must be lowercase
  - the `selection` type was changed to `select`
- the filter_logic must be lower case

This is to achieve compatibility with the naming schema that
Netbox uses internally. It allows us to become forward compatible
in case Netbox ever introduces a new type for custom fields.

See the diff of this commit for further information how this is meant.
2020-01-20 08:39:26 +01:00
Christian Mäder 355f9d4cf7 Prepare for Netbox 2.7 2020-01-20 08:39:26 +01:00
Christian Mäder 40ef427336
Merge pull request #222 from netbox-community/fix-github-action
Fix Github Action
2020-01-20 08:38:40 +01:00
Christian Mäder e16b009a7f
Merge pull request #221 from netbox-community/improve-test.sh
Improve test.sh
2020-01-20 08:37:48 +01:00
Christian Mäder 25671d42a5 Re-enable Netbox unit tests 2020-01-20 08:37:18 +01:00
Christian Mäder dd0aee081a Fix failing GH Action 2020-01-17 18:46:30 +01:00
Christian Mäder cfbd037f79 Enable tests with Python 3.9 2020-01-17 17:44:07 +01:00
Christian Mäder 3b56c827f9 Improve test.sh
Don't move the original initializers directory, but rather use the one
with the modified initializers in it.
2020-01-17 17:23:15 +01:00
Christian Mäder 870b44fdbc
Merge pull request #214 from cimnine/github-action
Use Github Actions to build Netbox Docker
2020-01-17 14:26:40 +01:00
Christian Mäder 79a10dd445 Preparation for 0.20.0 2020-01-17 14:11:28 +01:00
Christian Mäder 57afeec94f Netbox is not yet compatible with Python 3.9 2019-12-29 22:09:32 +01:00
Christian Mäder b118cd5812 Building the Docker image with Github Actions 2019-12-23 18:21:08 +01:00
Christian Mäder 7863e5902e Preparation for 0.20.0 2019-12-21 15:20:33 +01:00
Christian Mäder 0a9991de96
Merge pull request #186 from netbox-community/non-root
Non root
2019-12-20 14:21:34 +01:00
Christian Mäder 28c786c2a6
Merge pull request #195 from netbox-community/update-postgres
Update PostgreSQL to 11
2019-12-20 11:43:17 +01:00
Christian Mäder 1c899b55eb
Merge pull request #201 from netbox-community/fix_docker_build
Fix variables for Dockerhub build
2019-12-20 11:42:59 +01:00
Christian Mäder 7af88388bb
Merge pull request #202 from netbox-community/prepare_184
Prepares scripts and documentation for #184
2019-12-20 11:42:41 +01:00
Christian Mäder 51df2cbbaa
Merge pull request #206 from netbox-community/test-initializers
Adds a test that validates the initializer yml files
2019-12-20 11:42:30 +01:00
Christian Mäder b48de9f87e
Merge pull request #207 from netbox-community/speedup_startup_scripts
Massive speedup in executing startup_scripts
2019-12-16 12:17:21 +01:00
Christian Mäder 85065005d4
Merge pull request #203 from netbox-community/pull-request-template
Pull Request Template Suggestion
2019-12-16 12:16:53 +01:00
Christian Mäder 0696ecb037
Merge pull request #204 from netbox-community/reduce_docker_context
Reduce the Docker Context
2019-12-16 12:16:37 +01:00
Christian Mäder 05d32ae705 Massive speedup in executing startup_scripts 2019-12-14 18:16:31 +01:00
Christian Mäder fd955544af
Merge pull request #196 from jsimonetti/rackgroup_initialiser
Add rack group initialiser
2019-12-14 17:31:38 +01:00
Christian Mäder 0a77c3d81e
Merge pull request #198 from mattolenik/fix-197
Remove use of GNU date extensions when labeling images
2019-12-14 17:20:36 +01:00
Matt Olenik 66e90428b5 Remove use of GNU date extensions when labeling images
Fixes #197
2019-12-13 16:06:18 -08:00
Christian Mäder 310cda1f18 Reduce the Docker Context 2019-12-11 13:58:33 +01:00
Christian Mäder daaf72962f Adds a test that validates the initializer yml files 2019-12-11 11:48:29 +01:00
Jeroen Simonetti 93dee74459 Add rack group initialiser
Fixes #192

Signed-off-by: Jeroen Simonetti <jeroen@simonetti.nl>
2019-12-11 10:57:14 +01:00
Christian Mäder 1064696c96 N/A when there's no issue 2019-12-10 23:16:11 +01:00
Christian Mäder 7df5da38bf Pull request template suggestion 2019-12-10 23:09:43 +01:00
Christian Mäder e4e0a63e17 Better safe than sorry, keep PostgreSQL at 11 for now. 2019-12-10 22:41:57 +01:00
Christian Mäder bf2a21ddea
Merge pull request #177 from sdktr/patch-2
Add SSLMODE to database connection settings
2019-12-10 22:39:53 +01:00
Christian Mäder 6a07527632
Merge pull request #194 from netbox-community/update-redis
Update Redis to Version 5
2019-12-10 22:35:55 +01:00
Christian Mäder 0f7675c792
Merge pull request #193 from netbox-community/revert-180
Revert "Fix #179 'libc not found'"
2019-12-10 22:35:39 +01:00
Christian Mäder f3bbfdc34c
Merge pull request #189 from netbox-community/GettingStarted
Adds a link to the Getting Started wiki section to the README
2019-12-10 22:35:17 +01:00
Christian Mäder a4186c1031 Prepares scripts and documentation for #184 2019-12-10 21:44:11 +01:00
Christian Mäder 809570f4bc Fix variables for Dockerhub build 2019-12-10 21:25:36 +01:00
Stefan de Kooter 135199e597
Merge branch 'master' into patch-2 2019-12-09 22:54:30 +01:00
Christian Mäder 8a92640d10 Re-wording of dependencies check paragraph 2019-11-26 12:28:43 +01:00
Christian Mäder 788804627e Fix typo 2019-11-26 12:27:25 +01:00
Christian Mäder 150f35ea3b update postgres to 12 2019-11-26 12:23:16 +01:00
Christian Mäder 1ce99cf02f update redis 2019-11-26 12:14:51 +01:00
Christian Mäder 5e92352b0a set umask in entrypoint 2019-11-26 12:09:26 +01:00
Christian Mäder 8664e42233 Revert "Fix #179 'libc not found'"
This reverts commit feb810ab27.
2019-11-26 11:40:10 +01:00
Christian Mäder 7942e9edbe Remove the named user, change permissions to 'g+w' 2019-11-26 11:24:12 +01:00
Christian Mäder 01c4137dc9 Adds netbox user 2019-11-26 11:24:12 +01:00
Christian Mäder c083baf640 Preparation for 0.19.4 2019-11-25 17:12:29 +01:00
Christian Mäder d1d71e1256 Merge branch 'mattolenik-fix-skip-git' 2019-11-25 17:11:10 +01:00
Christian Mäder 6c762a7755 Merge branch 'fix-skip-git' of https://github.com/mattolenik/netbox-docker into mattolenik-fix-skip-git 2019-11-25 17:11:03 +01:00
Christian Mäder 946a503a25 Merge branch 'edenpark59-master' 2019-11-25 17:10:33 +01:00
Christian Mäder 6a8ffc1f02 Merge branch 'master' of https://github.com/edenpark59/netbox-docker into edenpark59-master 2019-11-25 17:10:22 +01:00
Christian Mäder ca2b875ab9 Merge branch 'markhoney-patch-1' 2019-11-25 17:09:49 +01:00
Christian Mäder 29185fb9fd reorganized docker ignore file
.. and added some more files to it.
2019-11-25 17:09:37 +01:00
Christian Mäder df7241ac5c Merge branch 'patch-1' of https://github.com/markhoney/netbox-docker into markhoney-patch-1 2019-11-25 17:07:12 +01:00
Christian Mäder 52d67f6b60 Merge branch 'labelling' 2019-11-25 17:06:43 +01:00
Matt Olenik 34ce5be006 Respect SKIP_GIT environment variable when building
Fixes issue #190
2019-11-21 08:09:01 -08:00
Christian Mäder f2fd7dbbe7 Adds a link to the Getting Started wiki section to the README 2019-11-20 11:09:37 +01:00
EdenPark59 08cda559a3
Update docker-compose.yml 2019-11-20 11:00:09 +01:00
sylvain.petit 02a5171e37 Update Nginx 1.17.6-alpine docker-compose.yml 2019-11-20 10:09:02 +01:00
Mark Honeychurch 552676cc9d
Ignore local override file
Adding an ignore rule for docker-compose.override.yml should allow people to clone this repo and use an override file to match their environment, without that file causing issues every time they pull a new version of the repo.
2019-11-18 12:20:39 +13:00
Christian Mäder caaa68234c Adds more labels to the Dockerfile
It also updates the README and the bug_report template to reflect
the changes. Additionally, in the README some relevant shields from
shields.io are added.

The labels follow [label-schema.org][lsorg] and the [OpenContainer
image spec, section annotations][ocis], specifications.

[lsorg]: http://label-schema.org/rc1/
[ocis]: https://github.com/opencontainers/image-spec/blob/master/annotations.md
2019-11-17 17:13:29 +01:00
Christian Mäder eddc308055
Merge pull request #182 from netbox-community/feature-request-template
A new issue category for feature/change requests
2019-11-16 22:14:31 +01:00
Christian Mäder 0e2c50c374
A new issue category for feature/change requests 2019-11-12 11:56:22 +01:00
Tobias Genannt c790ce5953 Preparation for 0.19.3 2019-11-11 10:27:55 +01:00
Tobias Genannt cf7aef31e2
Merge pull request #180 from ScanPlusGmbH/fix-179
Fix #179 'libc not found'
2019-11-11 10:21:32 +01:00
Tobias Genannt feb810ab27 Fix #179 'libc not found'
Gunicorn version 20 crashes in this docker image. So for now use a
version <20.
2019-11-11 08:53:11 +01:00
Tobias Genannt 3f2fe54bfd
Merge pull request #176 from sdktr/patch-1
Add CONN_MAX_AGE to database connection settings
2019-11-11 08:29:47 +01:00
Stefan de Kooter 6568dff8e1
Add SSLMODE to database connection properties
Defaulting to SSLMODE=prefer, optional override using environment variable: DB_SSLMODE
2019-11-06 10:26:29 +01:00
Stefan de Kooter 773ec630b4
Add CONN_MAX_AGE to database connection settings
Defaulting to 300 seconds for the database connection to avoid new connection setup roundtrip on consecutive requests
2019-11-06 10:24:15 +01:00
Tobias Genannt 8d71d2f973
Merge pull request #175 from ScanPlusGmbH/optimze-pip-install
Optimize pip install command
2019-11-01 14:20:20 +01:00
Tobias Genannt f9662a1e4b Optimize pip install command
As mentioned by @sdktr the "--install-option" is redundant. The added
"--no-warn-script-location" is used to silence warnings when installing
into a directory that is not on $PATH.
2019-10-31 10:11:33 +01:00
Christian Mäder f7b526eacd Prepare Version 0.19.2 2019-10-24 17:03:14 +02:00
Christian Mäder e32bb272b2 Merge branch 'ScanPlusGmbH-fix-170' 2019-10-24 17:02:47 +02:00
Tobias Genannt e3f632d77f Fixes #170 - "drf-yasg" installed into wrong dir
With the new multistage build the pip install command put some packages
in the wrong directory. This resuled in them not being copied into the
runtime images. This commit add the additional "--prefix" option to the
install command. After that all test run and we no longer get the error
"ModuleNotFoundError: No module named 'drf_yasg'".
2019-10-24 17:02:23 +02:00
Christian Mäder 63174f85ae
Merge pull request #171 from tovin07/remove-trailing-space
Remove trailing space in Dockerfile
2019-10-24 16:47:50 +02:00
Nguyễn Trọng Vĩnh eb0f704ebe Remove trailing space in Dockerfile 2019-10-23 11:46:26 +07:00
Christian Mäder b69a38015c
Delete issue_template.md 2019-10-17 17:40:27 +02:00
Christian Mäder 41f6a80c91 Update issue templates 2019-10-17 17:40:01 +02:00
Christian Mäder 79f0670f7e Prepare Version 0.19.1 2019-10-15 12:29:35 +02:00
Christian Mäder 313d1a3aae Merge branch 'ScanPlusGmbH-custom-scripts' 2019-10-15 12:28:32 +02:00
Christian Mäder 8428b9cdbd Merge branch 'custom-scripts' of https://github.com/ScanPlusGmbH/netbox-docker into ScanPlusGmbH-custom-scripts 2019-10-15 12:28:22 +02:00
Christian Mäder de1e3676eb Fix push 2019-10-15 12:28:04 +02:00
Christian Mäder de1e5edd02 Prepare Version 0.19.0 2019-10-15 11:48:25 +02:00
Christian Mäder ef989284c2
Merge pull request #159 from netbox-community/multistage-build
Refactor to multistage builds
2019-10-15 11:47:09 +02:00
Christian Mäder e060f86b9a Corrections for shellcheck warnings 2019-10-15 10:03:39 +02:00
Christian Mäder 0a38220497 Update purpose text in build.sh 2019-10-15 01:00:21 +02:00
Christian Mäder fb60841047 Only test 'latest' in PRs
Because it's the only tag being built
2019-10-15 00:56:37 +02:00
Christian Mäder 0f4a872082 More tests 2019-10-15 00:47:19 +02:00
Christian Mäder 26b1f59d66 Improve formating and fix typo 2019-10-15 00:40:48 +02:00
Christian Mäder 064908397e Improved Build Job descriptions 2019-10-15 00:34:15 +02:00
Christian Mäder 42642c94c3 Only push on 'main' branch 2019-10-15 00:34:15 +02:00
Christian Mäder 123fd981e9 Fix build
The Docker Hub build system runs on Ubuntu Xenial containers.
Xenial's git is 2.7.4, which does not know the `-P` flag yet.
2019-10-15 00:34:15 +02:00
Christian Mäder 20109c3392 Checkout the repository with git
This changes the build process even further. Instead
f using `wget` to fetch the current code, `git` is used.
This allows for faster switching between branches,
because only the differences between them have to be
fetched from the server.

But the main advantage is that the build cache can
finally be used as designed by Docker. Repetitive
builds are very fast now. This is also true between
branches and tags, as long as the `requirements.txt`
file doesn't change.
2019-10-15 00:34:15 +02:00
Christian Mäder f3b9c34e3b externalize netbox download with wget 2019-10-15 00:34:15 +02:00
Christian Mäder ab4b8720d1 Fix caching in build.sh 2019-10-15 00:34:15 +02:00
Christian Mäder 052b53aa5c Fix apt-get detection 2019-10-15 00:34:15 +02:00
Christian Mäder fadac8c5c3 Only build the master branch to speed up the test 2019-10-15 00:34:15 +02:00
Christian Mäder d0c9dfe2e5 Try to get PR builds working 2019-10-15 00:34:15 +02:00
Christian Mäder d0ebb34432 Refactor to multistage builds
This commit introduces a huge change in the build process.

What changed:

- Dockerfile.ldap was integrated into Dockerfile as a seperate
  [build stage][multistage-build].
- All the build scripts were refactored according to this.
- The `docker-compose.yml` file was adjusted likewise.
- The main build script, `/build.sh`, now always builds all
  targets (formerly called variants).
- The minimal requirements for Docker and docker-compose
  have increased.
- The build on hub.docker.com must be adjusted.

This change should also fix #156 permanently.

[multistage-build]: https://docs.docker.com/develop/develop-images/multistage-build/
2019-10-15 00:34:15 +02:00
Tobias Genannt db04deca0d Add support for custom scripts
Custom scripts were added to Netbox in version 2.6.3. This adds a new
directory to the image where custom scripts can be placed.
2019-10-14 09:50:05 +02:00
Christian Mäder c148d3ceb9 Prepare Version 0.18.2 2019-10-14 09:20:22 +02:00
Christian Mäder 42826ae133 Fix #165 2019-10-14 09:17:32 +02:00
Christian Mäder 19728fa3e6 prepare 0.18.1 2019-10-13 14:03:56 +02:00
Christian Mäder e1f054b6b5 Merge branch 'fix-160' 2019-10-13 14:03:34 +02:00
Christian Mäder 79d349133e fix typo 2019-10-13 14:03:22 +02:00
Christian Mäder cb8007e41d
Adds a hyperlink for the #netbox-docker channel 2019-10-12 15:16:17 +02:00
Christian Mäder b790796f9b Prepare Version 0.18.0 2019-10-12 14:56:03 +02:00
Christian Mäder 20c234a96e Introduce $SKIP_SUPERUSER
This adds a new variable to skip the creation of the superuser.
That is useful for LDAP and for production environments.

Fixes #160
2019-10-12 14:49:40 +02:00
Christian Mäder 5ae5977717 Merge branch 'axarriola-master' 2019-10-12 14:27:11 +02:00
Christian Mäder e894cdaa06 Reformat initializers and add some IPv6 examples 2019-10-12 14:23:41 +02:00
Christian Mäder 5defc38294 Add missing break 2019-10-12 14:23:11 +02:00
Christian Mäder 61c0a9b519 Merge branch 'master' of https://github.com/axarriola/netbox-docker into axarriola-master 2019-10-12 14:02:35 +02:00
Alvaro Arriola 992a8f1d5f More typos. Tested all changes. 2019-10-11 18:08:22 +02:00
Alvaro Arriola 2d25907cba Fixing typos. 2019-10-11 17:30:38 +02:00
Alvaro Arriola 8a40c6e0a3 Merge branch 'master' of https://github.com/netbox-community/netbox-docker 2019-10-11 17:06:18 +02:00
Christian Mäder ed8e339bfe
Merge pull request #162 from netbox-community/cleanup
Remove debug statement
2019-10-11 16:32:07 +02:00
Christian Mäder 4b1514f8d3
Remove debug statement 2019-10-11 16:31:56 +02:00
Christian Mäder 2044f685cf
Merge pull request #161 from netbox-community/fix-platform-initializer
Updating the initializer platform examples
2019-10-11 16:15:19 +02:00
Christian Mäder 86de0d850b
Updating the initializer platform examples
rpc client was removed from netbox
2019-10-11 16:15:03 +02:00
Alvaro Arriola 4e1ac2392d Added newline and breaks. 2019-10-11 15:46:32 +02:00
Christian Mäder 723d4744a4 Merge branch 'master' of https://github.com/axarriola/netbox-docker into axarriola-master 2019-10-11 14:31:29 +02:00
Alvaro Arriola 821d6c8672 Fixed further requirements. 2019-10-10 17:35:06 +02:00
Alvaro Arriola 0b5214d247 Fixed aesthetics. 2019-10-10 16:52:29 +02:00
Christian Mäder aca448d180 Merge branch 'bootc-helm-chart' 2019-10-09 12:42:01 +02:00
Christian Mäder 6051092a59 Move large parts of the documentation in the README to the wiki 2019-10-09 12:40:40 +02:00
Christian Mäder 03b52f9074 Merge branch 'helm-chart' of https://github.com/bootc/netbox-docker into bootc-helm-chart 2019-10-09 12:40:29 +02:00
Christian Mäder ce9158eb07
Update README.md 2019-07-30 13:45:08 +02:00
Christian Mäder 74000645dc Make patch version 2019-07-30 13:36:22 +02:00
Christian Mäder ef0755b9cf
Merge pull request #149 from takumin/fix_attribute_error
fix AttributeError for ruamel.yaml
2019-07-30 13:34:48 +02:00
takumin 7f22d21d5d fix AttributeError for ruamel.yaml 2019-07-30 20:09:02 +09:00
Christian Mäder e349c239fe Release 0.17.0 2019-07-30 10:47:56 +02:00
Christian Mäder 28ba0e56e7
Merge pull request #144 from ScanPlusGmbH/update-base-image
Update base image
2019-07-30 10:44:44 +02:00
Christian Mäder b0287e344e
Merge pull request #148 from LBegnaud/master
adjusts users and groups startup scripts to accomdate non-uniqueness
2019-07-30 10:44:03 +02:00
Les Begnaud e6e7647f32 adjusts users and groups startup scripts to accomdate non-uniqueness 2019-07-26 14:13:15 -05:00
Chris Boot 3e1f688f78 Add a link to my Helm chart
I've written and will continue to maintain a Helm chart to aid in
deploying NetBox on Kubernetes. This adds a link to the README file so
that people who may be interested in it can find it.
2019-07-20 16:51:51 -03:00
Tobias Genannt 135d29e06f Update base image
This updates the base image to Alpine 3.10 with Python 3.7
2019-07-05 08:22:25 +02:00
Alvaro Arriola 4cb5b9f20d Added more startup_scripts and initializers examples. 2019-07-04 14:10:56 +02:00
Christian Mäder 5a4e9d7a14 Merge branch 'miso231-patch-1' 2019-07-02 21:33:54 +02:00
Christian Mäder 89b9c22252 Merge branch 'patch-1' of https://github.com/miso231/netbox-docker into miso231-patch-1 2019-07-02 21:33:36 +02:00
Christian Mäder dc3db2d9fd %s/digitalocean/netbox-community/gi
Thank you Digitalocean for sponsoring Netbox!
And thank you for letting it grow up and move out ;)
2019-07-02 21:32:58 +02:00
Michal Petko 0270fc2dca
Retype REDIS_PORT to int 2019-07-01 17:29:58 +02:00
Christian Mäder aed5126279 Provides necessary changes for v2.6 compatibility
Fixes #139
2019-06-21 22:48:23 +02:00
Christian Mäder 9c45e4d5e1 Prepare Version 0.14.0 2019-06-12 17:56:52 +02:00
Christian Mäder dfd30f5eae Explain caching strategy in Dockerfile comments 2019-06-12 17:53:35 +02:00
Christian Mäder a5537b18a4 Merge branch 'improved_build_speed' of https://github.com/rje6459/netbox-docker 2019-06-12 17:45:40 +02:00
Christian Mäder 9601cb1e54 Merge branch 'master' into improved_build_speed 2019-06-12 17:28:52 +02:00
Christian Mäder 54ac5dc2ab Merge branch 'mryauch-master' 2019-06-12 17:18:48 +02:00
Robert Ellegate a086c2fc22
Changing REF_URL to use HEAD/TAG agnostic API
Per [dicsuccion](https://github.com/netbox-community/netbox-docker/pull/137#issuecomment-495667921) with @cimnine, changing the API endpoint to one that retains functionality of previous URL while supporting both HEADS and TAGS
2019-05-28 10:45:10 -04:00
Robert Ellegate e33a2d2c0a
Adding REF to GitHub repo HEAD for cache busting
After installing requirements, check if  HEAD has changed and bust cache for RUN instruction for wget  archive
2019-05-23 11:20:39 -04:00
Christian Mäder 821fb5f36e Caching of requirements.txt
After [a discussion][1] with rje6459 on the networktocode Slack
in the #netbox-docker channel we've come up with a small improvement
to those that regularly have to build netbox docker locally.

It fetches the "requirements.txt" from the desired branch before
downloading netbox itself.

[1]: https://networktocode.slack.com/archives/CD23LP8BC/p1558537080023200
2019-05-22 18:05:54 +02:00
Matthew Yauch 7362e275b0 Add AUTH_LDAP_GROUP_TYPE env variable support
Dynamically imports the correct class/subclass from django_auth_ldap.config based on the AUTH_LDAP_GROUP_TYPE environment variable.
2019-05-09 07:47:28 -07:00
Christian Mäder 6c3db3deff Update django to 2.2 2019-05-09 09:57:01 +02:00
Christian Mäder 2f8ea89d54 Prepare Version 0.13.0 2019-05-08 12:00:57 +02:00
Christian Mäder 7008c03bcb Merge branch 'mryauch-mryauch-patch-1' 2019-05-08 11:57:50 +02:00
Christian Mäder 8f39034014 Merge branch 'mryauch-patch-1' of https://github.com/mryauch/netbox-docker into mryauch-mryauch-patch-1 2019-05-08 11:57:43 +02:00
Christian Mäder 98833e20c8 Prepare Version 0.12.0 2019-05-08 11:43:29 +02:00
Christian Mäder a5e51dfb47 Merge branch 'ajknv-master' 2019-05-08 11:38:31 +02:00
Christian Mäder 936d868582 Merge branch 'master' of https://github.com/ajknv/netbox-docker into ajknv-master 2019-05-08 11:38:22 +02:00
Matthew Yauch 96924736df
Updated README.md to reflect AUTH_LDAP_BIND_PASSWORD secret support 2019-05-01 08:14:26 -07:00
Matthew Yauch 5107fb7c6b
AUTH_LDAP_BIND_PASSWORD secret file support 2019-04-30 14:24:22 -07:00
Christian Mäder 9eef398a9d prepare next version 2019-03-27 14:23:28 +01:00
Christian Mäder e83db27b91
Merge pull request #131 from Bialogs/selinux
Add shared (z) container volume SELinux labels to the volumes created…
2019-03-27 14:19:18 +01:00
Christian Mäder 4419646732 Merge branch 'ScanPlusGmbH-short-tag' 2019-03-27 12:01:06 +01:00
Christian Mäder 286bfa0248 reorganized tagging 2019-03-27 12:00:32 +01:00
Christian Mäder e768cb5b87 Merge branch 'short-tag' of https://github.com/ScanPlusGmbH/netbox-docker into ScanPlusGmbH-short-tag 2019-03-27 08:13:58 +01:00
Kyle Fagan e45773c29f
Add shared (z) container volume SELinux labels to the volumes created by docker-compose. 2019-03-25 16:22:37 -04:00
Tobias Genannt 220370ed76 Add short version tag
Adds a short version tag in the form of v$MAJOR.$MINOR. This tags
creates the possibillity to follow patch releases automatically with the
scheduled import option in Openshift and Kubernetes.
2019-03-22 08:28:41 +01:00
Christian Mäder b49e6fac14
Update README.md
Fix the link to the configuration file, since it's core was "outsourced" some time ago.
2019-03-19 20:33:31 +01:00
Alexander Kinneer 5beb3093db Add support for using SSL connections to Redis. 2019-03-19 11:35:45 -05:00
Christian Mäder df16a431ca
Prepare Version 0.10.0
0.9.0 was already tagged without a version increment
2019-03-19 17:14:08 +01:00
Christian Mäder 585e411cde
Prepare Version 0.9.0 2019-03-19 17:12:40 +01:00
Christian Mäder e17baea76c
Merge pull request #128 from ScanPlusGmbH/optimze-startup
Make startup scripts optional
2019-03-19 17:12:15 +01:00
Tobias Genannt 8c95f32b0c Make startup scripts optional
To optimize the application boot time the startup scripts can now be
disabled by an ENV variable. The default when the variable is not set,
is to run the startup scripts. This means that the default behaviour is
not changed from earlier releases.
2019-03-11 12:31:41 +01:00
Christian Mäder d4b394c999
Prepare 0.9.0 2019-02-22 14:03:42 +01:00
Christian Mäder 9c259adc88
Merge branch 'cimnine-update-django' 2019-02-22 13:53:49 +01:00
Christian Mäder 582064f4cd
Loosen version pinning for Django
This change is in accordance with https://github.com/digitalocean/netbox/issues/2808
2019-02-22 13:52:37 +01:00
Christian Mäder f8ea0f74ec
Prepare 0.8.0 2019-02-22 13:49:48 +01:00
Christian Mäder 5cf9c3b4b1
Merge branch 'ScanPlusGmbH-master' 2019-02-22 13:46:28 +01:00
Tobias Genannt 2450a70ca8 Update Alpine
This updates to the newest stable version (Alpine 3.9)
2019-02-21 15:30:40 +01:00
Christian Mäder e9bea0a420
Update README.md 2019-02-07 09:49:11 +01:00
Christian Mäder 4895874845
Update README.md 2019-02-07 09:47:01 +01:00
Christian Mäder 7eca562252
Merge pull request #122 from cimnine/master
Fix DEBUG preventing build
2019-02-07 09:36:05 +01:00
Christian Mäder fda1c272e9
fix DEBUG 2019-02-07 09:34:24 +01:00
Christian Mäder 609105e170
Merge pull request #121 from cimnine/master
Fix build target
2019-02-06 14:55:43 +01:00
Christian Mäder 740fa8128d
Fix build target 2019-02-06 14:54:41 +01:00
Christian Mäder 9fdbd2f501
Merge pull request #120 from cimnine/master
Fix default in build.sh
2019-02-06 14:51:59 +01:00
Christian Mäder c1946751ef
Fix default in build.sh 2019-02-06 14:50:00 +01:00
Christian Mäder a8b66fc082
Merge pull request #119 from cimnine/master
Remove deprecation warning for netboxcommunity images
2019-02-06 12:39:40 +01:00
Christian Mäder ae9e945851
Remove deprecation warning for netboxcommunity images 2019-02-06 12:38:36 +01:00
Christian Mäder fc1507a55d
Merge pull request #118 from cimnine/consistent_variables
Consistent variable use in build scripts
2019-02-06 12:35:18 +01:00
Christian Mäder c7ab15f914
Consistent variable use in build scripts 2019-02-06 12:30:08 +01:00
Christian Mäder 1c42f14bf0
Merge pull request #117 from cimnine/complete_migration
Update references to netboxcommunity
2019-02-06 11:47:44 +01:00
Christian Mäder 6182133c7a
Update references to netboxcommunity 2019-02-06 11:46:20 +01:00
Christian Mäder 1e002846ef
Merge pull request #116 from cimnine/docker-hub_build_system
Build system for hub.docker.com
2019-02-06 11:34:00 +01:00
Christian Mäder 09b4937b35
Update README 2019-02-06 11:24:01 +01:00
Christian Mäder 4ef420d443
Build system for hub.docker.com 2019-02-06 10:09:44 +01:00
Christian Mäder 5a09659278
Code style improvements 2019-01-30 13:58:23 +01:00
jacob 2f5d293fd6 ldap_config: resolve AUTH_LDAP_USER_SEARCH_ATTR and AUTH_LDAP_GROUP_SEARCH_CLASS from env 2019-01-19 05:12:36 -05:00
Christian Mäder c9d9c7349e
Remove duplicated entry in configuration.py 2019-01-09 09:03:24 +01:00
nine.ch Bot 1fa07c6dc1 Bump VERSION file 2019-01-07 02:12:44 -08:00
Christian Mäder c866bfff16
add note about breaking changes 2019-01-07 11:11:48 +01:00
Christian Mäder 44cdb73cc4
Merge pull request #109 from TakeMeNL/feature/105
#105 Change default api page size to 1000
2019-01-07 11:09:28 +01:00
Christian Mäder 20a86f0e98
Merge branch 'master' into feature/105 2019-01-07 10:47:15 +01:00
Christian Mäder 1f9ea8db53
Merge branch 'bdlamprecht-master' 2019-01-07 10:44:20 +01:00
Christian Mäder db7daee86e
formatted 2019-01-07 10:43:41 +01:00
Brady Lamprecht 0bae952410
Documenting reporting usage in README.md
Updated `README.md` on how to use the reporting feature of NetBox within this container.
2019-01-02 17:12:46 -07:00
Brady Lamprecht 34cd2cc577 Renamed devices.py to devices.py.example to set the example report to be disabled by default 2019-01-02 16:45:02 +00:00
Marc Hagen e55580e3ae #105 Change default api page size to 1000 2018-12-27 22:12:17 +01:00
Brady Lamprecht aab28d03ba Changing 'reports' from a volume to a mapped directory
This will allow eaiser interaction with the report functionality of the 'netbox' container.
2018-12-19 16:26:24 -07:00
Christian Mäder eb09bf5364
Merge pull request #106 from ninech/ignore_missing_initializers
Ignore missing initializers
2018-12-19 17:03:56 +01:00
Christian Mäder e46a7d2f7f
Ignore missing initializers
Previously, the startup_scripts would fail if an initializer file was
not present. Now they just ignore missing files.
2018-12-19 14:25:58 +01:00
Christian Mäder 03eb153da4
Mention the #netbox-docker Slack channel 2018-11-12 21:54:14 +01:00
Christian Mäder 7675e8fc03
Update Breaking Changes list 2018-10-31 14:37:07 +01:00
nine.ch Bot d92f991cbe Bump VERSION file 2018-10-31 05:30:43 -07:00
Christian Mäder c16f72a2ac
Merge pull request #104 from ninech/add-more-seeds
Add seed/initialization scripts for additional resources
2018-10-31 13:27:54 +01:00
Aleksandar Radunovic 2fe139cb3c Reorder device types data 2018-10-31 10:58:42 +01:00
Aleksandar Radunovic aa68548f41 Add Plaform seeds 2018-10-30 14:22:04 +01:00
Aleksandar Radunovic a10cd805ae Prefix output messages with appropriate emoji 2018-10-30 10:51:43 +01:00
Aleksandar Radunovic 8b8620864c Replace trademarked names with generic ones 2018-10-30 10:11:05 +01:00
Aleksandar Radunovic d145e9c719 Comply to README style 2018-10-30 10:07:33 +01:00
Aleksandar Radunovic a120a95184 Fix initializers 2018-10-16 13:26:23 +02:00
Aleksandar Radunovic 97477556e0 Increase order prefix to 3 digits 2018-10-16 13:26:13 +02:00
Aleksandar Radunovic 7e6edd1bf5 Merge branch 'master' into add-more-seeds 2018-10-16 11:32:41 +02:00
Aleksandar Radunovic b53e886f8f Handle all associations 2018-10-16 11:05:28 +02:00
Aleksandar Radunovic 6cc4c67387 Remove default pop value 2018-10-16 09:12:43 +02:00
Aleksandar Radunovic ab0ce20971 Update README 2018-10-15 15:15:56 +02:00
Aleksandar Radunovic 90ae5cf01d Add device seeds 2018-10-15 15:15:41 +02:00
Aleksandar Radunovic ebb7779b5f Add device role seeds 2018-10-15 15:15:23 +02:00
Aleksandar Radunovic 60f7de1898 Add rack seeds 2018-10-15 15:15:09 +02:00
Aleksandar Radunovic 89fddbe0ab Add rack role seeds 2018-10-15 15:14:42 +02:00
Aleksandar Radunovic a2b08a6ca5 Add device type seeds 2018-10-15 15:14:27 +02:00
Aleksandar Radunovic 86675278ab Add manufacturer seeds 2018-10-15 15:14:11 +02:00
Aleksandar Radunovic 791027f77b Add site seeds 2018-10-15 15:13:51 +02:00
Aleksandar Radunovic 819f325bd5 Add region seeds 2018-10-15 15:13:26 +02:00
66 changed files with 2891 additions and 1346 deletions

View file

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

14
.editorconfig Normal file
View file

@ -0,0 +1,14 @@
root = true
[*]
end_of_line = lf
insert_final_newline = true
charset = utf-8
indent_style = space
indent_size = 2
[*.py]
indent_size = 4
[VERSION]
insert_final_newline = false

View file

@ -0,0 +1,18 @@
{
"Verbose": false,
"Debug": false,
"IgnoreDefaults": false,
"SpacesAfterTabs": false,
"NoColor": false,
"Exclude": ["LICENSE", "\\.initializers", "\\.vscode"],
"AllowedContentTypes": [],
"PassedFiles": [],
"Disable": {
"EndOfLine": false,
"Indentation": false,
"InsertFinalNewline": false,
"TrimTrailingWhitespace": false,
"IndentSize": true,
"MaxLineLength": false
}
}

7
.flake8 Normal file
View file

@ -0,0 +1,7 @@
[flake8]
max-line-length = 100
extend-ignore = E203, W503
per-file-ignores =
configuration/*:E131,E251,E266,E302,E305,E501,E722
startup_scripts/startup_script_utils/__init__.py:F401
docker/*:E266,E722

14
.github/FUNDING.yml vendored Normal file
View file

@ -0,0 +1,14 @@
# These are supported funding model platforms
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
- cimnine
- tobiasge
patreon: # Replace with a single Patreon username
open_collective: # Replace with a single Open Collective username
ko_fi: # Replace with a single Ko-fi username
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
otechie: # Replace with a single Otechie username
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']

147
.github/ISSUE_TEMPLATE/bug_report.yml vendored Normal file
View file

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

15
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View file

@ -0,0 +1,15 @@
blank_issues_enabled: false
contact_links:
- name: Question
url: https://github.com/netbox-community/netbox-docker/discussions
about: The Github Discussions are the right place to ask questions about how to use or do certain things with NetBox Docker.
- name: Chat
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."
- name: Community Wiki
url: https://github.com/netbox-community/netbox-docker/wiki
about: |
Our wiki contains information for common problems and tips for operating NetBox Docker in production.
It's maintained by our excellent community.

View file

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

View file

@ -1,47 +0,0 @@
<!--
Before raising an issue here, answer the following questions for yourself, please:
* Did you read through the troubleshooting section? (https://github.com/ninech/netbox-docker/#troubleshooting)
* Have you updated to the latest version and tried again? (i.e. `git pull` and `docker-compose pull`)
* Have you reset the project and tried again? (i.e. `docker-compose down -v`)
* Are you confident that your problem is related to the Docker or Docker Compose setup this project provides?
(Otherwise ask on the Netbox mailing list, please: https://groups.google.com/d/forum/netbox-discuss)
* Have you looked through the issues already resolved?
-->
## Current Behavior
<!-- describe what you did and how it misbehaved -->
...
## Expected Behavior
<!-- describe what you expected instead -->
...
## Debug Information
<!-- please fill in the following information that might helps us debug your problem more quickly -->
The output of `docker-compose version`: `XXXXX`
The output of `docker version`: `XXXXX`
The output of `git rev-parse HEAD`: `XXXXX`
The command you used to start the project: `XXXXX`
The output of `docker-compose logs netbox`:
<!-- if your log is very long, create a Gist instead: https://gist.github.com -->
```
LOG LOG LOG
```
<!--
If you have get any 5xx http error, else delete this section.
If your log is very long, create a Gist instead: https://gist.github.com
-->
The output of `docker-compose logs nginx`:
```
LOG LOG LOG
```

10
.github/no-response.yml vendored Normal file
View file

@ -0,0 +1,10 @@
# Configuration for probot-no-response - https://github.com/probot/no-response
# Number of days of inactivity before an Issue is closed for lack of response
daysUntilClose: 30
# Label requiring a response
responseRequiredLabel: awaiting answer
# Comment to post when closing an Issue for lack of response. Set to `false` to disable
closeComment: >
This issue has been automatically closed because there has been no response
to our request for more information from the original author.

85
.github/pull_request_template.md vendored Normal file
View file

@ -0,0 +1,85 @@
<!--
#########################################################################
Thank you for sharing your work and for opening a PR.
(!) IMPORTANT (!):
First make sure that you point your PR to the `develop` branch!
Now please read the comments carefully and try to provide information
on all relevant titles.
#########################################################################
-->
<!--
Please don't open an extra issue when submitting a PR.
But if there is already a related issue, please put it's number here.
E.g. #123 or N/A
-->
Related Issue:
## New Behavior
<!--
Please describe in a few words the intentions of your PR.
-->
...
## Contrast to Current Behavior
<!--
Please describe in a few words how the new behavior is different
from the current behavior.
-->
...
## Discussion: Benefits and Drawbacks
<!--
Please make your case here:
- Why do you think this project and the community will benefit from your
proposed change?
- What are the drawbacks of this change?
- Is it backwards-compatible?
- Anything else that you think is relevant to the discussion of this PR.
(No need to write a huge article here. Just a few sentences that give some
additional context about the motivations for the change.)
-->
...
## Changes to the Wiki
<!--
If the README.md must be updated, please include the changes in the PR.
If the Wiki must be updated, please make a suggestion below.
-->
...
## Proposed Release Note Entry
<!--
Please provide a short summary of your PR that we can copy & paste
into the release notes.
-->
...
## Double Check
<!--
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 explained my PR according to the information in the comments.
- [ ] My PR targets the `develop` branch.

103
.github/workflows/push.yml vendored Normal file
View file

@ -0,0 +1,103 @@
---
name: push
on:
push:
branches-ignore:
- release
- renovate/**
pull_request:
branches-ignore:
- release
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
lint:
runs-on: ubuntu-24.04
name: Checks syntax of our code
permissions:
contents: read
packages: read
statuses: write
steps:
- uses: actions/checkout@v5
with:
# Full git history is needed to get a proper
# list of changed files within `super-linter`
fetch-depth: 0
- name: Lint Code Base
uses: super-linter/super-linter@v8
env:
DEFAULT_BRANCH: develop
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SUPPRESS_POSSUM: true
LINTER_RULES_PATH: /
VALIDATE_ALL_CODEBASE: false
VALIDATE_BIOME_FORMAT: false
VALIDATE_CHECKOV: false
VALIDATE_DOCKERFILE: false
VALIDATE_GITHUB_ACTIONS_ZIZMOR: false
VALIDATE_GITLEAKS: false
VALIDATE_JSCPD: false
VALIDATE_TRIVY: false
FILTER_REGEX_EXCLUDE: (.*/)?(LICENSE|configuration/.*)
EDITORCONFIG_FILE_NAME: .editorconfig-checker.json
DOCKERFILE_HADOLINT_FILE_NAME: .hadolint.yaml
MARKDOWN_CONFIG_FILE: .markdown-lint.yml
PYTHON_BLACK_CONFIG_FILE: pyproject.toml
PYTHON_FLAKE8_CONFIG_FILE: .flake8
PYTHON_ISORT_CONFIG_FILE: pyproject.toml
YAML_CONFIG_FILE: .yamllint.yaml
build:
continue-on-error: ${{ matrix.build_cmd != './build-latest.sh' }}
strategy:
matrix:
build_cmd:
- ./build-latest.sh
- PRERELEASE=true ./build-latest.sh
- ./build.sh feature
- ./build.sh main
os:
- ubuntu-24.04
- ubuntu-24.04-arm
fail-fast: false
env:
GH_ACTION: enable
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
IMAGE_NAMES: docker.io/netboxcommunity/netbox
runs-on: ${{ matrix.os }}
name: Builds new NetBox Docker Images
steps:
- id: git-checkout
name: Checkout
uses: actions/checkout@v5
- id: buildx-setup
name: Set up Docker Buildx
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
name: Build the image for '${{ matrix.os }}' with '${{ matrix.build_cmd }}'
run: ${{ matrix.build_cmd }}
env:
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
name: Test the image
run: IMAGE="${FINAL_DOCKER_TAG}" ./test.sh
if: steps.docker-build.outputs.skipped != 'true'

88
.github/workflows/release.yml vendored Normal file
View file

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

13
.gitignore vendored
View file

@ -1 +1,14 @@
*.sql.gz
.netbox
.python-version
docker-compose.override.yml
*.pem
configuration/*
!configuration/configuration.py
!configuration/extra.py
configuration/ldap/*
!configuration/ldap/extra.py
!configuration/ldap/ldap_config.py
!configuration/logging.py
!configuration/plugins.py
super-linter.log

4
.hadolint.yaml Normal file
View file

@ -0,0 +1,4 @@
ignored:
- DL3006
- DL3008
- DL3003

2
.markdown-lint.yml Normal file
View file

@ -0,0 +1,2 @@
MD013: false
MD041: false

View file

@ -1,32 +0,0 @@
sudo: required
language: python
env:
- BUILD=release
- BUILD=prerelease
- BUILD=branches
- BUILD=special
git:
depth: 5
services:
- docker
install:
- docker-compose pull --parallel
- docker-compose build
script:
- docker-compose run netbox ./manage.py test
after_script:
- docker-compose down
after_success:
- docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD"
- ./build-all.sh --push
notifications:
slack:
secure: F3VsWcvU/XYyjGjU8ZAVGpREe7F1NjKq6LuMRzhQORbXUvanxDQtLzEe0Y5zm/6+gHkx6t8cX/v2PiCI+v46pkapYMUimd+QEOL1WxbUdnw2kQxcgw/R3wX34l2FHXbG3/a+TmH3euqbSCTIrPy9ufju948i+Q0E0u0fyInmozl8qOT23C4joQOpVAq7y+wHxTxsEg46ZzL2Ties+dmqjMsvHocv7mPI2IWzAWA8SJZxS82Amoapww++QjgEmoY+tMimLkdeXCRgeoj41UGHDg54rbEXh/PTaWiuzyzTr1WLmsGRScC57fDRivp3mSM37/MlNxsRj1z+j4zrvWFQgNfJ2yMjBHroc1jOX/uCY4dwbpSPqUCpc4idMGCGZFItgzTQ3lAPYAsom0C6n8C08Xk8EsNKWwXrDSd4ZUhIwptkNPCFK+kXbLFsMzSApnaBYW0T+wba57nZdiWjOPYmvJr49MDm5NHv2KaRBX2gpw7t7ZLhTgwGEWcZvcDebiLneXcXY5hZ7v2NHJkx/2x1yNXo85xZDy0wK1FGoOOHwPhvqOB+pcQZ/pUOSPTKqGw5l/CexoRm1shFsK+19FnSgimqTHjcuCo4lFW3JlEvlFhtfFXIte2Wjp1ALZgTrSq8zSD5rRxYCUKmM7b3EJwdaIgbvKWPdS4sCXlXU1bHx0g=

4
.yamllint.yaml Normal file
View file

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

View file

@ -1,59 +1,120 @@
FROM python:3.6-alpine3.8
ARG FROM
FROM ${FROM} AS builder
RUN apk add --no-cache \
bash \
build-base \
COPY --from=ghcr.io/astral-sh/uv:0.9 /uv /usr/local/bin/
RUN export DEBIAN_FRONTEND=noninteractive \
&& apt-get update -qq \
&& apt-get upgrade \
--yes -qq --no-install-recommends \
&& apt-get install \
--yes -qq --no-install-recommends \
build-essential \
ca-certificates \
cyrus-sasl-dev \
graphviz \
jpeg-dev \
libffi-dev \
libldap-dev \
libpq-dev \
libsasl2-dev \
libssl-dev \
libxml2-dev \
libxmlsec1 \
libxmlsec1-dev \
libxmlsec1-openssl \
libxslt-dev \
openldap-dev \
postgresql-dev \
ttf-ubuntu-font-family \
wget
pkg-config \
python3-dev \
&& /usr/local/bin/uv venv /opt/netbox/venv
RUN pip install \
# gunicorn is used for launching netbox
gunicorn \
# napalm is used for gathering information from network devices
napalm \
# ruamel is used in startup_scripts
ruamel.yaml \
# pinning django to the version required by netbox
# adding it here, to install the correct version of
# django-rq
'Django>=1.11,<2.1' \
# django-rq is used for webhooks
django-rq
ARG NETBOX_PATH
COPY ${NETBOX_PATH}/requirements.txt requirements-container.txt /
ENV VIRTUAL_ENV=/opt/netbox/venv
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-container.txt
WORKDIR /opt
###
# Main stage
###
ARG BRANCH=master
ARG URL=https://github.com/digitalocean/netbox/archive/$BRANCH.tar.gz
RUN wget -q -O - "${URL}" | tar xz \
&& mv netbox* netbox
ARG FROM
FROM ${FROM} AS main
WORKDIR /opt/netbox
RUN pip install -r requirements.txt
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 \
&& apt-get update -qq \
&& apt-get upgrade \
--yes -qq --no-install-recommends \
&& apt-get install \
--yes -qq --no-install-recommends \
bzip2 \
ca-certificates \
curl \
libldap-common \
libpq5 \
libxmlsec1-openssl \
openssh-client \
openssl \
python3 \
tini \
unit-python3.12=1.34.2-1~noble \
unit=1.34.2-1~noble \
&& 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
ARG NETBOX_PATH
COPY ${NETBOX_PATH} /opt/netbox
COPY docker/configuration.docker.py /opt/netbox/netbox/netbox/configuration.py
COPY configuration/gunicorn_config.py /etc/netbox/config/
COPY docker/nginx.conf /etc/netbox-nginx/nginx.conf
COPY docker/docker-entrypoint.sh docker-entrypoint.sh
COPY startup_scripts/ /opt/netbox/startup_scripts/
COPY initializers/ /opt/netbox/initializers/
COPY configuration/configuration.py /etc/netbox/config/configuration.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/launch-netbox.sh /opt/netbox/launch-netbox.sh
COPY configuration/ /etc/netbox/config/
COPY docker/nginx-unit.json /etc/unit/
COPY VERSION /opt/netbox/VERSION
WORKDIR /opt/netbox/netbox
ENTRYPOINT [ "/opt/netbox/docker-entrypoint.sh" ]
# Must set permissions for '/opt/netbox/netbox/media' directory
# to g+w so that pictures can be uploaded to netbox.
RUN mkdir -p static media /opt/unit/state/ /opt/unit/tmp/ \
&& chown -R unit:root /opt/unit/ media reports scripts \
&& chmod -R g+w /opt/unit/ media reports scripts \
&& cd /opt/netbox/ && SECRET_KEY="dummyKeyWithMinimumLength-------------------------" /opt/netbox/venv/bin/python -m mkdocs build \
--config-file /opt/netbox/mkdocs.yml --site-dir /opt/netbox/netbox/project-static/docs/ \
&& 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
CMD ["gunicorn", "-c /etc/netbox/config/gunicorn_config.py", "netbox.wsgi"]
ENV LANG=C.utf8 PATH=/opt/netbox/venv/bin:$PATH VIRTUAL_ENV=/opt/netbox/venv UV_NO_CACHE=1
ENTRYPOINT [ "/usr/bin/tini", "--" ]
LABEL SRC_URL="$URL"
CMD [ "/opt/netbox/docker-entrypoint.sh", "/opt/netbox/launch-netbox.sh" ]
ARG NETBOX_DOCKER_PROJECT_VERSION=snapshot
LABEL NETBOX_DOCKER_PROJECT_VERSION="$NETBOX_DOCKER_PROJECT_VERSION"
LABEL netbox.original-tag="" \
netbox.git-branch="" \
netbox.git-ref="" \
netbox.git-url="" \
# See https://github.com/opencontainers/image-spec/blob/master/annotations.md#pre-defined-annotation-keys
org.opencontainers.image.created="" \
org.opencontainers.image.title="NetBox Docker" \
org.opencontainers.image.description="A container based distribution of NetBox, the free and open IPAM and DCIM solution." \
org.opencontainers.image.licenses="Apache-2.0" \
org.opencontainers.image.authors="The netbox-docker contributors." \
org.opencontainers.image.vendor="The netbox-docker contributors." \
org.opencontainers.image.url="https://github.com/netbox-community/netbox-docker" \
org.opencontainers.image.documentation="https://github.com/netbox-community/netbox-docker/wiki" \
org.opencontainers.image.source="https://github.com/netbox-community/netbox-docker.git" \
org.opencontainers.image.revision="" \
org.opencontainers.image.version=""

View file

@ -1,9 +0,0 @@
ARG DOCKER_ORG=ninech
ARG DOCKER_REPO=netbox
ARG FROM_TAG=latest
FROM $DOCKER_ORG/$DOCKER_REPO:$FROM_TAG
RUN pip install django_auth_ldap
COPY docker/ldap_config.docker.py /opt/netbox/netbox/netbox/ldap_config.py
COPY configuration/ldap_config.py /etc/netbox/config/ldap_config.py

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.

503
README.md
View file

@ -1,418 +1,163 @@
# netbox-docker
[![Build Status](https://travis-ci.org/ninech/netbox-docker.svg?branch=master)][travis]
[![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 closed pull requests](https://img.shields.io/github/issues-pr-closed-raw/netbox-community/netbox-docker)
![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)
[![GitHub license](https://img.shields.io/github/license/netbox-community/netbox-docker)][netbox-docker-license]
This repository houses the components needed to build NetBox as a Docker container.
Images built using this code are released to [Docker Hub][netbox-dockerhub] every night.
[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].
_NetBox Docker_ is a project developed and maintained by the _NetBox_ community.
Questions? Before opening an issue on Github, please join the [Network To Code][ntc-slack] and ask for help in our `#netbox-docker` channel.
Do you have any questions?
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,
or start a new [GitHub Discussion][github-discussions].
[travis]: https://travis-ci.org/ninech/netbox-docker
[netbox-dockerhub]: https://hub.docker.com/r/ninech/netbox/tags/
[ntc-slack]: http://slack.networktocode.com/
[github-stargazers]: https://github.com/netbox-community/netbox-docker/stargazers
[github-release]: https://github.com/netbox-community/netbox-docker/releases
[netbox-dockerhub]: https://hub.docker.com/r/netboxcommunity/netbox/
[netbox-quayio]: https://quay.io/repository/netboxcommunity/netbox
[netbox-ghcr]: https://github.com/netbox-community/netbox-docker/pkgs/container/netbox
[netbox-docker-github]: https://github.com/netbox-community/netbox-docker/
[netbox-docker-slack]: https://join.slack.com/t/netdev-community/shared_invite/zt-mtts8g0n-Sm6Wutn62q_M4OdsaIycrQ
[netbox-docker-slack-channel]: https://netdev-community.slack.com/archives/C01P0GEVBU7
[netbox-slack-channel]: https://netdev-community.slack.com/archives/C01P0FRSXRV
[netbox-docker-license]: https://github.com/netbox-community/netbox-docker/blob/release/LICENSE
[github-discussions]: https://github.com/netbox-community/netbox-docker/discussions
## Quickstart
To get NetBox up and running:
To get _NetBox Docker_ up and running run the following commands.
There is a more complete [_Getting Started_ guide on our wiki][wiki-getting-started] which explains every step.
```
$ git clone -b master https://github.com/ninech/netbox-docker.git
$ cd netbox-docker
$ docker-compose pull
$ docker-compose up -d
```bash
git clone -b release https://github.com/netbox-community/netbox-docker.git
cd netbox-docker
# Copy the example override file
cp docker-compose.override.yml.example docker-compose.override.yml
# Read and edit the file to your liking
docker compose pull
docker compose up
```
The application will be available after a few minutes.
Use `docker-compose port nginx 8080` to find out where to connect to.
The whole application will be available after a few minutes.
Open the URL `http://0.0.0.0:8000/` in a web-browser.
You should see the NetBox homepage.
```
$ echo "http://$(docker-compose port nginx 8080)/"
http://0.0.0.0:32768/
To create the first admin user run this command:
# Open netbox in your default browser on macOS:
$ open "http://$(docker-compose port nginx 8080)/"
# Open netbox in your default browser on (most) linuxes:
$ xdg-open "http://$(docker-compose port nginx 8080)/" &>/dev/null &
```bash
docker compose exec netbox /opt/netbox/netbox/manage.py createsuperuser
```
Alternatively, use something like [Reception][docker-reception] to connect to _docker-compose_ projects.
If you need to restart Netbox from an empty database often,
you can also set the `SUPERUSER_*` variables in your `docker-compose.override.yml`.
Default credentials:
[wiki-getting-started]: https://github.com/netbox-community/netbox-docker/wiki/Getting-Started
* Username: **admin**
* Password: **admin**
* API Token: **0123456789abcdef0123456789abcdef01234567**
## Container Image Tags
[docker-reception]: https://github.com/ninech/reception
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!
- `vX.Y.Z-a.b.c`, `vX.Y-a.b.c`:
These are release builds containing _NetBox version_ `vX.Y.Z`.
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.
These images are automatically built from [the corresponding releases of NetBox][netbox-releases].
- `latest-a.b.c`:
These are release builds, containing the latest stable version of NetBox.
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.
- `snapshot-a.b.c`:
These are prerelease builds.
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.
These images are automatically built from the [`main` branch of NetBox][netbox-main].
For each of the above tag, there is an extra tag:
- `vX.Y.Z`, `vX.Y`:
This is the same version as `vX.Y.Z-a.b.c` (or `vX.Y-a.b.c`, respectively).
- `latest`
This is the same version as `latest-a.b.c`.
It always points to the latest version of _NetBox Docker_.
- `snapshot`
This is the same version as `snapshot-a.b.c`.
It always points to the latest version of _NetBox Docker_.
[netbox-releases]: https://github.com/netbox-community/netbox/releases
[netbox-main]: https://github.com/netbox-community/netbox/tree/main
## Documentation
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 LDAP.
Our wiki is a community effort.
Feel free to correct errors, update outdated information or provide additional guides and insights.
[netbox-docker-wiki]: https://github.com/netbox-community/netbox-docker/wiki/
## Getting Help
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],
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
you may find [the `#netbox` channel][netbox-slack-channel] on the same Slack instance very helpful.
[netbox-community]: https://github.com/netbox-community/netbox-docker/discussions
## Dependencies
This project relies only on *Docker* and *docker-compose* meeting this requirements:
This project relies only on _Docker_ and _docker-compose_ meeting these requirements:
* The *Docker version* must be at least `1.13.0`.
* The *docker-compose version* must be at least `1.10.0`.
- The _Docker version_ must be at least `20.10.10`.
- The _containerd version_ must be at least `1.5.6`.
- The _docker-compose version_ must be at least `1.28.0`.
To ensure this, compare the output of `docker --version` and `docker-compose --version` with the requirements above.
To check the version installed on your system run `docker --version` and `docker compose version`.
## Configuration
## Updating
You can configure the app using environment variables.
These are defined in `netbox.env`.
Read [Environment Variables in Compose][compose-env] to understand about the various possibilities to overwrite these variables.
(The easiest solution being simply adjusting that file.)
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 version of the Git repository.
To find all possible variables, have a look at the [configuration.docker.py][docker-config] and [docker-entrypoint.sh][entrypoint] files.
Generally, the environment variables are called the same as their respective NetBox configuration variables.
Variables which are arrays are usually composed by putting all the values into the same environment variables with the values separated by a whitespace ("` `").
For example defining `ALLOWED_HOSTS=localhost ::1 127.0.0.1` would allows access to NetBox through `http://localhost:8080`, `http://[::1]:8080` and `http://127.0.0.1:8080`.
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].
[compose-env]: https://docs.docker.com/compose/environment-variables/
[releases]: https://github.com/netbox-community/netbox-docker/releases
[netbox-docker-wiki-updating]: https://github.com/netbox-community/netbox-docker/wiki/Updating
### Production
## Rebuilding the Image
The default settings are optimized for (local) development environments.
You should therefore adjust the configuration for production setups, at least the following variables:
`./build.sh` can be used to rebuild the container image.
See `./build.sh --help` for more information or `./build-latest.sh` for an example.
* `ALLOWED_HOSTS`: Add all URLs that lead to your NetBox instance, space separated. E.g. `ALLOWED_HOSTS=netbox.mycorp.com server042.mycorp.com 2a02:123::42 10.0.0.42 localhost ::1 127.0.0.1` (It's good advice to always allow localhost connections for easy debugging, i.e. `localhost ::1 127.0.0.1`.)
* `DB_*`: Use your own persistent database. Don't use the default passwords!
* `EMAIL_*`: Use your own mailserver.
* `MAX_PAGE_SIZE`: Use the recommended default of 1000.
* `SUPERUSER_*`: Only define those variables during the initial setup, and drop them once the DB is set up. Don't use the default passwords!
* `REDIS_*`: Use your own persistent redis. Don't use the default passwords!
For more details on custom builds [consult our wiki][netbox-docker-wiki-build].
### Running on Docker Swarm / Kubernetes / OpenShift
You may run this image in a cluster such as Docker Swarm, Kubernetes or OpenShift, but this is advanced level.
In this case, we encourage you to statically configure NetBox by starting from [NetBox's example config file][default-config], and mounting it into your container in the directory `/etc/netbox/config/` using the mechanism provided by your container platform (i.e. [Docker Swarm configs][swarm-config], [Kubernetes ConfigMap][k8s-config], [OpenShift ConfigMaps][openshift-config]).
But if you rather continue to configure your application through environment variables, you may continue to use [the built-in configuration file][docker-config].
We discourage storing secrets in environment variables, as environment variable are passed on to all sub-processes and may leak easily into other systems, e.g. error collecting tools that often collect all environment variables whenever an error occurs.
Therefore we *strongly advise* to make use of the secrets mechanism provided by your container platform (i.e. [Docker Swarm secrets][swarm-secrets], [Kubernetes secrets][k8s-secrets], [OpenShift secrets][openshift-secrets]).
[The configuration file][docker-config] and [the entrypoint script][entrypoint] try to load the following secrets from the respective files.
If a secret is defined by an environment variable and in the respective file at the same time, then the value from the environment variable is used.
* `SUPERUSER_PASSWORD`: `/run/secrets/superuser_password`
* `SUPERUSER_API_TOKEN`: `/run/secrets/superuser_api_token`
* `DB_PASSWORD`: `/run/secrets/db_password`
* `SECRET_KEY`: `/run/secrets/secret_key`
* `EMAIL_PASSWORD`: `/run/secrets/email_password`
* `NAPALM_PASSWORD`: `/run/secrets/napalm_password`
* `REDIS_PASSWORD`: `/run/secrets/redis_password`
Please also consider [the advice about running NetBox in production](#production) above!
[docker-config]: https://github.com/ninech/netbox-docker/blob/master/docker/configuration.docker.py
[default-config]: https://github.com/digitalocean/netbox/blob/develop/netbox/netbox/configuration.example.py
[entrypoint]: https://github.com/ninech/netbox-docker/blob/master/docker/docker-entrypoint.sh
[swarm-config]: https://docs.docker.com/engine/swarm/configs/
[swarm-secrets]: https://docs.docker.com/engine/swarm/secrets/
[openshift-config]: https://docs.openshift.org/latest/dev_guide/configmaps.html
[openshift-secrets]: https://docs.openshift.org/latest/dev_guide/secrets.html
[k8s-secrets]: https://kubernetes.io/docs/concepts/configuration/secret/
[k8s-config]: https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/
### NAPALM Configuration
Since v2.1.0 NAPALM has been tightly integrated into NetBox.
NAPALM allows NetBox to fetch live data from devices and return it to a requester via its REST API.
To learn more about what NAPALM is and how it works, please see the documentation from the [libary itself][napalm-doc] or the documentation from [NetBox][netbox-napalm-doc] on how it is integrated.
To enable this functionality, simply complete the following lines in `netbox.env` (or appropriate secrets mechanism) :
* `NAPALM_USERNAME`: A common username that can be utilized for connecting to network devices in your environment.
* `NAPALM_PASSWORD`: The password to use in combintation with the username to connect to network devices.
* `NAPALM_TIMEOUT`: A value to use for when an attempt to connect to a device will timeout if no response has been recieved.
However, if you don't need this functionality, leave these blank.
[napalm-doc]: http://napalm.readthedocs.io/en/latest/index.html
[netbox-napalm-doc]: https://netbox.readthedocs.io/en/latest/configuration/optional-settings/#napalm_username
### Custom Initialization Code (e.g. Automatically Setting Up Custom Fields)
When using `docker-compose`, all the python scripts present in `/opt/netbox/startup_scripts` will automatically be executed after the application boots in the context of `./manage.py`.
That mechanism can be used for many things, e.g. to create NetBox custom fields:
```python
# docker/startup_scripts/load_custom_fields.py
from django.contrib.contenttypes.models import ContentType
from extras.models import CF_TYPE_TEXT, CustomField
from dcim.models import Device
from dcim.models import DeviceType
device = ContentType.objects.get_for_model(Device)
device_type = ContentType.objects.get_for_model(DeviceType)
my_custom_field, created = CustomField.objects.get_or_create(
type=CF_TYPE_TEXT,
name='my_custom_field',
description='My own custom field'
)
if created:
my_custom_field.obj_type.add(device)
my_custom_field.obj_type.add(device_type)
```
#### Initializers
Initializers are built-in startup scripts for defining NetBox custom fields, groups and users.
All you need to do is to mount you own `initializers` folder ([see `docker-compose.yml`][netbox-docker-compose]).
Look at the [`initializers` folder][netbox-docker-initializers] to learn how the files must look like.
Here's an example for defining a custom field:
```yaml
# initializers/custom_fields.yml
text_field:
type: text
label: Custom Text
description: Enter text in a text field.
required: false
filter_logic: loose
weight: 0
on_objects:
- dcim.models.Device
- dcim.models.Rack
- ipam.models.IPAddress
- ipam.models.Prefix
- tenancy.models.Tenant
- virtualization.models.VirtualMachine
```
[netbox-docker-initializers]: https://github.com/ninech/netbox-docker/tree/master/initializers
[netbox-docker-compose]: https://github.com/ninech/netbox-docker/blob/master/docker-compose.yml
##### Available Groups for User/Group initializers
To get an up-to-date list about all the available permissions, run the following command.
```bash
# Make sure the 'netbox' container is already running! If unsure, run `docker-compose up -d`
echo "from django.contrib.auth.models import Permission\nfor p in Permission.objects.all():\n print(p.codename);" | docker-compose exec -T netbox ./manage.py shell
```
#### Custom Docker Image
You can also build your own NetBox Docker image containing your own startup scripts, custom fields, users and groups
like this:
```
ARG VERSION=latest
FROM ninech/netbox:$VERSION
COPY startup_scripts/ /opt/netbox/startup_scripts/
COPY initializers/ /opt/netbox/initializers/
```
## Netbox Version
The `docker-compose.yml` file is prepared to run a specific version of NetBox.
To use this feature, set the environment-variable `VERSION` before launching `docker-compose`, as shown below.
`VERSION` may be set to the name of
[any tag of the `ninech/netbox` Docker image on Docker Hub][netbox-dockerhub].
```
$ export VERSION=v2.2.6
$ docker-compose pull netbox
$ docker-compose up -d
```
You can also build a specific version of the NetBox image. This time, `VERSION` indicates any valid
[Git Reference][git-ref] declared on [the 'digitalocean/netbox' Github repository][netbox-github].
Most commonly you will specify a tag or branch name.
```
$ export VERSION=develop
$ docker-compose build --no-cache netbox
$ docker-compose up -d
```
Hint: If you're building a specific version by tag name, the `--no-cache` argument is not strictly necessary.
This can increase the build speed if you're just adjusting the config, for example.
[git-ref]: https://git-scm.com/book/en/v2/Git-Internals-Git-References
[netbox-github]: https://github.com/digitalocean/netbox/releases
### LDAP enabled variant
The images tagged with "-ldap" contain anything necessary to authenticate against an LDAP or Active Directory server.
The default configuration `ldap_config.py` is prepared for use with an Active Directory server.
Custom values can be injected using environment variables, similar to the main configuration mechanisms.
## Troubleshooting
This section is a collection of some common issues and how to resolve them.
If your issue is not here, look through [the existing issues][issues] and eventually create a new issue.
[issues]: (https://github.com/ninech/netbox-docker/issues)
### Docker Compose basics
* You can see all running containers belonging to this project using `docker-compose ps`.
* You can see the logs by running `docker-compose logs -f`.
Running `docker-compose logs -f netbox` will just show the logs for netbox.
* You can stop everything using `docker-compose stop`.
* You can clean up everything using `docker-compose down -v --remove-orphans`. **This will also remove any related data.**
* You can enter the shell of the running NetBox container using `docker-compose exec netbox /bin/bash`. Now you have access to `./manage.py`, e.g. to reset a password.
* To access the database run `docker-compose exec postgres sh -c 'psql -U $POSTGRES_USER $POSTGRES_DB'`
* To create a database backup run `docker-compose exec postgres sh -c 'pg_dump -cU $POSTGRES_USER $POSTGRES_DB' | gzip > db_dump.sql.gz`
* To restore that database backup run `gunzip -c db_dump.sql.gz | docker exec -i $(docker-compose ps -q postgres) sh -c 'psql -U $POSTGRES_USER $POSTGRES_DB'`.
### Nginx doesn't start
As a first step, stop your docker-compose setup.
Then locate the `netbox-nginx-config` volume and remove it:
```bash
# Stop your local netbox-docker installation
$ docker-compose down
# Find the volume
$ docker volume ls | grep netbox-nginx-config
local netbox-docker_netbox-nginx-config
# Remove the volume
$ docker volume rm netbox-docker_netbox-nginx-config
netbox-docker_netbox-nginx-config
```
Now start everything up again.
If this didn't help, try to see if there's anything in the logs indicating why nginx doesn't start:
```bash
$ docker-compose logs -f nginx
```
### Getting a "Bad Request (400)"
> When connecting to the NetBox instance, I get a "Bad Request (400)" error.
This usually happens when the `ALLOWED_HOSTS` variable is not set correctly.
### How to upgrade
> How do I update to a newer version of netbox?
It should be sufficient to pull the latest image from Docker Hub, stopping the container and starting it up again:
```bash
docker-compose pull netbox
docker-compose stop netbox netbox-worker
docker-compose rm -f netbox netbox-worker
docker-compose up -d netbox netbox-worker
```
### Webhooks don't work
First make sure that the webhooks feature is enabled in your Netbox configuration and that a redis host is defined.
Check `netbox.env` if the following variables are defined:
```
WEBHOOKS_ENABLED=true
REDIS_HOST=redis
```
Then make sure that the `redis` container and at least one `netbox-worker` are running.
```
# check the container status
$ docker-compose ps
Name Command State Ports
--------------------------------------------------------------------------------------------------------
netbox-docker_netbox-worker_1 /opt/netbox/docker-entrypo ... Up
netbox-docker_netbox_1 /opt/netbox/docker-entrypo ... Up
netbox-docker_nginx_1 nginx -c /etc/netbox-nginx ... Up 80/tcp, 0.0.0.0:32776->8080/tcp
netbox-docker_postgres_1 docker-entrypoint.sh postgres Up 5432/tcp
netbox-docker_redis_1 docker-entrypoint.sh redis ... Up 6379/tcp
# connect to redis and send PING command:
$ docker-compose run --rm -T redis sh -c 'redis-cli -h redis -a $REDIS_PASSWORD ping'
Warning: Using a password with '-a' option on the command line interface may not be safe.
PONG
```
If `redis` and the `netbox-worker` are not available, make sure you have updated your `docker-compose.yml` file!
Everything's up and running? Then check the log of `netbox-worker` and/or `redis`:
```bash
docker-compose logs -f netbox-worker
docker-compose logs -f redis
```
Still no clue? You can connect to the `redis` container and have it report any command that is currently executed on the server:
```bash
docker-compose run --rm -T redis sh -c 'redis-cli -h redis -a $REDIS_PASSWORD monitor'
# Hit CTRL-C a few times to leave
```
If you don't see anything happening after you triggered a webhook, double-check the configuration of the `netbox` and the `netbox-worker` containers and also check the configuration of your webhook in the admin interface of Netbox.
### Breaking Changes
From time to time it might become necessary to re-engineer the structure of this setup.
Things like the `docker-compose.yml` file or your Kubernetes or OpenShift configurations have to be adjusted as a consequence.
Since April 2018 each image built from this repo contains a `NETBOX_DOCKER_PROJECT_VERSION` label.
You can check the label of your local image by running `docker inspect ninech/netbox:v2.3.1 --format "{{json .ContainerConfig.Labels}}"`.
Compare the version with the list below to check whether a breaking change was introduced with that version.
The following is a list of breaking changes of the `netbox-docker` project:
* 0.5.0: Alpine was updated to 3.8, `*.env` moved to `/env` folder
* 0.4.0: In order to use Netbox webhooks you need to add Redis and a netbox-worker to your docker-compose.yml.
* 0.3.0: Field `filterable: <boolean` was replaced with field `filter_logic: loose/exact/disabled`. It will default to `CF_FILTER_LOOSE=loose` when not defined.
* 0.2.0: Re-organized paths: `/etc/netbox -> /etc/netbox/config` and `/etc/reports -> /etc/netbox/reports`. Fixes [#54](https://github.com/ninech/netbox-docker/issues/54).
* 0.1.0: Introduction of the `NETBOX_DOCKER_PROJECT_VERSION`. (Not a breaking change per se.)
## Rebuilding & Publishing images
`./build.sh` is used to rebuild the Docker image:
```
$ ./build.sh --help
Usage: ./build.sh <branch> [--push]
branch The branch or tag to build. Required.
--push Pushes built Docker image to docker hub.
You can use the following ENV variables to customize the build:
BRANCH The branch to build.
Also used for tagging the image.
DOCKER_REPO The Docker registry (i.e. hub.docker.com/r/DOCKER_REPO/netbox)
Also used for tagging the image.
Default: ninech
SRC_REPO Which fork of netbox to use (i.e. github.com/<SRC_REPO>/netbox).
Default: digitalocean
URL Where to fetch the package from.
Must be a tar.gz file of the source code.
Default: https://github.com/${SRC_REPO}/netbox/archive/$BRANCH.tar.gz
```
### Publishing Docker Images
New Docker Images are built and published every 24h by using travis:
[![Build Status](https://travis-ci.org/ninech/netbox-docker.svg?branch=master)][travis]
[netbox-docker-wiki-build]: https://github.com/netbox-community/netbox-docker/wiki/Build
## Tests
To run the tests coming with NetBox, use the `docker-compose.yml` file as such:
We have a test script.
It runs NetBox's own unit tests and ensures that NetBox starts:
```
$ docker-compose run netbox ./manage.py test
```bash
IMAGE=docker.io/netboxcommunity/netbox:latest ./test.sh
```
## About
## Support
This repository is currently maintained and funded by [nine](https://nine.ch), your cloud navigator.
This repository is currently maintained by the community.
The community is expected to help each other.
[![logo of the company 'nine'](https://logo.apps.at-nine.ch/Dmqied_eSaoBMQwk3vVgn4UIgDo=/trim/500x0/logo_claim.png)](https://www.nine.ch)
Please consider sponsoring the maintainers of this project.

View file

@ -1 +1 @@
0.5.1
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

@ -1,88 +0,0 @@
#!/bin/bash
# Builds all Docker images this project provides
# Arguments:
# BUILD: The release to build.
# Allowed: release, prerelease, branches, special
# Default: undefined
echo "▶️ $0 $*"
ALL_BUILDS=("release" "prerelease" "branches" "special")
BUILDS=("${BUILD:-"${ALL_BUILDS[@]}"}")
echo "⚙️ Configured builds: ${BUILDS[*]}"
VARIANTS=("" "ldap")
if [ ! -z "${DEBUG}" ]; then
export DEBUG
fi
ERROR=0
# Don't build if not on `master` and don't build if on a pull request,
# but build when DEBUG is not empty
if [ ! -z "${DEBUG}" ] || \
( [ "$TRAVIS_BRANCH" = "master" ] && [ "$TRAVIS_PULL_REQUEST" = "false" ] ); then
for VARIANT in "${VARIANTS[@]}"; do
export VARIANT
# Checking which VARIANT to build
if [ -z "$VARIANT" ]; then
DOCKERFILE="Dockerfile"
else
DOCKERFILE="Dockerfile.${VARIANT}"
# Fail fast
if [ ! -f "${DOCKERFILE}" ]; then
echo "🚨 The Dockerfile '${DOCKERFILE}' for variant '${VARIANT}' doesn't exist."
ERROR=1
if [ -z "$DEBUG" ]; then
continue
else
echo "⚠️ Would skip this, but DEBUG is enabled."
fi
fi
fi
for BUILD in "${BUILDS[@]}"; do
echo "🛠 Building '$BUILD' from '$DOCKERFILE'"
case $BUILD in
release)
# build the latest release
# shellcheck disable=SC2068
./build-latest.sh $@ || ERROR=1
;;
prerelease)
# build the latest pre-release
# shellcheck disable=SC2068
PRERELEASE=true ./build-latest.sh $@ || ERROR=1
;;
branches)
# build all branches
# shellcheck disable=SC2068
./build-branches.sh $@ || ERROR=1
;;
special)
# special build
# shellcheck disable=SC2068
#SRC_ORG=lampwins TAG=webhooks-backend ./build.sh "feature/webhooks-backend" $@ || ERROR=1
;;
*)
echo "🚨 Unrecognized build '$BUILD'."
if [ -z "$DEBUG" ]; then
exit 1
else
echo "⚠️ Would exit here with code '1', but DEBUG is enabled."
fi
;;
esac
done
done
else
echo "❎ Not building anything."
fi
exit $ERROR

View file

@ -1,28 +0,0 @@
#!/bin/bash
# Builds develop, develop-* and master branches
echo "▶️ $0 $*"
if [ ! -z "${GITHUB_OAUTH_CLIENT_ID}" ] && [ ! -z "${GITHUB_OAUTH_CLIENT_SECRET}" ]; then
echo "🗝 Performing authenticated Github API calls."
GITHUB_OAUTH_PARAMS="client_id=${GITHUB_OAUTH_CLIENT_ID}&client_secret=${GITHUB_OAUTH_CLIENT_SECRET}"
else
echo "🕶 Performing unauthenticated Github API calls. This might result in lower Github rate limits!"
GITHUB_OAUTH_PARAMS=""
fi
ORIGINAL_GITHUB_REPO="digitalocean/netbox"
GITHUB_REPO="${GITHUB_REPO-$ORIGINAL_GITHUB_REPO}"
URL_RELEASES="https://api.github.com/repos/${GITHUB_REPO}/branches?${GITHUB_OAUTH_PARAMS}"
CURL="curl -sS"
BRANCHES=$($CURL "${URL_RELEASES}" | jq -r 'map(.name) | .[] | scan("^[^v].+") | match("^(master|develop).*") | .string')
ERROR=0
for BRANCH in $BRANCHES; do
# shellcheck disable=SC2068
./build.sh "${BRANCH}" $@ || ERROR=1
done
exit $ERROR

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

@ -0,0 +1,18 @@
#!/bin/bash
check_if_tags_exists() {
local image=$1
local tag=$2
skopeo list-tags "docker://$image" | jq -r ".Tags | contains([\"$tag\"])"
}
get_image_label() {
local label=$1
local image=$2
skopeo inspect "docker://$image" | jq -r ".Labels[\"$label\"]"
}
get_image_last_layer() {
local image=$1
skopeo inspect "docker://$image" | jq -r ".Layers | last"
}

View file

@ -0,0 +1,32 @@
#!/bin/bash
###
# A regular echo, that only prints if ${GH_ACTION} is defined.
###
gh_echo() {
if [ -n "${GH_ACTION}" ]; then
echo "${@}"
fi
}
###
# Prints the output to the file defined in ${GITHUB_ENV}.
# Only executes if ${GH_ACTION} is defined.
# Example Usage: gh_env "FOO_VAR=bar_value"
###
gh_env() {
if [ -n "${GH_ACTION}" ]; then
echo "${@}" >>"${GITHUB_ENV}"
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,44 +1,78 @@
#!/bin/bash
# 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 $*"
if [ ! -z "${GITHUB_OAUTH_CLIENT_ID}" ] && [ ! -z "${GITHUB_OAUTH_CLIENT_SECRET}" ]; then
CURL_ARGS=(
--silent
)
###
# Checking for the presence of GITHUB_TOKEN
###
if [ -n "${GITHUB_TOKEN}" ]; then
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
echo "🕶 Performing unauthenticated Github API calls. This might result in lower Github rate limits!"
GITHUB_OAUTH_PARAMS=""
fi
ORIGINAL_GITHUB_REPO="digitalocean/netbox"
GITHUB_REPO="${GITHUB_REPO-$ORIGINAL_GITHUB_REPO}"
URL_RELEASES="https://api.github.com/repos/${GITHUB_REPO}/releases?${GITHUB_OAUTH_PARAMS}"
###
# Checking if PRERELEASE is either unset, 'true' or 'false'
###
if [ -n "${PRERELEASE}" ] &&
{ [ "${PRERELEASE}" != "true" ] && [ "${PRERELEASE}" != "false" ]; }; then
if [ -z "${DEBUG}" ]; then
echo "⚠️ PRERELEASE must be either unset, 'true' or 'false', but was '${PRERELEASE}'!"
exit 1
else
echo "⚠️ Would exit here with code '1', but DEBUG is enabled."
fi
fi
###
# Calling Github to get the latest version
###
ORIGINAL_GITHUB_REPO="netbox-community/netbox"
GITHUB_REPO="${GITHUB_REPO-$ORIGINAL_GITHUB_REPO}"
URL_RELEASES="https://api.github.com/repos/${GITHUB_REPO}/releases"
# 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"
CURL="curl -sS"
CURL="curl"
VERSION=$($CURL "${URL_RELEASES}" | jq -r "${JQ_LATEST}")
# Querying the Github API to fetch the most recent version number
VERSION=$($CURL "${CURL_ARGS[@]}" "${URL_RELEASES}" | jq -r "${JQ_LATEST}" 2>/dev/null)
###
# Check if the prerelease version is actually higher than stable version
###
if [ "${PRERELEASE}" == "true" ]; then
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 match "${STABLE_VERSION}" 'v\([0-9]\+\)')
# shellcheck disable=SC2003
MINOR_STABLE=$(expr match "${STABLE_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]\+\)')
MAJOR_STABLE=$(expr "${STABLE_VERSION}" : 'v\([0-9]\+\)')
MINOR_STABLE=$(expr "${STABLE_VERSION}" : 'v[0-9]\+\.\([0-9]\+\)')
MAJOR_UNSTABLE=$(expr "${VERSION}" : 'v\([0-9]\+\)')
MINOR_UNSTABLE=$(expr "${VERSION}" : 'v[0-9]\+\.\([0-9]\+\)')
if ( [ "$MAJOR_STABLE" -eq "$MAJOR_UNSTABLE" ] && [ "$MINOR_STABLE" -ge "$MINOR_UNSTABLE" ] ) \
|| [ "$MAJOR_STABLE" -gt "$MAJOR_UNSTABLE" ]; then
echo "❎ Latest unstable version ('$VERSION') is not higher than the latest stable version ('$STABLE_VERSION')."
if {
[ "${MAJOR_STABLE}" -eq "${MAJOR_UNSTABLE}" ] &&
[ "${MINOR_STABLE}" -ge "${MINOR_UNSTABLE}" ]
} || [ "${MAJOR_STABLE}" -gt "${MAJOR_UNSTABLE}" ]; then
echo "❎ Latest unstable version '${VERSION}' is not higher than the latest stable version '$STABLE_VERSION'."
if [ -z "$DEBUG" ]; then
gh_out "skipped=true"
exit 0
else
echo "⚠️ Would exit here with code '0', but DEBUG is enabled."
@ -46,28 +80,6 @@ if [ "${PRERELEASE}" == "true" ]; then
fi
fi
# Check if that version is not already available on docker hub:
ORIGINAL_DOCKERHUB_REPO="ninech/netbox"
DOCKERHUB_REPO="${DOCKERHUB_REPO-$ORIGINAL_DOCKERHUB_REPO}"
URL_DOCKERHUB_TOKEN="https://auth.docker.io/token?service=registry.docker.io&scope=repository:${DOCKERHUB_REPO}:pull"
BEARER_TOKEN="$($CURL "${URL_DOCKERHUB_TOKEN}" | jq -r .token)"
URL_DOCKERHUB_TAG="https://registry.hub.docker.com/v2/${DOCKERHUB_REPO}/tags/list"
AUTHORIZATION_HEADER="Authorization: Bearer ${BEARER_TOKEN}"
if [ -z "$VARIANT" ]; then
DOCKER_TAG="${VERSION}"
else
DOCKER_TAG="${VERSION}-${VARIANT}"
fi
ALREADY_BUILT="$($CURL -H "${AUTHORIZATION_HEADER}" "${URL_DOCKERHUB_TAG}" | jq -e ".tags | any(.==\"${DOCKER_TAG}\")")"
if [ "$ALREADY_BUILT" == "false" ]; then
# shellcheck disable=SC2068
./build.sh "${VERSION}" $@
exit $?
else
echo "${DOCKER_TAG} already exists on https://hub.docker.com/r/${DOCKERHUB_REPO}"
exit 0
fi
# shellcheck disable=SC2068
./build.sh "${VERSION}" $@
exit $?

553
build.sh
View file

@ -1,68 +1,132 @@
#!/bin/bash
# Builds the Dockerfile[.variant] and injects tgz'ed Netbox code from Github
# Clones the NetBox repository with git from Github and builds the Dockerfile
echo "▶️ $0 $*"
set -e
if [ "${1}x" == "x" ] || [ "${1}" == "--help" ] || [ "${1}" == "-h" ]; then
echo "Usage: ${0} <branch> [--push]"
echo " branch The branch or tag to build. Required."
echo " --push Pushes built Docker image to docker hub."
echo ""
echo "You can use the following ENV variables to customize the build:"
echo " DEBUG If defined, the script does not stop when certain checks are unsatisfied."
echo " DRY_RUN Prints all build statements instead of running them."
echo " DOCKER_OPTS Add parameters to Docker."
echo " Default:"
echo " When <TAG> starts with 'v': \"\""
echo " Else: \"--no-cache\""
echo " BRANCH The branch to build."
echo " Also used for tagging the image."
echo " TAG The version part of the docker tag."
echo " Default:"
echo " When <BRANCH>=master: latest"
echo " When <BRANCH>=develop: snapshot"
echo " Else: same as <BRANCH>"
echo " DOCKER_ORG The Docker registry (i.e. hub.docker.com/r/<DOCKER_ORG>/<DOCKER_REPO>) "
echo " Also used for tagging the image."
echo " Default: ninech"
echo " DOCKER_REPO The Docker registry (i.e. hub.docker.com/r/<DOCKER_ORG>/<DOCKER_REPO>) "
echo " Also used for tagging the image."
echo " Default: netbox"
echo " DOCKER_TAG The name of the tag which is applied to the image."
echo " Useful for pushing into another registry than hub.docker.com."
echo " Default: <DOCKER_ORG>/<DOCKER_REPO>:<BRANCH>"
echo " SRC_ORG Which fork of netbox to use (i.e. github.com/<SRC_ORG>/<SRC_REPO>)."
echo " Default: digitalocean"
echo " SRC_REPO The name of the netbox for to use (i.e. github.com/<SRC_ORG>/<SRC_REPO>)."
echo " Default: netbox"
echo " URL Where to fetch the package from."
echo " Must be a tar.gz file of the source code."
echo " Default: https://github.com/<SRC_ORG>/<SRC_REPO>/archive/\$BRANCH.tar.gz"
echo " VARIANT The variant to build."
echo " The value will be used as a suffix to the \$TAG and for the Dockerfile"
echo " selection. The TAG being build must exist for the base variant and"
echo " corresponding Dockerfile must start with the following lines:"
echo " ARG DOCKER_ORG=ninech"
echo " ARG DOCKER_REPO=netbox"
echo " ARG FROM_TAG=latest"
echo " FROM \$DOCKER_ORG/\$DOCKER_REPO:\$FROM_TAG"
echo " Example: VARIANT=ldap will result in the tag 'latest-ldap' and the"
echo " Dockerfile 'Dockerfile.ldap' being used."
echo " Default: empty"
echo " HTTP_PROXY The proxy to use for http requests."
echo " Example: http://proxy.domain.tld:3128"
echo " Default: empty"
echo " HTTPS_PROXY The proxy to use for https requests."
echo " Example: http://proxy.domain.tld:3128"
echo " Default: empty"
echo " FTP_PROXY The proxy to use for ftp requests."
echo " Example: http://proxy.domain.tld:3128"
echo " Default: empty"
echo " NO_PROXY Comma-separated list of domain extensions proxy should not be used for."
echo " Example: .domain1.tld,.domain2.tld"
echo " Default: empty"
_BOLD=$(tput bold)
_GREEN=$(tput setaf 2)
_CYAN=$(tput setaf 6)
_CLEAR=$(tput sgr0)
cat <<END_OF_HELP
${_BOLD}Usage:${_CLEAR} ${0} <branch> [--push]
branch The branch or tag to build. Required.
--push Pushes the built container image to the registry.
${_BOLD}You can use the following ENV variables to customize the build:${_CLEAR}
SRC_ORG Which fork of netbox to use (i.e. github.com/\${SRC_ORG}/\${SRC_REPO}).
${_GREEN}Default:${_CLEAR} netbox-community
SRC_REPO The name of the repository to use (i.e. github.com/\${SRC_ORG}/\${SRC_REPO}).
${_GREEN}Default:${_CLEAR} netbox
URL Where to fetch the code from.
Must be a git repository. Can be private.
${_GREEN}Default:${_CLEAR} https://github.com/\${SRC_ORG}/\${SRC_REPO}.git
NETBOX_PATH The path where netbox will be checkout out.
Must not be outside of the netbox-docker repository (because of Docker)!
${_GREEN}Default:${_CLEAR} .netbox
SKIP_GIT If defined, git is not invoked and \${NETBOX_PATH} will not be altered.
This may be useful, if you are manually managing the NETBOX_PATH.
${_GREEN}Default:${_CLEAR} undefined
TAG The version part of the image tag.
${_GREEN}Default:${_CLEAR}
When <branch>=main: snapshot
Else: same as <branch>
IMAGE_NAMES The names used for the image including the registry
Used for tagging the image.
${_GREEN}Default:${_CLEAR} docker.io/netboxcommunity/netbox
${_CYAN}Example:${_CLEAR} 'docker.io/netboxcommunity/netbox quay.io/netboxcommunity/netbox'
DOCKER_TAG The name of the tag which is applied to the image.
Useful for pushing into another registry than hub.docker.com.
${_GREEN}Default:${_CLEAR} \${DOCKER_REGISTRY}/\${DOCKER_ORG}/\${DOCKER_REPO}:\${TAG}
DOCKER_SHORT_TAG The name of the short tag which is applied to the
image. This is used to tag all patch releases to their
containing version e.g. v2.5.1 -> v2.5
${_GREEN}Default:${_CLEAR} \${DOCKER_REGISTRY}/\${DOCKER_ORG}/\${DOCKER_REPO}:<MAJOR>.<MINOR>
DOCKERFILE The name of Dockerfile to use.
${_GREEN}Default:${_CLEAR} Dockerfile
DOCKER_FROM The base image to use.
${_GREEN}Default:${_CLEAR} 'ubuntu:24.04'
BUILDX_PLATFORM
Specifies the platform(s) to build the image for.
${_CYAN}Example:${_CLEAR} 'linux/amd64,linux/arm64'
${_GREEN}Default:${_CLEAR} 'linux/amd64'
BUILDX_BUILDER_NAME
If defined, the image build will be assigned to the given builder.
If you specify this variable, make sure that the builder exists.
If this value is not defined, a new builx builder with the directory name of the
current directory (i.e. '$(basename "${PWD}")') is created."
${_CYAN}Example:${_CLEAR} 'clever_lovelace'
${_GREEN}Default:${_CLEAR} undefined
BUILDX_REMOVE_BUILDER
If defined (and only if BUILDX_BUILDER_NAME is undefined),
then the buildx builder created by this script will be removed after use.
This is useful if you build NetBox Docker on an automated system that does
not manage the builders for you.
${_CYAN}Example:${_CLEAR} 'on'
${_GREEN}Default:${_CLEAR} undefined
HTTP_PROXY The proxy to use for http requests.
${_CYAN}Example:${_CLEAR} http://proxy.domain.tld:3128
${_GREEN}Default:${_CLEAR} undefined
NO_PROXY Comma-separated list of domain extensions proxy should not be used for.
${_CYAN}Example:${_CLEAR} .domain1.tld,.domain2.tld
${_GREEN}Default:${_CLEAR} undefined
DEBUG If defined, the script does not stop when certain checks are unsatisfied.
${_GREEN}Default:${_CLEAR} undefined
DRY_RUN Prints all build statements instead of running them.
${_GREEN}Default:${_CLEAR} undefined
GH_ACTION If defined, special 'echo' statements are enabled that set the
following environment variables in Github Actions:
- FINAL_DOCKER_TAG: The final value of the DOCKER_TAG env variable
${_GREEN}Default:${_CLEAR} undefined
CHECK_ONLY Only checks if the build is needed and sets the GH Action output.
${_GREEN}Default:${_CLEAR} undefined
${_BOLD}Examples:${_CLEAR}
${0} main
This will fetch the latest 'main' branch, build a Docker Image and tag it
'netboxcommunity/netbox:snapshot'.
${0} v4.2.0
This will fetch the 'v4.2.0' tag, build a Docker Image and tag it
'netboxcommunity/netbox:v4.2.0' and 'netboxcommunity/netbox:v4.2'.
${0} feature
This will fetch the 'feature' branch, build a Docker Image and tag it
'netboxcommunity/netbox:feature'.
SRC_ORG=cimnine ${0} feature-x
This will fetch the 'feature-x' branch from https://github.com/cimnine/netbox.git,
build a Docker Image and tag it 'netboxcommunity/netbox:feature-x'.
SRC_ORG=cimnine DOCKER_ORG=cimnine ${0} feature-x
This will fetch the 'feature-x' branch from https://github.com/cimnine/netbox.git,
build a Docker Image and tag it 'cimnine/netbox:feature-x'.
END_OF_HELP
if [ "${1}x" == "x" ]; then
exit 1
@ -71,93 +135,324 @@ if [ "${1}x" == "x" ] || [ "${1}" == "--help" ] || [ "${1}" == "-h" ]; then
fi
fi
# read the project version and trim it
# see https://stackoverflow.com/a/3232433/172132
NETBOX_DOCKER_PROJECT_VERSION="${NETBOX_DOCKER_PROJECT_VERSION-$(sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//' VERSION)}"
# 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
# variables for fetching the source
SRC_ORG="${SRC_ORG-digitalocean}"
SRC_REPO="${SRC_REPO-netbox}"
BRANCH="${1}"
URL="${URL-https://github.com/${SRC_ORG}/${SRC_REPO}/archive/$BRANCH.tar.gz}"
IMAGE_NAMES="${IMAGE_NAMES-docker.io/netboxcommunity/netbox}"
IFS=' ' read -ra IMAGE_NAMES <<<"${IMAGE_NAMES}"
# variables for tagging the docker image
DOCKER_ORG="${DOCKER_ORG-ninech}"
DOCKER_REPO="${DOCKER_REPO-netbox}"
case "${BRANCH}" in
master)
TAG="${TAG-latest}";;
develop)
TAG="${TAG-snapshot}";;
*)
TAG="${TAG-$BRANCH}";;
esac
DOCKER_TAG="${DOCKER_TAG-${DOCKER_ORG}/${DOCKER_REPO}:${TAG}}"
# Checking which VARIANT to build
if [ -z "$VARIANT" ]; then
DOCKERFILE="Dockerfile"
###
# Enabling dry-run mode
###
if [ -z "${DRY_RUN}" ]; then
DRY=""
else
DOCKERFILE="Dockerfile.${VARIANT}"
DOCKER_TAG="${DOCKER_TAG}-${VARIANT}"
echo "⚠️ DRY_RUN MODE ON ⚠️"
DRY="echo"
fi
# Fail fast
if [ ! -f "${DOCKERFILE}" ]; then
echo "🚨 The Dockerfile ${DOCKERFILE} for variant '${VARIANT}' doesn't exist."
gh_echo "::group::⤵️ Fetching the NetBox source code"
if [ -z "$DEBUG" ]; then
exit 1
else
echo "⚠️ Would exit here with code '1', but DEBUG is enabled."
###
# Variables for fetching the NetBox source
###
SRC_ORG="${SRC_ORG-netbox-community}"
SRC_REPO="${SRC_REPO-netbox}"
NETBOX_BRANCH="${1}"
URL="${URL-https://github.com/${SRC_ORG}/${SRC_REPO}.git}"
NETBOX_PATH="${NETBOX_PATH-.netbox}"
###
# Fetching the NetBox source
###
if [ "${2}" != "--push-only" ] && [ -z "${SKIP_GIT}" ]; then
REMOTE_EXISTS=$(git ls-remote --heads --tags "${URL}" "${NETBOX_BRANCH}" | wc -l)
if [ "${REMOTE_EXISTS}" == "0" ]; then
echo "❌ Remote branch '${NETBOX_BRANCH}' not found in '${URL}'; Nothing to do"
gh_out "skipped=true"
exit 0
fi
echo "🌐 Checking out '${NETBOX_BRANCH}' of NetBox from the url '${URL}' into '${NETBOX_PATH}'"
if [ ! -d "${NETBOX_PATH}" ]; then
$DRY git clone -q --depth 10 -b "${NETBOX_BRANCH}" "${URL}" "${NETBOX_PATH}"
fi
(
$DRY cd "${NETBOX_PATH}"
# shellcheck disable=SC2030
if [ -n "${HTTP_PROXY}" ]; then
git config http.proxy "${HTTP_PROXY}"
fi
$DRY git remote set-url origin "${URL}"
$DRY git fetch -qp --depth 10 origin "${NETBOX_BRANCH}"
$DRY git checkout -qf FETCH_HEAD
$DRY git prune
)
echo "✅ Checked out NetBox"
fi
gh_echo "::endgroup::"
gh_echo "::group::🧮 Calculating Values"
###
# Determining the value for DOCKERFILE
# and checking whether it exists
###
DOCKERFILE="${DOCKERFILE-Dockerfile}"
if [ ! -f "${DOCKERFILE}" ]; then
echo "🚨 The Dockerfile ${DOCKERFILE} doesn't exist."
if [ -z "${DEBUG}" ]; then
exit 1
else
echo "⚠️ Would exit here with code '1', but DEBUG is enabled."
fi
fi
DOCKER_OPTS=("${DOCKER_OPTS[@]}")
###
# Determining the value for DOCKER_FROM
###
if [ -z "$DOCKER_FROM" ]; then
DOCKER_FROM="docker.io/ubuntu:24.04"
fi
# caching is only ok for version tags
case "${TAG}" in
v*) ;;
*) DOCKER_OPTS+=( "--no-cache" ) ;;
###
# Variables for labelling the docker image
###
BUILD_DATE="$(date -u '+%Y-%m-%dT%H:%M:%S+00:00')"
if [ -d ".git" ] && [ -z "${SKIP_GIT}" ]; then
GIT_REF="$(git rev-parse HEAD)"
fi
# Read the project version from the `VERSION` file and trim it, see https://stackoverflow.com/a/3232433/172132
PROJECT_VERSION="${PROJECT_VERSION-$(sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//' VERSION)}"
# Get the Git information from the netbox directory
if [ -d "${NETBOX_PATH}/.git" ] && [ -z "${SKIP_GIT}" ]; then
NETBOX_GIT_REF=$(
cd "${NETBOX_PATH}"
git rev-parse HEAD
)
NETBOX_GIT_BRANCH=$(
cd "${NETBOX_PATH}"
git rev-parse --abbrev-ref HEAD
)
NETBOX_GIT_URL=$(
cd "${NETBOX_PATH}"
git remote get-url origin
)
fi
###
# Variables for tagging the docker image
###
DOCKER_REGISTRY="${DOCKER_REGISTRY-docker.io}"
DOCKER_ORG="${DOCKER_ORG-netboxcommunity}"
DOCKER_REPO="${DOCKER_REPO-netbox}"
case "${NETBOX_BRANCH}" in
main)
TAG="${TAG-snapshot}"
;;
*)
TAG="${TAG-$NETBOX_BRANCH}"
;;
esac
DOCKER_OPTS+=( "--pull" )
###
# composing the final TARGET_DOCKER_TAG
###
TARGET_DOCKER_TAG="${DOCKER_TAG-${TAG}}"
TARGET_DOCKER_TAG_PROJECT="${TARGET_DOCKER_TAG}-${PROJECT_VERSION}"
# Build args
DOCKER_BUILD_ARGS=(
--build-arg "NETBOX_DOCKER_PROJECT_VERSION=${NETBOX_DOCKER_PROJECT_VERSION}"
--build-arg "FROM_TAG=${TAG}"
--build-arg "BRANCH=${BRANCH}"
--build-arg "URL=${URL}"
--build-arg "DOCKER_ORG=${DOCKER_ORG}"
--build-arg "DOCKER_REPO=${DOCKER_REPO}"
)
if [ -n "$HTTP_PROXY" ]; then
DOCKER_BUILD_ARGS+=( --build-arg "http_proxy=${HTTP_PROXY}" )
fi
if [ -n "$HTTPS_PROXY" ]; then
DOCKER_BUILD_ARGS+=( --build-arg "https_proxy=${HTTPS_PROXY}" )
fi
if [ -n "$FTP_PROXY" ]; then
DOCKER_BUILD_ARGS+=( --build-arg "ftp_proxy=${FTP_PROXY}" )
fi
if [ -n "$NO_PROXY" ]; then
DOCKER_BUILD_ARGS+=( --build-arg "no_proxy=${NO_PROXY}" )
###
# composing the additional DOCKER_SHORT_TAG,
# i.e. "v4.2.0" becomes "v4.2",
# which is only relevant for version tags
# Also let "latest" follow the highest version
###
if [[ "${TAG}" =~ ^v([0-9]+)\.([0-9]+)\.[0-9]+$ ]]; then
MAJOR=${BASH_REMATCH[1]}
MINOR=${BASH_REMATCH[2]}
TARGET_DOCKER_SHORT_TAG="${DOCKER_SHORT_TAG-v${MAJOR}.${MINOR}}"
TARGET_DOCKER_LATEST_TAG="latest"
TARGET_DOCKER_SHORT_TAG_PROJECT="${TARGET_DOCKER_SHORT_TAG}-${PROJECT_VERSION}"
TARGET_DOCKER_LATEST_TAG_PROJECT="${TARGET_DOCKER_LATEST_TAG}-${PROJECT_VERSION}"
fi
if [ -z "$DRY_RUN" ]; then
DOCKER_CMD="docker"
IMAGE_NAME_TAGS=()
for IMAGE_NAME in "${IMAGE_NAMES[@]}"; do
IMAGE_NAME_TAGS+=("${IMAGE_NAME}:${TARGET_DOCKER_TAG}")
IMAGE_NAME_TAGS+=("${IMAGE_NAME}:${TARGET_DOCKER_TAG_PROJECT}")
done
if [ -n "${TARGET_DOCKER_SHORT_TAG}" ]; then
for IMAGE_NAME in "${IMAGE_NAMES[@]}"; do
IMAGE_NAME_TAGS+=("${IMAGE_NAME}:${TARGET_DOCKER_SHORT_TAG}")
IMAGE_NAME_TAGS+=("${IMAGE_NAME}:${TARGET_DOCKER_SHORT_TAG_PROJECT}")
IMAGE_NAME_TAGS+=("${IMAGE_NAME}:${TARGET_DOCKER_LATEST_TAG}")
IMAGE_NAME_TAGS+=("${IMAGE_NAME}:${TARGET_DOCKER_LATEST_TAG_PROJECT}")
done
fi
FINAL_DOCKER_TAG="${IMAGE_NAME_TAGS[0]}"
gh_env "FINAL_DOCKER_TAG=${IMAGE_NAME_TAGS[0]}"
###
# Checking if the build is necessary,
# meaning build only if one of those values changed:
# - a new tag is beeing created
# - base image digest
# - netbox git ref (Label: netbox.git-ref)
# - netbox-docker git ref (Label: org.opencontainers.image.revision)
###
# Load information from registry (only for first registry in "IMAGE_NAMES")
SHOULD_BUILD="false"
BUILD_REASON=""
if [ -z "${GH_ACTION}" ]; then
# Asuming non Github builds should always proceed
SHOULD_BUILD="true"
BUILD_REASON="${BUILD_REASON} interactive"
elif [ "false" == "$(check_if_tags_exists "${IMAGE_NAMES[0]}" "$TARGET_DOCKER_TAG")" ]; then
SHOULD_BUILD="true"
BUILD_REASON="${BUILD_REASON} newtag"
else
echo "⚠️ DRY_RUN MODE ON ⚠️"
DOCKER_CMD="echo docker"
echo "Checking labels for '${FINAL_DOCKER_TAG}'"
BASE_LAST_LAYER=$(get_image_last_layer "${DOCKER_FROM}")
OLD_BASE_LAST_LAYER=$(get_image_label netbox.last-base-image-layer "${FINAL_DOCKER_TAG}")
NETBOX_GIT_REF_OLD=$(get_image_label netbox.git-ref "${FINAL_DOCKER_TAG}")
GIT_REF_OLD=$(get_image_label org.opencontainers.image.revision "${FINAL_DOCKER_TAG}")
if [ "${BASE_LAST_LAYER}" != "${OLD_BASE_LAST_LAYER}" ]; then
SHOULD_BUILD="true"
BUILD_REASON="${BUILD_REASON} ubuntu"
fi
if [ "${NETBOX_GIT_REF}" != "${NETBOX_GIT_REF_OLD}" ]; then
SHOULD_BUILD="true"
BUILD_REASON="${BUILD_REASON} netbox"
fi
if [ "${GIT_REF}" != "${GIT_REF_OLD}" ]; then
SHOULD_BUILD="true"
BUILD_REASON="${BUILD_REASON} netbox-docker"
fi
fi
echo "🐳 Building the Docker image '${DOCKER_TAG}' from the url '${URL}'."
$DOCKER_CMD build -t "${DOCKER_TAG}" "${DOCKER_BUILD_ARGS[@]}" "${DOCKER_OPTS[@]}" -f "${DOCKERFILE}" .
echo "✅ Finished building the Docker images '${DOCKER_TAG}'"
if [ "${2}" == "--push" ] ; then
echo "⏫ Pushing '${DOCKER_TAG}"
$DOCKER_CMD push "${DOCKER_TAG}"
echo "✅ Finished pushing the Docker image '${DOCKER_TAG}'."
if [ "${SHOULD_BUILD}" != "true" ]; then
echo "Build skipped because sources didn't change"
gh_out "skipped=true"
exit 0 # Nothing to do -> exit
else
gh_out "skipped=false"
fi
gh_echo "::endgroup::"
if [ "${CHECK_ONLY}" = "true" ]; then
echo "Only check if build needed was requested. Exiting"
exit 0
fi
###
# Build the image
###
gh_echo "::group::🏗 Building the image"
###
# Composing all arguments for `docker build`
###
DOCKER_BUILD_ARGS=(
--pull
--target main
-f "${DOCKERFILE}"
)
for IMAGE_NAME in "${IMAGE_NAME_TAGS[@]}"; do
DOCKER_BUILD_ARGS+=(-t "${IMAGE_NAME}")
done
# --label
DOCKER_BUILD_ARGS+=(
--label "netbox.original-tag=${TARGET_DOCKER_TAG_PROJECT}"
--label "org.opencontainers.image.created=${BUILD_DATE}"
--label "org.opencontainers.image.version=${PROJECT_VERSION}"
)
if [ -d ".git" ] && [ -z "${SKIP_GIT}" ]; then
DOCKER_BUILD_ARGS+=(
--label "org.opencontainers.image.revision=${GIT_REF}"
)
fi
if [ -d "${NETBOX_PATH}/.git" ] && [ -z "${SKIP_GIT}" ]; then
DOCKER_BUILD_ARGS+=(
--label "netbox.git-branch=${NETBOX_GIT_BRANCH}"
--label "netbox.git-ref=${NETBOX_GIT_REF}"
--label "netbox.git-url=${NETBOX_GIT_URL}"
)
fi
if [ -n "${BUILD_REASON}" ]; then
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.last-base-image-layer=${BASE_LAST_LAYER}")
fi
# --build-arg
DOCKER_BUILD_ARGS+=(--build-arg "NETBOX_PATH=${NETBOX_PATH}")
if [ -n "${DOCKER_FROM}" ]; then
DOCKER_BUILD_ARGS+=(--build-arg "FROM=${DOCKER_FROM}")
fi
# shellcheck disable=SC2031
if [ -n "${HTTP_PROXY}" ]; then
DOCKER_BUILD_ARGS+=(--build-arg "http_proxy=${HTTP_PROXY}")
DOCKER_BUILD_ARGS+=(--build-arg "https_proxy=${HTTPS_PROXY}")
fi
if [ -n "${NO_PROXY}" ]; then
DOCKER_BUILD_ARGS+=(--build-arg "no_proxy=${NO_PROXY}")
fi
DOCKER_BUILD_ARGS+=(--platform "${BUILDX_PLATFORM-linux/amd64}")
if [ "${2}" == "--push" ]; then
# output type=docker does not work with pushing
DOCKER_BUILD_ARGS+=(
--output=type=image
--push
)
else
DOCKER_BUILD_ARGS+=(
--output=type=docker
)
fi
###
# Building the docker image
###
if [ -z "${BUILDX_BUILDER_NAME}" ]; then
BUILDX_BUILDER_NAME="$(basename "${PWD}")"
fi
if ! docker buildx ls | grep --quiet --word-regexp "${BUILDX_BUILDER_NAME}"; then
echo "👷 Creating new Buildx Builder '${BUILDX_BUILDER_NAME}'"
$DRY docker buildx create --name "${BUILDX_BUILDER_NAME}"
BUILDX_BUILDER_CREATED="yes"
fi
echo "🐳 Building the Docker image '${TARGET_DOCKER_TAG_PROJECT}'."
echo " Build reason set to: ${BUILD_REASON}"
$DRY docker buildx \
--builder "${BUILDX_BUILDER_NAME}" \
build \
"${DOCKER_BUILD_ARGS[@]}" \
.
echo "✅ Finished building the Docker images"
gh_echo "::endgroup::" # End group for Build
gh_echo "::group::🏗 Image Labels"
echo "🔎 Inspecting labels on '${IMAGE_NAME_TAGS[0]}'"
$DRY docker inspect "${IMAGE_NAME_TAGS[0]}" --format "{{json .Config.Labels}}" | jq
gh_echo "::endgroup::"
gh_echo "::group::🏗 Clean up"
if [ -n "${BUILDX_REMOVE_BUILDER}" ] && [ "${BUILDX_BUILDER_CREATED}" == "yes" ]; then
echo "👷 Removing Buildx Builder '${BUILDX_BUILDER_NAME}'"
$DRY docker buildx rm "${BUILDX_BUILDER_NAME}"
fi
gh_echo "::endgroup::"

View file

@ -1,20 +1,51 @@
import os
import socket
####
## We recommend to not edit this file.
## Create separate files to overwrite the settings.
## See `extra.py` as an example.
####
# For reference see http://netbox.readthedocs.io/en/latest/configuration/mandatory-settings/
# Based on https://github.com/digitalocean/netbox/blob/develop/netbox/netbox/configuration.example.py
import re
from os import environ
from os.path import abspath, dirname, join
from typing import Any, Callable, Tuple
# For reference see https://docs.netbox.dev/en/stable/configuration/
# Based on https://github.com/netbox-community/netbox/blob/develop/netbox/netbox/configuration_example.py
###
# NetBox-Docker Helper functions
###
# Read secret from file
def read_secret(secret_name):
def _read_secret(secret_name: str, default: str | None = None) -> str | None:
try:
f = open('/run/secrets/' + secret_name, 'r', encoding='utf-8')
except EnvironmentError:
return ''
return default
else:
with f:
return f.readline().strip()
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# If the `map_fn` isn't defined, then the value that is read from the environment (or the default value if not found) is returned.
# If the `map_fn` is defined, then `map_fn` is invoked and the value (that was read from the environment or the default value if not found)
# is passed to it as a parameter. The value returned from `map_fn` is then the return value of this function.
# The `map_fn` is not invoked, if the value (that was read from the environment or the default value if not found) is None.
def _environ_get_and_map(variable_name: str, default: str | None = None, map_fn: Callable[[str], Any | None] = None) -> Any | None:
env_value = environ.get(variable_name, default)
if env_value == None:
return env_value
if not map_fn:
return env_value
return map_fn(env_value)
_AS_BOOL = lambda value : value.lower() == 'true'
_AS_INT = lambda value : int(value)
_AS_LIST = lambda value : list(filter(None, value.split(' ')))
_BASE_DIR = dirname(dirname(abspath(__file__)))
#########################
# #
@ -26,23 +57,70 @@ BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# access to the server via any other hostnames. The first FQDN in the list will be treated as the preferred name.
#
# Example: ALLOWED_HOSTS = ['netbox.example.com', 'netbox.internal.local']
ALLOWED_HOSTS = os.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.
DATABASE = {
'NAME': os.environ.get('DB_NAME', 'netbox'), # Database name
'USER': os.environ.get('DB_USER', ''), # PostgreSQL username
'PASSWORD': os.environ.get('DB_PASSWORD', read_secret('db_password')),
# PostgreSQL password
'HOST': os.environ.get('DB_HOST', 'localhost'), # Database server
'PORT': os.environ.get('DB_PORT', ''), # Database port (leave blank for default)
# PostgreSQL database configuration. See the Django documentation for a complete list of available parameters:
# https://docs.djangoproject.com/en/stable/ref/settings/#databases
DATABASES = {
'default': {
'NAME': environ.get('DB_NAME', 'netbox'), # Database name
'USER': environ.get('DB_USER', ''), # PostgreSQL username
'PASSWORD': _read_secret('db_password', environ.get('DB_PASSWORD', '')),
# PostgreSQL password
'HOST': environ.get('DB_HOST', 'localhost'), # Database server
'PORT': environ.get('DB_PORT', ''), # Database port (leave blank for default)
'OPTIONS': {'sslmode': environ.get('DB_SSLMODE', 'prefer')},
# Database connection SSLMODE
'CONN_MAX_AGE': _environ_get_and_map('DB_CONN_MAX_AGE', '300', _AS_INT),
# Max database connection age
'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
# configuration exists for each. Full connection details are required in both sections, and it is strongly recommended
# to use two separate database IDs.
REDIS = {
'tasks': {
'HOST': environ.get('REDIS_HOST', 'localhost'),
'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', '')),
'DATABASE': _environ_get_and_map('REDIS_DATABASE', 0, _AS_INT),
'SSL': _environ_get_and_map('REDIS_SSL', 'False', _AS_BOOL),
'INSECURE_SKIP_TLS_VERIFY': _environ_get_and_map('REDIS_INSECURE_SKIP_TLS_VERIFY', 'False', _AS_BOOL),
},
'caching': {
'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),
'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', ''))),
'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),
'INSECURE_SKIP_TLS_VERIFY': _environ_get_and_map('REDIS_CACHE_INSECURE_SKIP_TLS_VERIFY', environ.get('REDIS_INSECURE_SKIP_TLS_VERIFY', 'False'), _AS_BOOL),
},
}
# This key is used for secure generation of random numbers and strings. It must never be exposed outside of this file.
# For optimal security, SECRET_KEY should be at least 50 characters in length and contain a mix of letters, numbers, and
# symbols. NetBox will not run without this defined. For more information, see
# https://docs.djangoproject.com/en/dev/ref/settings/#std:setting-SECRET_KEY
SECRET_KEY = os.environ.get('SECRET_KEY', read_secret('secret_key'))
# https://docs.djangoproject.com/en/stable/ref/settings/#std:setting-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})
#########################
# #
@ -50,120 +128,232 @@ SECRET_KEY = os.environ.get('SECRET_KEY', read_secret('secret_key'))
# #
#########################
# Specify one or more name and email address tuples representing NetBox administrators. These people will be notified of
# application errors (assuming correct email settings are provided).
ADMINS = [
# ['John Doe', 'jdoe@example.com'],
]
# # Specify one or more name and email address tuples representing NetBox administrators. These people will be notified of
# # application errors (assuming correct email settings are provided).
# ADMINS = [
# # ['John Doe', 'jdoe@example.com'],
# ]
if 'ALLOWED_URL_SCHEMES' in environ:
ALLOWED_URL_SCHEMES = _environ_get_and_map('ALLOWED_URL_SCHEMES', None, _AS_LIST)
# Optionally display a persistent banner at the top and/or bottom of every page. HTML is allowed. To display the same
# content in both banners, define BANNER_TOP and set BANNER_BOTTOM = BANNER_TOP.
BANNER_TOP = os.environ.get('BANNER_TOP', '')
BANNER_BOTTOM = os.environ.get('BANNER_BOTTOM', '')
if 'BANNER_TOP' in environ:
BANNER_TOP = environ.get('BANNER_TOP', None)
if 'BANNER_BOTTOM' in environ:
BANNER_BOTTOM = environ.get('BANNER_BOTTOM', None)
# Text to include on the login page above the login form. HTML is allowed.
BANNER_LOGIN = os.environ.get('BANNER_LOGIN', '')
if 'BANNER_LOGIN' in environ:
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 = os.environ.get('BASE_PATH', '')
# Maximum number of days to retain logged changes. Set to 0 to retain changes indefinitely. (Default: 90)
if 'CHANGELOG_RETENTION' in environ:
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)
if 'JOB_RETENTION' in environ:
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
# allowed. Otherwise, define a list of allowed origins using either CORS_ORIGIN_WHITELIST or
# CORS_ORIGIN_REGEX_WHITELIST. For more information, see https://github.com/ottoyiu/django-cors-headers
CORS_ORIGIN_ALLOW_ALL = os.environ.get('CORS_ORIGIN_ALLOW_ALL', 'False').lower() == 'true'
CORS_ORIGIN_WHITELIST = os.environ.get('CORS_ORIGIN_WHITELIST', '').split(' ')
CORS_ORIGIN_REGEX_WHITELIST = [
# r'^(https?://)?(\w+\.)?example\.com$',
]
CORS_ORIGIN_ALLOW_ALL = _environ_get_and_map('CORS_ORIGIN_ALLOW_ALL', 'False', _AS_BOOL)
CORS_ORIGIN_WHITELIST = _environ_get_and_map('CORS_ORIGIN_WHITELIST', 'https://localhost', _AS_LIST)
CORS_ORIGIN_REGEX_WHITELIST = [re.compile(r) for r in _environ_get_and_map('CORS_ORIGIN_REGEX_WHITELIST', '', _AS_LIST)]
# Set to True to enable server debugging. WARNING: Debugging introduces a substantial performance penalty and may reveal
# sensitive information about your installation. Only enable debugging while performing testing. Never enable debugging
# on a production system.
DEBUG = os.environ.get('DEBUG', 'False').lower() == 'true'
# sensitive information about your installation. Only enable debugging while performing testing.
# Never enable debugging on a production system.
DEBUG = _environ_get_and_map('DEBUG', 'False', _AS_BOOL)
# This parameter serves as a safeguard to prevent some potentially dangerous behavior,
# such as generating new database schema migrations.
# Set this to True only if you are actively developing the NetBox code base.
DEVELOPER = _environ_get_and_map('DEVELOPER', 'False', _AS_BOOL)
# Email settings
EMAIL = {
'SERVER': os.environ.get('EMAIL_SERVER', 'localhost'),
'PORT': int(os.environ.get('EMAIL_PORT', 25)),
'USERNAME': os.environ.get('EMAIL_USERNAME', ''),
'PASSWORD': os.environ.get('EMAIL_PASSWORD', read_secret('email_password')),
'TIMEOUT': int(os.environ.get('EMAIL_TIMEOUT', 10)), # seconds
'FROM_EMAIL': os.environ.get('EMAIL_FROM', ''),
'SERVER': environ.get('EMAIL_SERVER', 'localhost'),
'PORT': _environ_get_and_map('EMAIL_PORT', 25, _AS_INT),
'USERNAME': environ.get('EMAIL_USERNAME', ''),
'PASSWORD': _read_secret('email_password', environ.get('EMAIL_PASSWORD', '')),
'USE_SSL': _environ_get_and_map('EMAIL_USE_SSL', 'False', _AS_BOOL),
'USE_TLS': _environ_get_and_map('EMAIL_USE_TLS', 'False', _AS_BOOL),
'SSL_CERTFILE': environ.get('EMAIL_SSL_CERTFILE', ''),
'SSL_KEYFILE': environ.get('EMAIL_SSL_KEYFILE', ''),
'TIMEOUT': _environ_get_and_map('EMAIL_TIMEOUT', 10, _AS_INT), # seconds
'FROM_EMAIL': environ.get('EMAIL_FROM', ''),
}
# Enforcement of unique IP space can be toggled on a per-VRF basis.
# To enforce unique IP space within the global table (all prefixes and IP addresses not assigned to a VRF),
# set ENFORCE_GLOBAL_UNIQUE to True.
ENFORCE_GLOBAL_UNIQUE = os.environ.get('ENFORCE_GLOBAL_UNIQUE', 'False').lower() == 'true'
# Enforcement of unique IP space can be toggled on a per-VRF basis. To enforce unique IP space within the global table
# (all prefixes and IP addresses not assigned to a VRF), set ENFORCE_GLOBAL_UNIQUE to True.
if 'ENFORCE_GLOBAL_UNIQUE' in environ:
ENFORCE_GLOBAL_UNIQUE = _environ_get_and_map('ENFORCE_GLOBAL_UNIQUE', None, _AS_BOOL)
# Enable custom logging. Please see the Django documentation for detailed guidance on configuring custom logs:
# https://docs.djangoproject.com/en/1.11/topics/logging/
LOGGING = {}
# 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)
# Setting this to True will permit only authenticated users to access any part of NetBox. By default, anonymous users
# are permitted to access most data in NetBox (excluding secrets) but not make any changes.
LOGIN_REQUIRED = os.environ.get('LOGIN_REQUIRED', 'False').lower() == 'true'
# 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.
EXEMPT_VIEW_PERMISSIONS = _environ_get_and_map('EXEMPT_VIEW_PERMISSIONS', '', _AS_LIST)
# Base URL path if accessing NetBox within a directory. For example, if installed at http://example.com/netbox/, set:
# BASE_PATH = 'netbox/'
BASE_PATH = os.environ.get('BASE_PATH', '')
# HTTP proxies NetBox should use when sending outbound HTTP requests (e.g. for webhooks).
HTTP_PROXIES = {
'http': environ.get('HTTP_PROXY', None),
'https': environ.get('HTTPS_PROXY', None),
}
# IP addresses recognized as internal to the system. The debugging toolbar will be available only to clients accessing
# NetBox from an internal IP.
INTERNAL_IPS = _environ_get_and_map('INTERNAL_IPS', '127.0.0.1 ::1', _AS_LIST)
# Enable GraphQL API.
if 'GRAPHQL_ENABLED' in environ:
GRAPHQL_ENABLED = _environ_get_and_map('GRAPHQL_ENABLED', None, _AS_BOOL)
# # Enable custom logging. Please see the Django documentation for detailed guidance on configuring custom logs:
# # https://docs.djangoproject.com/en/stable/topics/logging/
# LOGGING = {}
# Automatically reset the lifetime of a valid session upon each authenticated request. Enables users to remain
# authenticated to NetBox indefinitely.
LOGIN_PERSISTENCE = _environ_get_and_map('LOGIN_PERSISTENCE', 'False', _AS_BOOL)
# When enabled, only authenticated users are permitted to access any part of NetBox.
# 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', 'True', _AS_BOOL)
# 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])
LOGIN_TIMEOUT = _environ_get_and_map('LOGIN_TIMEOUT', 1209600, _AS_INT)
# Setting this to True will display a "maintenance mode" banner at the top of every page.
MAINTENANCE_MODE = os.environ.get('MAINTENANCE_MODE', 'False').lower() == 'true'
if 'MAINTENANCE_MODE' in environ:
MAINTENANCE_MODE = _environ_get_and_map('MAINTENANCE_MODE', None, _AS_BOOL)
# Maps provider
if 'MAPS_URL' in environ:
MAPS_URL = environ.get('MAPS_URL', None)
# An API consumer can request an arbitrary number of objects =by appending the "limit" parameter to the URL (e.g.
# "?limit=1000"). This setting defines the maximum limit. Setting it to 0 or None will allow an API consumer to request
# all objects by specifying "?limit=0".
MAX_PAGE_SIZE = int(os.environ.get('MAX_PAGE_SIZE', 1000))
if 'MAX_PAGE_SIZE' in environ:
MAX_PAGE_SIZE = _environ_get_and_map('MAX_PAGE_SIZE', None, _AS_INT)
# The file path where uploaded media such as image attachments are stored. A trailing slash is not needed. Note that
# the default value of this setting is derived from the installed location.
MEDIA_ROOT = os.environ.get('MEDIA_ROOT', os.path.join(BASE_DIR, 'media'))
MEDIA_ROOT = environ.get('MEDIA_ROOT', join(_BASE_DIR, 'media'))
# Credentials that NetBox will use to access live devices.
NAPALM_USERNAME = os.environ.get('NAPALM_USERNAME', '')
NAPALM_PASSWORD = os.environ.get('NAPALM_PASSWORD', read_secret('napalm_password'))
# NAPALM timeout (in seconds). (Default: 30)
NAPALM_TIMEOUT = int(os.environ.get('NAPALM_TIMEOUT', 30))
# NAPALM optional arguments (see http://napalm.readthedocs.io/en/latest/support/#optional-arguments). Arguments must
# be provided as a dictionary.
NAPALM_ARGS = {}
# Expose Prometheus monitoring metrics at the HTTP endpoint '/metrics'
METRICS_ENABLED = _environ_get_and_map('METRICS_ENABLED', 'False', _AS_BOOL)
# Determine how many objects to display per page within a list. (Default: 50)
PAGINATE_COUNT = int(os.environ.get('PAGINATE_COUNT', 50))
if 'PAGINATE_COUNT' in environ:
PAGINATE_COUNT = _environ_get_and_map('PAGINATE_COUNT', None, _AS_INT)
# # Enable installed plugins. Add the name of each plugin to the list.
# PLUGINS = []
# # Plugins configuration settings. These settings are used by various plugins that the user may have installed.
# # Each key in the dictionary is the name of an installed plugin and its value is a dictionary of settings.
# PLUGINS_CONFIG = {
# }
# When determining the primary IP address for a device, IPv6 is preferred over IPv4 by default. Set this to True to
# prefer IPv4 instead.
PREFER_IPV4 = os.environ.get('PREFER_IPV4', 'False').lower() == 'true'
if 'PREFER_IPV4' in environ:
PREFER_IPV4 = _environ_get_and_map('PREFER_IPV4', None, _AS_BOOL)
# The Webhook event backend is disabled by default. Set this to True to enable it. Note that this requires a Redis
# database be configured and accessible by NetBox (see `REDIS` below).
WEBHOOKS_ENABLED = os.environ.get('WEBHOOKS_ENABLED', 'False').lower() == 'true'
# The default value for the amperage field when creating new power feeds.
if 'POWERFEED_DEFAULT_AMPERAGE' in environ:
POWERFEED_DEFAULT_AMPERAGE = _environ_get_and_map('POWERFEED_DEFAULT_AMPERAGE', None, _AS_INT)
# Redis database settings (optional). A Redis database is required only if the webhooks backend is enabled.
REDIS = {
'HOST': os.environ.get('REDIS_HOST', 'localhost'),
'PORT': os.environ.get('REDIS_PORT', 6379),
'PASSWORD': os.environ.get('REDIS_PASSWORD', read_secret('redis_password')),
'DATABASE': os.environ.get('REDIS_DATABASE', '0'),
'DEFAULT_TIMEOUT': os.environ.get('REDIS_TIMEOUT', '300'),
}
# The default value (percentage) for the max_utilization field when creating new power feeds.
if 'POWERFEED_DEFAULT_MAX_UTILIZATION' in environ:
POWERFEED_DEFAULT_MAX_UTILIZATION = _environ_get_and_map('POWERFEED_DEFAULT_MAX_UTILIZATION', None, _AS_INT)
# 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 = os.environ.get('REPORTS_ROOT', '/etc/netbox/reports')
# The default value for the voltage field when creating new power feeds.
if 'POWERFEED_DEFAULT_VOLTAGE' in environ:
POWERFEED_DEFAULT_VOLTAGE = _environ_get_and_map('POWERFEED_DEFAULT_VOLTAGE', None, _AS_INT)
# Rack elevation size defaults, in pixels. For best results, the ratio of width to height should be roughly 10:1.
if 'RACK_ELEVATION_DEFAULT_UNIT_HEIGHT' in environ:
RACK_ELEVATION_DEFAULT_UNIT_HEIGHT = _environ_get_and_map('RACK_ELEVATION_DEFAULT_UNIT_HEIGHT', None, _AS_INT)
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)
# Remote authentication support
REMOTE_AUTH_AUTO_CREATE_GROUPS = _environ_get_and_map('REMOTE_AUTH_AUTO_CREATE_GROUPS', 'False', _AS_BOOL)
REMOTE_AUTH_AUTO_CREATE_USER = _environ_get_and_map('REMOTE_AUTH_AUTO_CREATE_USER', 'False', _AS_BOOL)
REMOTE_AUTH_BACKEND = _environ_get_and_map('REMOTE_AUTH_BACKEND', 'netbox.authentication.RemoteUserBackend', _AS_LIST)
REMOTE_AUTH_DEFAULT_GROUPS = _environ_get_and_map('REMOTE_AUTH_DEFAULT_GROUPS', '', _AS_LIST)
# 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
# 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 = 'https://api.github.com/repos/netbox-community/netbox/releases'
# Maximum execution time for background tasks, in seconds.
RQ_DEFAULT_TIMEOUT = _environ_get_and_map('RQ_DEFAULT_TIMEOUT', 300, _AS_INT)
# The name to use for the csrf token cookie.
CSRF_COOKIE_NAME = environ.get('CSRF_COOKIE_NAME', 'csrftoken')
# Cross-Site-Request-Forgery-Attack settings. If Netbox is sitting behind a reverse proxy, you might need to set the CSRF_TRUSTED_ORIGINS flag.
# Django 4.0 requires to specify the URL Scheme in this setting. An example environment variable could be specified like:
# CSRF_TRUSTED_ORIGINS=https://demo.netbox.dev http://demo.netbox.dev
CSRF_TRUSTED_ORIGINS = _environ_get_and_map('CSRF_TRUSTED_ORIGINS', '', _AS_LIST)
# The name to use for the session cookie.
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
# 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.
SESSION_FILE_PATH = environ.get('SESSION_FILE_PATH', environ.get('SESSIONS_ROOT', None))
# Time zone (default: UTC)
TIME_ZONE = os.environ.get('TIME_ZONE', 'UTC')
TIME_ZONE = environ.get('TIME_ZONE', 'UTC')
# Date/time formatting. See the following link for supported formats:
# https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date
DATE_FORMAT = os.environ.get('DATE_FORMAT', 'N j, Y')
SHORT_DATE_FORMAT = os.environ.get('SHORT_DATE_FORMAT', 'Y-m-d')
TIME_FORMAT = os.environ.get('TIME_FORMAT', 'g:i a')
SHORT_TIME_FORMAT = os.environ.get('SHORT_TIME_FORMAT', 'H:i:s')
DATETIME_FORMAT = os.environ.get('DATETIME_FORMAT', 'N j, Y g:i a')
SHORT_DATETIME_FORMAT = os.environ.get('SHORT_DATETIME_FORMAT', 'Y-m-d H:i')
# If true disables miscellaneous functionality which depends on access to the Internet.
ISOLATED_DEPLOYMENT = _environ_get_and_map('ISOLATED_DEPLOYMENT', 'False', _AS_BOOL)

49
configuration/extra.py Normal file
View file

@ -0,0 +1,49 @@
####
## This file contains extra configuration options that can't be configured
## directly through environment variables.
####
## Specify one or more name and email address tuples representing NetBox administrators. These people will be notified of
## application errors (assuming correct email settings are provided).
# ADMINS = [
# # ['John Doe', 'jdoe@example.com'],
# ]
## URL schemes that are allowed within links in NetBox
# ALLOWED_URL_SCHEMES = (
# 'file', 'ftp', 'ftps', 'http', 'https', 'irc', 'mailto', 'sftp', 'ssh', 'tel', 'telnet', 'tftp', 'vnc', 'xmpp',
# )
## Enable installed plugins. Add the name of each plugin to the list.
# from netbox.configuration.configuration import PLUGINS
# PLUGINS.append('my_plugin')
## Plugins configuration settings. These settings are used by various plugins that the user may have installed.
## Each key in the dictionary is the name of an installed plugin and its value is a dictionary of settings.
# from netbox.configuration.configuration import PLUGINS_CONFIG
# PLUGINS_CONFIG['my_plugin'] = {
# 'foo': 'bar',
# 'buzz': 'bazz'
# }
## Remote authentication support
# REMOTE_AUTH_DEFAULT_PERMISSIONS = {}
## By default uploaded media is stored on the local filesystem. Using Django-storages is also supported. Provide the
## class path of the storage driver in STORAGE_BACKEND and any configuration options in STORAGE_CONFIG. For example:
# STORAGE_BACKEND = 'storages.backends.s3boto3.S3Boto3Storage'
# STORAGE_CONFIG = {
# 'AWS_ACCESS_KEY_ID': 'Key ID',
# 'AWS_SECRET_ACCESS_KEY': 'Secret',
# 'AWS_STORAGE_BUCKET_NAME': 'netbox',
# 'AWS_S3_REGION_NAME': 'eu-west-1',
# }
## This file can contain arbitrary Python code, e.g.:
# from datetime import datetime
# now = datetime.now().strftime("%d/%m/%Y %H:%M:%S")
# BANNER_TOP = f'<marquee width="200px">This instance started on {now}.</marquee>'

View file

@ -1,8 +0,0 @@
command = '/usr/bin/gunicorn'
pythonpath = '/opt/netbox/netbox'
bind = '0.0.0.0:8001'
workers = 3
errorlog = '-'
accesslog = '-'
capture_output = False
loglevel = 'debug'

View file

@ -0,0 +1,28 @@
####
## This file contains extra configuration options that can't be configured
## directly through environment variables.
## All vairables set here overwrite any existing found in ldap_config.py
####
# # This Python script inherits all the imports from ldap_config.py
# from django_auth_ldap.config import LDAPGroupQuery # Imported since not in ldap_config.py
# # Sets a base requirement of membetship to netbox-user-ro, netbox-user-rw, or netbox-user-admin.
# AUTH_LDAP_REQUIRE_GROUP = (
# LDAPGroupQuery("cn=netbox-user-ro,ou=groups,dc=example,dc=com")
# | LDAPGroupQuery("cn=netbox-user-rw,ou=groups,dc=example,dc=com")
# | LDAPGroupQuery("cn=netbox-user-admin,ou=groups,dc=example,dc=com")
# )
# # Sets LDAP Flag groups variables with example.
# AUTH_LDAP_USER_FLAGS_BY_GROUP = {
# "is_staff": (
# LDAPGroupQuery("cn=netbox-user-ro,ou=groups,dc=example,dc=com")
# | LDAPGroupQuery("cn=netbox-user-rw,ou=groups,dc=example,dc=com")
# | LDAPGroupQuery("cn=netbox-user-admin,ou=groups,dc=example,dc=com")
# ),
# "is_superuser": "cn=netbox-user-admin,ou=groups,dc=example,dc=com",
# }
# # Sets LDAP Mirror groups variables with example groups
# AUTH_LDAP_MIRROR_GROUPS = ["netbox-user-ro", "netbox-user-rw", "netbox-user-admin"]

View file

@ -0,0 +1,114 @@
from importlib import import_module
from os import environ
import ldap
from django_auth_ldap.config import LDAPSearch
# Read secret from file
def _read_secret(secret_name, default=None):
try:
f = open('/run/secrets/' + secret_name, 'r', encoding='utf-8')
except EnvironmentError:
return default
else:
with f:
return f.readline().strip()
# Import and return the group type based on string name
def _import_group_type(group_type_name):
mod = import_module('django_auth_ldap.config')
try:
return getattr(mod, group_type_name)()
except:
return None
# Server URI
AUTH_LDAP_SERVER_URI = environ.get('AUTH_LDAP_SERVER_URI', '')
# The following may be needed if you are binding to Active Directory.
AUTH_LDAP_CONNECTION_OPTIONS = {
ldap.OPT_REFERRALS: 0
}
AUTH_LDAP_BIND_AS_AUTHENTICATING_USER = environ.get('AUTH_LDAP_BIND_AS_AUTHENTICATING_USER', 'False').lower() == 'true'
# Set the DN and password for the NetBox service account if needed.
if not AUTH_LDAP_BIND_AS_AUTHENTICATING_USER:
AUTH_LDAP_BIND_DN = environ.get('AUTH_LDAP_BIND_DN', '')
AUTH_LDAP_BIND_PASSWORD = _read_secret('auth_ldap_bind_password', environ.get('AUTH_LDAP_BIND_PASSWORD', ''))
# Set a string template that describes any users distinguished name based on the username.
AUTH_LDAP_USER_DN_TEMPLATE = environ.get('AUTH_LDAP_USER_DN_TEMPLATE', None)
# Enable STARTTLS for ldap authentication.
AUTH_LDAP_START_TLS = environ.get('AUTH_LDAP_START_TLS', 'False').lower() == 'true'
# Include this setting if you want to ignore certificate errors. This might be needed to accept a self-signed cert.
# Note that this is a NetBox-specific setting which sets:
# ldap.set_option(ldap.OPT_X_TLS_REQUIRE_CERT, ldap.OPT_X_TLS_NEVER)
LDAP_IGNORE_CERT_ERRORS = environ.get('LDAP_IGNORE_CERT_ERRORS', 'False').lower() == 'true'
# Include this setting if you want to validate the LDAP server certificates against a CA certificate directory on your server
# Note that this is a NetBox-specific setting which sets:
# ldap.set_option(ldap.OPT_X_TLS_CACERTDIR, LDAP_CA_CERT_DIR)
LDAP_CA_CERT_DIR = environ.get('LDAP_CA_CERT_DIR', None)
# Include this setting if you want to validate the LDAP server certificates against your own CA.
# Note that this is a NetBox-specific setting which sets:
# ldap.set_option(ldap.OPT_X_TLS_CACERTFILE, LDAP_CA_CERT_FILE)
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_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_BASEDN, ldap.SCOPE_SUBTREE, AUTH_LDAP_USER_SEARCH_FILTER
)
# This search ought to return all groups to which the user belongs. django_auth_ldap uses this to determine group
# heirarchy.
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_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'))
# Define a group required to login.
AUTH_LDAP_REQUIRE_GROUP = environ.get('AUTH_LDAP_REQUIRE_GROUP_DN')
# Define special user types using groups. Exercise great caution when assigning superuser status.
AUTH_LDAP_USER_FLAGS_BY_GROUP = {}
if AUTH_LDAP_REQUIRE_GROUP is not None:
AUTH_LDAP_USER_FLAGS_BY_GROUP = {
"is_active": environ.get('AUTH_LDAP_REQUIRE_GROUP_DN', ''),
"is_staff": environ.get('AUTH_LDAP_IS_ADMIN_DN', ''),
"is_superuser": environ.get('AUTH_LDAP_IS_SUPERUSER_DN', '')
}
# For more granular permissions, we can map LDAP groups to Django groups.
AUTH_LDAP_FIND_GROUP_PERMS = environ.get('AUTH_LDAP_FIND_GROUP_PERMS', 'True').lower() == 'true'
AUTH_LDAP_MIRROR_GROUPS = environ.get('AUTH_LDAP_MIRROR_GROUPS', '').lower() == 'true'
# Cache groups for one hour to reduce LDAP traffic
AUTH_LDAP_CACHE_TIMEOUT = int(environ.get('AUTH_LDAP_CACHE_TIMEOUT', 3600))
# Populate the Django user from the LDAP directory.
AUTH_LDAP_USER_ATTR_MAP = {
"first_name": environ.get('AUTH_LDAP_ATTR_FIRSTNAME', 'givenName'),
"last_name": environ.get('AUTH_LDAP_ATTR_LASTNAME', 'sn'),
"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,58 +0,0 @@
import ldap
import os
from django_auth_ldap.config import LDAPSearch, GroupOfNamesType
# Server URI
AUTH_LDAP_SERVER_URI = os.environ.get('AUTH_LDAP_SERVER_URI', '')
# The following may be needed if you are binding to Active Directory.
AUTH_LDAP_CONNECTION_OPTIONS = {
ldap.OPT_REFERRALS: 0
}
# Set the DN and password for the NetBox service account.
AUTH_LDAP_BIND_DN = os.environ.get('AUTH_LDAP_BIND_DN', '')
AUTH_LDAP_BIND_PASSWORD = os.environ.get('AUTH_LDAP_BIND_PASSWORD', '')
# Set a string template that describes any users distinguished name based on the username.
AUTH_LDAP_USER_DN_TEMPLATE = os.environ.get('AUTH_LDAP_USER_DN_TEMPLATE', None)
# Include this setting if you want to ignore certificate errors. This might be needed to accept a self-signed cert.
# Note that this is a NetBox-specific setting which sets:
# ldap.set_option(ldap.OPT_X_TLS_REQUIRE_CERT, ldap.OPT_X_TLS_NEVER)
LDAP_IGNORE_CERT_ERRORS = os.environ.get('LDAP_IGNORE_CERT_ERRORS', 'False').lower() == 'true'
AUTH_LDAP_USER_SEARCH = LDAPSearch(os.environ.get('AUTH_LDAP_USER_SEARCH_BASEDN', ''),
ldap.SCOPE_SUBTREE,
"(sAMAccountName=%(user)s)")
# This search ought to return all groups to which the user belongs. django_auth_ldap uses this to determine group
# heirarchy.
AUTH_LDAP_GROUP_SEARCH = LDAPSearch(os.environ.get('AUTH_LDAP_GROUP_SEARCH_BASEDN', ''), ldap.SCOPE_SUBTREE,
"(objectClass=group)")
AUTH_LDAP_GROUP_TYPE = GroupOfNamesType()
# Define a group required to login.
AUTH_LDAP_REQUIRE_GROUP = os.environ.get('AUTH_LDAP_REQUIRE_GROUP_DN', '')
# Define special user types using groups. Exercise great caution when assigning superuser status.
AUTH_LDAP_USER_FLAGS_BY_GROUP = {
"is_active": os.environ.get('AUTH_LDAP_REQUIRE_GROUP_DN', ''),
"is_staff": os.environ.get('AUTH_LDAP_IS_ADMIN_DN', ''),
"is_superuser": os.environ.get('AUTH_LDAP_IS_SUPERUSER_DN', '')
}
# For more granular permissions, we can map LDAP groups to Django groups.
AUTH_LDAP_FIND_GROUP_PERMS = os.environ.get('AUTH_LDAP_FIND_GROUP_PERMS', 'True').lower() == 'true'
# Cache groups for one hour to reduce LDAP traffic
AUTH_LDAP_CACHE_GROUPS = os.environ.get('AUTH_LDAP_CACHE_GROUPS', 'True').lower() == 'true'
AUTH_LDAP_GROUP_CACHE_TIMEOUT = int(os.environ.get('AUTH_LDAP_GROUP_CACHE_TIMEOUT', 3600))
# Populate the Django user from the LDAP directory.
AUTH_LDAP_USER_ATTR_MAP = {
"first_name": os.environ.get('AUTH_LDAP_ATTR_FIRSTNAME', 'givenName'),
"last_name": os.environ.get('AUTH_LDAP_ATTR_LASTNAME', 'sn'),
"email": os.environ.get('AUTH_LDAP_ATTR_MAIL', 'mail')
}

55
configuration/logging.py Normal file
View file

@ -0,0 +1,55 @@
# # Remove first comment(#) on each line to implement this working logging example.
# # Add LOGLEVEL environment variable to netbox if you use this example & want a different log level.
# from os import environ
# # Set LOGLEVEL in netbox.env or docker-compose.overide.yml to override a logging level of INFO.
# LOGLEVEL = environ.get('LOGLEVEL', 'INFO')
# LOGGING = {
# 'version': 1,
# 'disable_existing_loggers': False,
# 'formatters': {
# 'verbose': {
# 'format': '{levelname} {asctime} {module} {process:d} {thread:d} {message}',
# 'style': '{',
# },
# 'simple': {
# 'format': '{levelname} {message}',
# 'style': '{',
# },
# },
# 'filters': {
# 'require_debug_false': {
# '()': 'django.utils.log.RequireDebugFalse',
# },
# },
# 'handlers': {
# 'console': {
# 'level': LOGLEVEL,
# 'filters': ['require_debug_false'],
# 'class': 'logging.StreamHandler',
# 'formatter': 'simple'
# },
# 'mail_admins': {
# 'level': 'ERROR',
# 'class': 'django.utils.log.AdminEmailHandler',
# 'filters': ['require_debug_false']
# }
# },
# 'loggers': {
# 'django': {
# 'handlers': ['console'],
# 'propagate': True,
# },
# 'django.request': {
# 'handlers': ['mail_admins'],
# 'level': 'ERROR',
# 'propagate': False,
# },
# 'django_auth_ldap': {
# 'handlers': ['console',],
# 'level': LOGLEVEL,
# }
# }
# }

13
configuration/plugins.py Normal file
View file

@ -0,0 +1,13 @@
# Add your plugins and plugin settings here.
# Of course uncomment this file out.
# To learn how to build images with your required plugins
# See https://github.com/netbox-community/netbox-docker/wiki/Using-Netbox-Plugins
# PLUGINS = ["netbox_bgp"]
# PLUGINS_CONFIG = {
# "netbox_bgp": {
# ADD YOUR SETTINGS HERE
# }
# }

View file

@ -0,0 +1,22 @@
services:
netbox:
ports:
- "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"

61
docker-compose.test.yml Normal file
View file

@ -0,0 +1,61 @@
services:
netbox: &netbox
image: ${IMAGE-docker.io/netboxcommunity/netbox:latest}
depends_on:
postgres:
condition: service_healthy
redis:
condition: service_healthy
redis-cache:
condition: service_healthy
env_file: env/netbox.env
user: "unit:root"
volumes:
- ./test-configuration/test_config.py:/etc/netbox/config/test_config.py:z,ro
healthcheck:
test: curl -f http://localhost:8080/login/ || exit 1
start_period: ${NETBOX_START_PERIOD-120s}
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:
image: docker.io/postgres:17-alpine
env_file: env/postgres.env
healthcheck:
test: pg_isready -q -t 2 -d $$POSTGRES_DB -U $$POSTGRES_USER ## $$ because of docker-compose
start_period: 20s
interval: 1s
timeout: 5s
retries: 5
redis: &redis
image: docker.io/valkey/valkey:8.1-alpine
command:
- sh
- -c # this is to evaluate the $REDIS_PASSWORD from the env
- valkey-server --save "" --appendonly no --requirepass $$REDIS_PASSWORD ## $$ because of docker-compose
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
env_file: env/redis-cache.env
volumes:
netbox-media-files:
driver: local

View file

@ -1,67 +1,87 @@
version: '3'
services:
netbox: &netbox
build:
context: .
args:
- BRANCH=${VERSION-master}
image: ninech/netbox:${VERSION-latest}
image: docker.io/netboxcommunity/netbox:${VERSION-v4.4-3.4.1}
depends_on:
- postgres
- redis
- netbox-worker
- postgres
- redis
- redis-cache
env_file: env/netbox.env
user: "unit:root"
healthcheck:
test: curl -f http://localhost:8080/login/ || exit 1
start_period: 90s
timeout: 3s
interval: 15s
volumes:
- ./startup_scripts:/opt/netbox/startup_scripts:ro
- ./initializers:/opt/netbox/initializers:ro
- ./configuration:/etc/netbox/config:ro
- netbox-nginx-config:/etc/netbox-nginx/
- netbox-static-files:/opt/netbox/netbox/static
- netbox-media-files:/opt/netbox/netbox/media
- netbox-report-files:/etc/netbox/reports:ro
- ./configuration:/etc/netbox/config:z,ro
- netbox-media-files:/opt/netbox/netbox/media:rw
- netbox-reports-files:/opt/netbox/netbox/reports:rw
- netbox-scripts-files:/opt/netbox/netbox/scripts:rw
netbox-worker:
<<: *netbox
depends_on:
- redis
entrypoint:
- python3
- /opt/netbox/netbox/manage.py
netbox:
condition: service_healthy
command:
- rqworker
nginx:
command: nginx -c /etc/netbox-nginx/nginx.conf
image: nginx:1.15-alpine
depends_on:
- netbox
ports:
- 8080
volumes:
- netbox-static-files:/opt/netbox/netbox/static:ro
- netbox-nginx-config:/etc/netbox-nginx/:ro
- /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: 20s
timeout: 3s
interval: 15s
# postgres
postgres:
image: postgres:10.4-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
volumes:
- netbox-postgres-data:/var/lib/postgresql/data
- netbox-postgres-data:/var/lib/postgresql/data
# redis
redis:
image: redis:4-alpine
image: docker.io/valkey/valkey:8.1-alpine
command:
- sh
- -c # this is to evaluate the $REDIS_PASSWORD from the env
- redis-server --appendonly yes --requirepass $$REDIS_PASSWORD ## $$ because of docker-compose
- sh
- -c # this is to evaluate the $REDIS_PASSWORD from the env
- 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
volumes:
- netbox-redis-data:/data
- netbox-redis-data:/data
redis-cache:
image: docker.io/valkey/valkey:8.1-alpine
command:
- sh
- -c # this is to evaluate the $REDIS_PASSWORD from the env
- valkey-server --requirepass $$REDIS_PASSWORD ## $$ because of docker-compose
healthcheck: *redis-healthcheck
env_file: env/redis-cache.env
volumes:
- netbox-redis-cache-data:/data
volumes:
netbox-static-files:
driver: local
netbox-nginx-config:
driver: local
netbox-media-files:
driver: local
netbox-report-files:
driver: local
netbox-postgres-data:
driver: local
netbox-redis-cache-data:
driver: local
netbox-redis-data:
driver: local
netbox-reports-files:
driver: local
netbox-scripts-files:
driver: local

View file

@ -1,10 +1,91 @@
## Generic Parts
# These functions are providing the functionality to load
# arbitrary configuration files.
#
# They can be imported by other code (see `ldap_config.py` for an example).
import importlib.util
import sys
from os import scandir
from os.path import abspath, isfile
try:
spec = importlib.util.spec_from_file_location('configuration', '/etc/netbox/config/configuration.py')
module = importlib.util.module_from_spec(spec)
spec.loader.exec_module(module)
sys.modules['netbox.configuration'] = module
except:
raise ImportError('')
def _filename(f):
return f.name
def _import(module_name, path, loaded_configurations):
spec = importlib.util.spec_from_file_location("", path)
module = importlib.util.module_from_spec(spec)
spec.loader.exec_module(module)
sys.modules[module_name] = module
loaded_configurations.insert(0, module)
print(f"🧬 loaded config '{path}'")
def read_configurations(config_module, config_dir, main_config):
loaded_configurations = []
main_config_path = abspath(f"{config_dir}/{main_config}.py")
if isfile(main_config_path):
_import(f"{config_module}.{main_config}", main_config_path, loaded_configurations)
else:
print(f"⚠️ Main configuration '{main_config_path}' not found.")
with scandir(config_dir) as it:
for f in sorted(it, key=_filename):
if not f.is_file():
continue
if f.name.startswith("__"):
continue
if not f.name.endswith(".py"):
continue
if f.name == f"{main_config}.py":
continue
if f.name == f"{config_dir}.py":
continue
module_name = f"{config_module}.{f.name[:-len('.py')]}".replace(".", "_")
_import(module_name, f.path, loaded_configurations)
if len(loaded_configurations) == 0:
print(f"‼️ No configuration files found in '{config_dir}'.")
raise ImportError(f"No configuration files found in '{config_dir}'.")
return loaded_configurations
## Specific Parts
# This section's code actually loads the various configuration files
# into the module with the given name.
# It contains the logic to resolve arbitrary configuration options by
# levaraging dynamic programming using `__getattr__`.
_loaded_configurations = read_configurations(
config_dir="/etc/netbox/config/",
config_module="netbox.configuration",
main_config="configuration",
)
def __getattr__(name):
for config in _loaded_configurations:
try:
return getattr(config, name)
except:
pass
raise AttributeError
def __dir__():
names = []
for config in _loaded_configurations:
names.extend(config.__dir__())
return names

View file

@ -1,54 +1,98 @@
#!/bin/bash
# Runs on every start of the NetBox Docker container
# Stop when an error occures
set -e
# wait shortly and then run db migrations (retry on error)
while ! ./manage.py migrate 2>&1; do
echo "⏳ Waiting on DB..."
sleep 3
done
# Allows NetBox to be run as non-root users
umask 002
# create superuser silently
if [ -z ${SUPERUSER_NAME+x} ]; then
SUPERUSER_NAME='admin'
fi
if [ -z ${SUPERUSER_EMAIL+x} ]; then
SUPERUSER_EMAIL='admin@example.com'
fi
if [ -z ${SUPERUSER_PASSWORD+x} ]; then
if [ -f "/run/secrets/superuser_password" ]; then
SUPERUSER_PASSWORD="$(< /run/secrets/superuser_password)"
# Load correct Python3 env
# shellcheck disable=SC1091
source /opt/netbox/venv/bin/activate
# Try to connect to the DB
DB_WAIT_TIMEOUT=${DB_WAIT_TIMEOUT-3}
MAX_DB_WAIT_TIME=${MAX_DB_WAIT_TIME-30}
CUR_DB_WAIT_TIME=0
while [ "${CUR_DB_WAIT_TIME}" -lt "${MAX_DB_WAIT_TIME}" ]; do
# Read and truncate connection error tracebacks to last line by default
exec {psfd}< <(./manage.py showmigrations 2>&1)
read -rd '' DB_ERR <&$psfd || :
exec {psfd}<&-
wait $! && break
if [ -n "$DB_WAIT_DEBUG" ]; then
echo "$DB_ERR"
else
readarray -tn 0 DB_ERR_LINES <<<"$DB_ERR"
echo "${DB_ERR_LINES[@]: -1}"
echo "[ Use DB_WAIT_DEBUG=1 in netbox.env to print full traceback for errors here ]"
fi
echo "⏳ Waiting on DB... (${CUR_DB_WAIT_TIME}s / ${MAX_DB_WAIT_TIME}s)"
sleep "${DB_WAIT_TIMEOUT}"
CUR_DB_WAIT_TIME=$((CUR_DB_WAIT_TIME + DB_WAIT_TIMEOUT))
done
if [ "${CUR_DB_WAIT_TIME}" -ge "${MAX_DB_WAIT_TIME}" ]; then
echo "❌ Waited ${MAX_DB_WAIT_TIME}s or more for the DB to become ready."
exit 1
fi
# Check if update is needed
if ! ./manage.py migrate --check >/dev/null 2>&1; then
echo "⚙️ Applying database migrations"
./manage.py migrate --no-input
echo "⚙️ Running trace_paths"
./manage.py trace_paths --no-input
echo "⚙️ Removing stale content types"
./manage.py remove_stale_contenttypes --no-input
echo "⚙️ Removing expired user sessions"
./manage.py clearsessions
echo "⚙️ Building search index (lazy)"
./manage.py reindex --lazy
fi
# Create Superuser if required
if [ "$SKIP_SUPERUSER" == "true" ]; then
echo "↩️ Skip creating the superuser"
else
if [ -z ${SUPERUSER_NAME+x} ]; then
SUPERUSER_NAME='admin'
fi
if [ -z ${SUPERUSER_EMAIL+x} ]; then
SUPERUSER_EMAIL='admin@example.com'
fi
if [ -f "/run/secrets/superuser_password" ]; then
SUPERUSER_PASSWORD="$(</run/secrets/superuser_password)"
elif [ -z ${SUPERUSER_PASSWORD+x} ]; then
SUPERUSER_PASSWORD='admin'
fi
fi
if [ -z ${SUPERUSER_API_TOKEN+x} ]; then
if [ -f "/run/secrets/superuser_api_token" ]; then
SUPERUSER_API_TOKEN="$(< /run/secrets/superuser_api_token)"
else
SUPERUSER_API_TOKEN="$(</run/secrets/superuser_api_token)"
elif [ -z ${SUPERUSER_API_TOKEN+x} ]; then
SUPERUSER_API_TOKEN='0123456789abcdef0123456789abcdef01234567'
fi
fi
echo "💡 Username: ${SUPERUSER_NAME}, E-Mail: ${SUPERUSER_EMAIL}"
./manage.py shell --interface python << END
from django.contrib.auth.models import User
from users.models import Token
./manage.py shell --interface python <<END
from users.models import Token, User
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}')
END
for script in /opt/netbox/startup_scripts/*.py; do
echo "⚙️ Executing '$script'"
./manage.py shell --interface python < "${script}"
done
echo "💡 Superuser Username: ${SUPERUSER_NAME}, E-Mail: ${SUPERUSER_EMAIL}"
fi
# copy static files
./manage.py collectstatic --no-input
./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."
# launch whatever is passed by docker
# Launch whatever is passed by docker
# (i.e. the RUN instruction in the Dockerfile)
exec ${@}
exec "$@"

57
docker/launch-netbox.sh Executable file
View file

@ -0,0 +1,57 @@
#!/bin/bash
UNIT_CONFIG="${UNIT_CONFIG-/etc/unit/nginx-unit.json}"
# Also used in "nginx-unit.json"
UNIT_SOCKET="/opt/unit/unit.sock"
load_configuration() {
MAX_WAIT=10
WAIT_COUNT=0
while [ ! -S $UNIT_SOCKET ]; do
if [ $WAIT_COUNT -ge $MAX_WAIT ]; then
echo "⚠️ No control socket found; configuration will not be loaded."
return 1
fi
WAIT_COUNT=$((WAIT_COUNT + 1))
echo "⏳ Waiting for control socket to be created... (${WAIT_COUNT}/${MAX_WAIT})"
sleep 1
done
# even when the control socket exists, it does not mean unit has finished initialisation
# this curl call will get a reply once unit is fully launched
curl --silent --output /dev/null --request GET --unix-socket $UNIT_SOCKET http://localhost/
echo "⚙️ Applying configuration from $UNIT_CONFIG"
RESP_CODE=$(
curl \
--silent \
--output /dev/null \
--write-out '%{http_code}' \
--request PUT \
--data-binary "@${UNIT_CONFIG}" \
--unix-socket $UNIT_SOCKET \
http://localhost/config
)
if [ "$RESP_CODE" != "200" ]; then
echo "⚠️ Could not load Unit configuration"
kill "$(cat /opt/unit/unit.pid)"
return 1
fi
echo "✅ Unit configuration loaded successfully"
}
load_configuration &
exec unitd \
--no-daemon \
--control unix:$UNIT_SOCKET \
--pid /opt/unit/unit.pid \
--log /dev/stdout \
--statedir /opt/unit/state/ \
--tmpdir /opt/unit/tmp/ \
--user unit \
--group root

View file

@ -1,10 +1,23 @@
import importlib.util
import sys
from .configuration import read_configurations
try:
spec = importlib.util.spec_from_file_location('ldap_config', '/etc/netbox/config/ldap_config.py')
module = importlib.util.module_from_spec(spec)
spec.loader.exec_module(module)
sys.modules['netbox.ldap_config'] = module
except:
raise ImportError('')
_loaded_configurations = read_configurations(
config_dir="/etc/netbox/config/ldap/",
config_module="netbox.configuration.ldap",
main_config="ldap_config",
)
def __getattr__(name):
for config in _loaded_configurations:
try:
return getattr(config, name)
except:
pass
raise AttributeError
def __dir__():
names = []
for config in _loaded_configurations:
names.extend(config.__dir__())
return names

82
docker/nginx-unit.json Normal file
View file

@ -0,0 +1,82 @@
{
"listeners": {
"0.0.0.0:8080": {
"pass": "routes/main",
"forwarded": {
"client_ip": "X-Forwarded-For",
"protocol": "X-Forwarded-Proto",
"source": ["10.0.0.0/8", "172.16.0.0/12", "192.168.0.0/16"]
}
},
"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": {
"pass": "routes/main",
"forwarded": {
"client_ip": "X-Forwarded-For",
"protocol": "X-Forwarded-Proto",
"source": ["fc00::/7", "fe80::/10"]
}
},
"[::]:8081": {
"pass": "routes/status",
"forwarded": {
"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": {
"netbox": {
"type": "python 3",
"path": "/opt/netbox/netbox/",
"module": "netbox.wsgi",
"home": "/opt/netbox/venv",
"processes": {
"max": 4,
"spare": 1,
"idle_timeout": 120
}
}
},
"access_log": "/dev/stdout",
"settings": {
"http": {
"max_body_size": 104857600
}
}
}

View file

@ -1,36 +0,0 @@
daemon off;
worker_processes 1;
error_log /dev/stderr info;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
sendfile on;
tcp_nopush on;
keepalive_timeout 65;
gzip on;
server_tokens off;
client_max_body_size 10M;
server {
listen 8080;
access_log off;
location /static/ {
alias /opt/netbox/netbox/static/;
}
location / {
proxy_pass http://netbox:8001;
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
add_header P3P 'CP="ALL DSP COR PSAa PSDa OUR NOR ONL UNI COM NAV"';
}
}
}

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

45
env/netbox.env vendored
View file

@ -1,23 +1,34 @@
DB_NAME=netbox
DB_USER=netbox
DB_PASSWORD=J5brHrAXFLQSif0K
API_TOKEN_PEPPER_1=Qy+F=OTeGskWQ(wTMgjc+NPPlz6YwFXY=KHIIg=wpYXT&e(6u8
CORS_ORIGIN_ALLOW_ALL=True
DB_HOST=postgres
EMAIL_SERVER=localhost
EMAIL_PORT=25
EMAIL_USERNAME=netbox
EMAIL_PASSWORD=
EMAIL_TIMEOUT=5
DB_NAME=netbox
DB_PASSWORD=J5brHrAXFLQSif0K
DB_USER=netbox
EMAIL_FROM=netbox@bar.com
EMAIL_PASSWORD=
EMAIL_PORT=25
EMAIL_SERVER=localhost
EMAIL_SSL_CERTFILE=
EMAIL_SSL_KEYFILE=
EMAIL_TIMEOUT=5
EMAIL_USERNAME=netbox
# EMAIL_USE_SSL and EMAIL_USE_TLS are mutually exclusive, i.e. they can't both be `true`!
EMAIL_USE_SSL=false
EMAIL_USE_TLS=false
GRAPHQL_ENABLED=true
MEDIA_ROOT=/opt/netbox/netbox/media
NAPALM_USERNAME=
NAPALM_PASSWORD=
NAPALM_TIMEOUT=10
MAX_PAGE_SIZE=0
METRICS_ENABLED=false
REDIS_CACHE_DATABASE=1
REDIS_CACHE_HOST=redis-cache
REDIS_CACHE_INSECURE_SKIP_TLS_VERIFY=false
REDIS_CACHE_PASSWORD=t4Ph722qJ5QHeQ1qfu36
REDIS_CACHE_SSL=false
REDIS_DATABASE=0
REDIS_HOST=redis
REDIS_INSECURE_SKIP_TLS_VERIFY=false
REDIS_PASSWORD=H733Kdjndks81
SECRET_KEY=r8OwDznj!!dci#P9ghmRfdu1Ysxm0AiPeDCQhKE+N_rClfWNj
SUPERUSER_NAME=admin
SUPERUSER_EMAIL=admin@example.com
SUPERUSER_PASSWORD=admin
SUPERUSER_API_TOKEN=0123456789abcdef0123456789abcdef01234567
REDIS_SSL=false
RELEASE_CHECK_URL=https://api.github.com/repos/netbox-community/netbox/releases
SECRET_KEY='r(m)9nLGnz$(_q3N4z1k(EFsMCjjjzx08x9VhNVcfd%6RF#r!6DE@+V5Zk2X'
SKIP_SUPERUSER=true
WEBHOOKS_ENABLED=true

4
env/postgres.env vendored
View file

@ -1,3 +1,3 @@
POSTGRES_USER=netbox
POSTGRES_PASSWORD=J5brHrAXFLQSif0K
POSTGRES_DB=netbox
POSTGRES_PASSWORD=J5brHrAXFLQSif0K
POSTGRES_USER=netbox

1
env/redis-cache.env vendored Normal file
View file

@ -0,0 +1 @@
REDIS_PASSWORD=t4Ph722qJ5QHeQ1qfu36

View file

@ -1,80 +0,0 @@
# text_field:
# type: text
# label: Custom Text
# description: Enter text in a text field.
# required: false
# weight: 0
# on_objects:
# - dcim.models.Device
# - dcim.models.Rack
# - ipam.models.IPAddress
# - ipam.models.Prefix
# - tenancy.models.Tenant
# - virtualization.models.VirtualMachine
# integer_field:
# type: integer
# label: Custom Number
# description: Enter numbers into an integer field.
# required: true
# filter_logic: loose
# weight: 10
# on_objects:
# - tenancy.models.Tenant
# selection_field:
# type: selection
# label: Choose between items
# required: false
# filter_logic: exact
# weight: 30
# on_objects:
# - dcim.models.Device
# choices:
# - value: First Item
# weight: 10
# - value: Second Item
# weight: 20
# - value: Third Item
# weight: 30
# - value: Fifth Item
# weight: 50
# - value: Fourth Item
# weight: 40
# selection_field_auto_weight:
# type: selection
# label: Choose between items
# required: false
# filter_logic: loose
# weight: 30
# on_objects:
# - dcim.models.Device
# choices:
# - value: A
# - value: B
# - value: C
# - value: "D like deprecated"
# weight: 999
# - value: E
# boolean_field:
# type: boolean
# label: Yes Or No?
# required: true
# filter_logic: loose
# default: "false" # important: but "false" in quotes!
# weight: 90
# on_objects:
# - dcim.models.Device
# url_field:
# type: url
# label: Hyperlink
# description: Link to something nice.
# required: true
# filter_logic: disabled
# on_objects:
# - tenancy.models.Tenant
# date_field:
# type: date
# label: Important Date
# required: false
# filter_logic: disabled
# on_objects:
# - dcim.models.Device

View file

@ -1,16 +0,0 @@
# applications:
# users:
# - technical_user
# readers:
# users:
# - reader
# writers:
# users:
# - writer
# permissions:
# - add_device
# - change_device
# - delete_device
# - add_virtualmachine
# - change_virtualmachine
# - delete_virtualmachine

View file

@ -1,13 +0,0 @@
# technical_user:
# api_token: 0123456789technicaluser789abcdef01234567 # must be looooong!
# reader:
# password: reader
# writer:
# password: writer
# permissions:
# - add_device
# - change_device
# - delete_device
# - add_virtualmachine
# - change_virtualmachine
# - delete_virtualmachine

26
pyproject.toml Normal file
View file

@ -0,0 +1,26 @@
[tool.black]
line_length = 100
target-version = ['py38']
include = '\.pyi?$'
exclude = '''
(
/(
\.git
| \.venv
| \.netbox
| \.vscode
| configuration
)/
)
'''
[tool.isort]
profile = "black"
multi_line_output = 3
line_length = 100
[tool.pylint.messages_control]
disable = "C0330, C0326"
[tool.pylint.format]
max-line-length = "100"

188
release.sh Executable file
View file

@ -0,0 +1,188 @@
#!/bin/bash
DEFAULT_REPO=netbox-community/netbox-docker
REPO="${REPO-${DEFAULT_REPO}}"
echomoji() {
EMOJI=${1}
TEXT=${2}
shift 2
if [ -z "$DISABLE_EMOJI" ]; then
echo "${EMOJI}" "${@}"
else
echo "${TEXT}" "${@}"
fi
}
echo_nok() {
echomoji "❌" "!" "${@}"
}
echo_ok() {
echomoji "✅" "-" "${@}"
}
echo_hint() {
echomoji "👉" ">" "${@}"
}
# check errors shall exit with code 1
check_clean_repo() {
changes=$(git status --porcelain 2>/dev/null)
if [ ${?} ] && [ -n "$changes" ]; then
echo_nok "There are git changes pending:"
echo "$changes"
echo_hint "Please clean the repository before continueing: git stash --include-untracked"
exit 1
fi
echo_ok "Repository has no pending changes."
}
check_branch() {
expected_branch="${1}"
actual_branch=$(git rev-parse --abbrev-ref HEAD 2>/dev/null)
if [ ${?} ] && [ "${actual_branch}" != "${expected_branch}" ]; then
echo_nok "Current branch should be '${expected_branch}', but is '${actual_branch}'."
echo_hint "Please change to the '${expected_branch}' branch: git checkout ${expected_branch}"
exit 1
fi
echo_ok "The current branch is '${actual_branch}'."
}
check_upstream() {
expected_upstream_branch="origin/${1}"
actual_upstream_branch=$(git rev-parse --abbrev-ref '@{upstream}' 2>/dev/null)
if [ ${?} ] && [ "${actual_upstream_branch}" != "${expected_upstream_branch}" ]; then
echo_nok "Current upstream branch should be '${expected_upstream_branch}', but is '${actual_upstream_branch}'."
echo_hint "Please set '${expected_upstream_branch}' as the upstream branch: git branch --set-upstream-to=${expected_upstream_branch}"
exit 1
fi
echo_ok "The current upstream branch is '${actual_upstream_branch}'."
}
check_origin() {
expected_origin="git@github.com:${REPO}.git"
actual_origin=$(git remote get-url origin 2>/dev/null)
if [ ${?} ] && [ "${actual_origin}" != "${expected_origin}" ]; then
echo_nok "The url of origin is '${actual_origin}', but '${expected_origin}' is expected."
echo_hint "Please set '${expected_origin}' as the url for origin: git origin set-url '${expected_origin}'"
exit 1
fi
echo_ok "The current origin url is '${actual_origin}'."
}
check_latest() {
git fetch --tags origin
local_head_commit=$(git rev-parse HEAD 2>/dev/null)
remote_head_commit=$(git rev-parse FETCH_HEAD 2>/dev/null)
if [ "${local_head_commit}" != "${remote_head_commit}" ]; then
echo_nok "HEAD is at '${local_head_commit}', but FETCH_HEAD is at '${remote_head_commit}'."
echo_hint "Please ensure that you have pushed and pulled all the latest chanegs: git pull --prune --rebase origin; git push origin"
exit 1
fi
echo_ok "HEAD and FETCH_HEAD both point to '${local_head_commit}'."
}
check_tag() {
local tag
tag=$(<VERSION)
if git rev-parse "${tag}" 2>/dev/null >/dev/null; then
echo_nok "The tag '${tag}' already points to '$(git rev-parse "${tag}" 2>/dev/null)'."
echo_hint "Please ensure that the 'VERSION' file has been updated before trying to release: echo X.Y.Z > VERSION"
exit 1
fi
echo_ok "The tag '${tag}' does not exist yet."
}
check_develop() {
echomoji 📋 "?" "Checking 'develop' branch"
check_branch develop
check_upstream develop
check_clean_repo
check_latest
}
check_release() {
echomoji 📋 "?" "Checking 'release' branch"
check_upstream release
check_clean_repo
check_latest
}
# git errors shall exit with code 2
git_switch() {
echomoji 🔀 "≈" "Switching to '${1}' branch…"
if ! git checkout "${1}" >/dev/null; then
echo_nok "It was not possible to switch to the branch '${1}'."
exit 2
fi
echo_ok "The branch is now '${1}'."
}
git_tag() {
echomoji 🏷 "X" "Tagging version '${1}'…"
if ! git tag "${1}"; then
echo_nok "The tag '${1}' was not created because of an error."
exit 2
fi
echo_ok "The tag '$(<VERSION)' was created."
}
git_push() {
echomoji ⏩ "»" "Pushing the tag '${2}' to '${1}'…"
if ! git push "${1}" "${2}"; then
echo_nok "The tag '${2}' could not be pushed to '${1}'."
exit 2
fi
echo_ok "The tag '${2}' was pushed."
}
git_merge() {
echomoji ⏩ "»" "Merging '${1}'…"
if ! git merge --no-ff "${1}"; then
echo_nok "The branch '${1}' could not be merged."
exit 2
fi
echo_ok "The branch '${2}' was merged."
}
git_merge() {
echomoji ⏩ "»" "Rebasing onto '${1}'…"
if ! git rebase "${1}"; then
echo_nok "Could not rebase onto '${1}'."
exit 2
fi
echo_ok "Rebased onto '${2}'."
}
###
# MAIN
###
echomoji 📋 "▶︎" "Checking pre-requisites for releasing '$(<VERSION)'"
check_origin
check_develop
check_tag
git_switch release
check_release
echomoji 📋 "▶︎" "Releasing '$(<VERSION)'"
git_merge develop
check_tag
git_tag "$(<VERSION)"
git_push "origin" release
git_push "origin" "$(<VERSION)"
git_switch develop
git_rebase release
echomoji ✅ "◼︎" "The release of '$(<VERSION)' is complete."

14
renovate.json Normal file
View file

@ -0,0 +1,14 @@
{
"extends": [
"config:base",
":disableDependencyDashboard"
],
"enabled": true,
"labels": ["maintenance"],
"baseBranches": ["develop"],
"pip_requirements": {
"fileMatch": [
"requirements-container.txt"
]
}
}

View file

@ -0,0 +1,6 @@
django-auth-ldap==5.2.0
dulwich==0.24.8
python3-saml==1.16.0
--no-binary lxml
--no-binary xmlsec
sentry-sdk[django]==2.43.0

View file

@ -1,28 +0,0 @@
from django.contrib.auth.models import Permission, Group, User
from users.models import Token
from ruamel.yaml import YAML
with open('/opt/netbox/initializers/users.yml', 'r') as stream:
yaml=YAML(typ='safe')
users = yaml.load(stream)
if users is not None:
for username, user_details in users.items():
if not User.objects.filter(username=username):
user = User.objects.create_user(
username = username,
password = user_details.get('password', 0) or User.objects.make_random_password)
print("👤 Created user ",username)
if user_details.get('api_token', 0):
Token.objects.create(user=user, key=user_details['api_token'])
user_permissions = user_details.get('permissions', [])
if user_permissions:
user.user_permissions.clear()
for permission_codename in user_details.get('permissions', []):
permission = Permission.objects.get(codename=permission_codename)
user.user_permissions.add(permission)
user.save()

View file

@ -1,27 +0,0 @@
from django.contrib.auth.models import Permission, Group, User
from ruamel.yaml import YAML
with open('/opt/netbox/initializers/groups.yml', 'r') as stream:
yaml=YAML(typ='safe')
groups = yaml.load(stream)
if groups is not None:
for groupname, group_details in groups.items():
group, created = Group.objects.get_or_create(name=groupname)
if created:
print("👥 Created group", groupname)
for username in group_details.get('users', []):
user = User.objects.get(username=username)
if user:
user.groups.add(group)
group_permissions = group_details.get('permissions', [])
if group_permissions:
group.permissions.clear()
print("Permissions:", group.permissions.all())
for permission_codename in group_details.get('permissions', []):
permission = Permission.objects.get(codename=permission_codename)
group.permissions.add(permission)

View file

@ -1,69 +0,0 @@
from extras.constants import CF_TYPE_TEXT, CF_TYPE_INTEGER, CF_TYPE_BOOLEAN, CF_TYPE_DATE, CF_TYPE_URL, CF_TYPE_SELECT, CF_FILTER_CHOICES
from extras.models import CustomField, CustomFieldChoice
from ruamel.yaml import YAML
text_to_fields = {
'boolean': CF_TYPE_BOOLEAN,
'date': CF_TYPE_DATE,
'integer': CF_TYPE_INTEGER,
'selection': CF_TYPE_SELECT,
'text': CF_TYPE_TEXT,
'url': CF_TYPE_URL,
}
def get_class_for_class_path(class_path):
import importlib
from django.contrib.contenttypes.models import ContentType
module_name, class_name = class_path.rsplit(".", 1)
module = importlib.import_module(module_name)
clazz = getattr(module, class_name)
return ContentType.objects.get_for_model(clazz)
with open('/opt/netbox/initializers/custom_fields.yml', 'r') as stream:
yaml = YAML(typ='safe')
customfields = yaml.load(stream)
if customfields is not None:
for cf_name, cf_details in customfields.items():
custom_field, created = CustomField.objects.get_or_create(name = cf_name)
if created:
if cf_details.get('default', 0):
custom_field.default = cf_details['default']
if cf_details.get('description', 0):
custom_field.description = cf_details['description']
# If no filter_logic is specified then it will default to 'Loose'
if cf_details.get('filter_logic', 0):
for choice_id, choice_text in CF_FILTER_CHOICES:
if choice_text.lower() == cf_details['filter_logic']:
custom_field.filter_logic = choice_id
if cf_details.get('label', 0):
custom_field.label = cf_details['label']
for object_type in cf_details.get('on_objects', []):
custom_field.obj_type.add(get_class_for_class_path(object_type))
if cf_details.get('required', 0):
custom_field.required = cf_details['required']
if cf_details.get('type', 0):
custom_field.type = text_to_fields[cf_details['type']]
if cf_details.get('weight', 0):
custom_field.weight = cf_details['weight']
custom_field.save()
for idx, choice_details in enumerate(cf_details.get('choices', [])):
choice, _ = CustomFieldChoice.objects.get_or_create(
field=custom_field,
value=choice_details['value'],
defaults={'weight': idx * 10}
)
print("🔧 Created custom field", cf_name)

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',
}

119
test.sh Executable file
View file

@ -0,0 +1,119 @@
#!/bin/bash
# Runs the original NetBox unit tests and tests whether all initializers work.
# Usage:
# ./test.sh latest
# ./test.sh v2.9.7
# ./test.sh develop-2.10
# IMAGE='netboxcommunity/netbox:latest' ./test.sh
# IMAGE='netboxcommunity/netbox:v2.9.7' ./test.sh
# IMAGE='netboxcommunity/netbox:develop-2.10' ./test.sh
# export IMAGE='netboxcommunity/netbox:latest'; ./test.sh
# export IMAGE='netboxcommunity/netbox:v2.9.7'; ./test.sh
# export IMAGE='netboxcommunity/netbox:develop-2.10'; ./test.sh
# exit when a command exits with an exit code != 0
set -e
source ./build-functions/gh-functions.sh
# IMAGE is used by `docker-compose.yml` do determine the tag
# of the Docker Image that is to be used
if [ "${1}x" != "x" ]; then
# Use the command line argument
export IMAGE="netboxcommunity/netbox:${1}"
else
export IMAGE="${IMAGE-netboxcommunity/netbox:latest}"
fi
# Ensure that an IMAGE is defined
if [ -z "${IMAGE}" ]; then
echo "⚠️ No image defined"
if [ -z "${DEBUG}" ]; then
exit 1
else
echo "⚠️ Would 'exit 1' here, but DEBUG is '${DEBUG}'."
fi
fi
# The docker compose command to use
doco="docker compose --file docker-compose.test.yml --file docker-compose.test.override.yml --project-name netbox_docker_test"
test_setup() {
gh_echo "::group:: Test setup"
echo "🏗 Setup up test environment"
$doco up --detach --quiet-pull --wait --force-recreate --renew-anon-volumes --no-start
$doco start postgres
$doco start redis
$doco start redis-cache
gh_echo "::endgroup::"
}
test_netbox_unit_tests() {
gh_echo "::group:: Netbox unit tests"
echo "⏱ Running NetBox Unit Tests"
$doco run --rm netbox /opt/netbox/venv/bin/python /opt/netbox/netbox/manage.py test
gh_echo "::endgroup::"
}
test_compose_db_setup() {
gh_echo "::group:: Netbox DB migrations"
echo "⏱ Running NetBox DB migrations"
$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() {
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
gh_echo "::endgroup::"
}
echo "🐳🐳🐳 Start testing '${IMAGE}'"
# Make sure the cleanup script is executed
trap test_cleanup EXIT ERR
test_setup
test_netbox_unit_tests
test_compose_db_setup
test_netbox_start
test_netbox_web
echo "🐳🐳🐳 Done testing '${IMAGE}'"