Compare commits

...

59 Commits
1.2.0 ... 1.3.1

Author SHA1 Message Date
e021390568 Merge pull request #568 from netbox-community/develop
Version 1.3.1
2021-09-03 10:57:05 +02:00
389e68f6ba Merge branch 'release' into develop 2021-09-03 10:34:55 +02:00
7eeb2ea7e6 Prepare version 1.3.1 2021-09-03 10:21:43 +02:00
954bddeb64 Merge pull request #570 from cimnine/FixCRC32
Build and install libcrc32c
2021-09-03 10:16:13 +02:00
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
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
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
54823b41e1 Workaround for build error in google-crc32c 1.1.3 2021-08-31 16:04:48 +02:00
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
8e0c795791 Prepare version 1.3.0 2021-08-30 21:07:01 +02:00
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
fe4df4f70a Merge pull request #556 from netbox-community/disableDependencyDashboard 2021-08-30 12:54:31 +02:00
650e62f44f Disable Renovate's "Dependency Dashboard" 2021-08-30 12:31:36 +02:00
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
3af075e039 Update dependency ruamel.yaml to v0.17.16 2021-08-29 13:05:16 +00:00
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
9b6c476bf9 Update dependency ruamel.yaml to v0.17.14 2021-08-25 20:34:39 +00:00
c5a1557800 Removed deprecated settings 2021-08-21 18:22:24 +02:00
9d476fa9af Build documentation files in the image 2021-08-21 18:22:24 +02:00
9142aaf78e django-cacheops has been removed from Netbox 3.0.0 2021-08-21 18:22:24 +02:00
b258b6578c Merge pull request #552 from netbox-community/renovate/ruamel.yaml-0.x 2021-08-21 18:03:42 +02:00
289540f576 Update dependency ruamel.yaml to v0.17.13 2021-08-21 14:53:54 +00:00
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
18ea220102 Update dependency ruamel.yaml to v0.17.11 2021-08-19 06:45:17 +00:00
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
275d2673b4 Update dependency django-auth-ldap to v3 2021-07-19 07:56:47 +00:00
746aa9b4a6 Merge pull request #534 from tobiasge/alpine-update
Alpine update to 3.14
2021-07-08 10:41:22 +02:00
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
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
b2ee468871 Alpine update to 3.14 2021-07-07 09:44:21 +02:00
dd41d09b43 Add possibility to disable server side cursors 2021-06-24 18:21:08 +03:00
abfa6c989f Update dependency ruamel.yaml to v0.17.10 2021-06-24 09:38:10 +00:00
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
6bbc7a3a84 Update dependency napalm to v3.3.1 2021-06-18 12:29:27 +00:00
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
e38d646e8e Update dependency ruamel.yaml to v0.17.9 2021-06-10 06:57:09 +00:00
bb298e7a01 Merge pull request #530 from netbox-community/renovate/ruamel.yaml-0.x 2021-06-09 20:01:41 +02:00
98840382b9 Update dependency ruamel.yaml to v0.17.8 2021-06-09 13:53:48 +00:00
b8ff0a1d43 Merge pull request #524 from jlemesh/fix/initialize_tenants_before_sites
Initialize tenants before sites
2021-06-03 11:29:53 +02:00
15b097bd3e Add second tenant with group to site 2021-06-01 14:22:08 +03:00
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
3aad44d68c Update dependency ruamel.yaml to v0.17.7 2021-05-31 15:28:52 +00:00
6658d069fb Merge pull request #520 from cimnine/PinNetboxMinor 2021-05-31 11:26:51 +02:00
52f097d4a2 Merge pull request #525 from netbox-community/renovate/ruamel.yaml-0.x 2021-05-31 11:25:56 +02:00
f4e9ebcfb5 Update dependency ruamel.yaml to v0.17.6 2021-05-31 08:58:27 +00:00
057728b774 Allow sites to be initialized with tenants 2021-05-28 11:26:34 +03:00
5b618851c0 Pin the NetBox Docker version in the docker-compose.yml file 2021-05-26 19:05:37 +02:00
9f531ce0f7 Merge pull request #518 from netbox-community/renovate/github-super-linter-4.x 2021-05-26 16:46:24 +02:00
dd732d7bc2 Update github/super-linter action to v4 2021-05-25 20:35:56 +00:00
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
240326ef37 Update dependency napalm to v3.3.0 2021-05-18 13:30:10 +00:00
c49fa313ed Merge pull request #514 from tobiasge/ttf-ubuntu
Remove 'ttf-ubuntu-font-family' from image
2021-05-18 14:23:32 +02:00
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
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
49b7c267b9 Update postgres Docker tag to v13 2021-05-18 08:03:10 +00:00
02f30f3a68 'ttf-ubuntu-font-family' was remove from Alpine 2021-05-18 09:34:44 +02:00
e2cc9386fb Secrets are removed in Netbox 2.12 2021-05-18 09:32:48 +02:00
43b8b36951 Merge pull request #507 from tobiasge/run-update-when-needed
Optimise migrations on startup
2021-05-18 08:55:31 +02:00
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
15 changed files with 55 additions and 42 deletions

View File

@ -19,7 +19,7 @@ jobs:
fetch-depth: 0
- uses: actions/setup-python@v2
- name: Lint Code Base
uses: github/super-linter@v3
uses: github/super-linter@v4
env:
DEFAULT_BRANCH: develop
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

@ -6,15 +6,18 @@ RUN apk add --no-cache \
build-base \
cargo \
ca-certificates \
cmake \
cyrus-sasl-dev \
git \
graphviz \
jpeg-dev \
libevent-dev \
libffi-dev \
libressl-dev \
libxslt-dev \
make \
musl-dev \
openldap-dev \
openssl-dev \
postgresql-dev \
py3-pip \
python3-dev \
@ -24,6 +27,20 @@ RUN apk add --no-cache \
setuptools \
wheel
# Build libcrc32c for google-crc32c python module
RUN git clone https://github.com/google/crc32c \
&& cd crc32c \
&& git submodule update --init --recursive \
&& mkdir build \
&& cd build \
&& cmake \
-DCMAKE_BUILD_TYPE=Release \
-DCRC32C_BUILD_TESTS=no \
-DCRC32C_BUILD_BENCHMARKS=no \
-DBUILD_SHARED_LIBS=yes \
.. \
&& make all install
ARG NETBOX_PATH
COPY ${NETBOX_PATH}/requirements.txt requirements-container.txt /
RUN /opt/netbox/venv/bin/pip install \
@ -45,17 +62,19 @@ RUN apk add --no-cache \
libevent \
libffi \
libjpeg-turbo \
libressl \
openssl \
libxslt \
postgresql-libs \
python3 \
py3-pip \
ttf-ubuntu-font-family \
unit \
unit-python3
WORKDIR /opt
COPY --from=builder /usr/local/lib/libcrc32c.* /usr/local/lib/
COPY --from=builder /usr/local/include/crc32c /usr/local/include
COPY --from=builder /usr/local/lib/cmake/Crc32c /usr/local/lib/cmake/
COPY --from=builder /opt/netbox/venv /opt/netbox/venv
ARG NETBOX_PATH
@ -75,6 +94,8 @@ WORKDIR /opt/netbox/netbox
# to g+w so that pictures can be uploaded to netbox.
RUN mkdir -p static /opt/unit/state/ /opt/unit/tmp/ \
&& chmod -R g+w media /opt/unit/ \
&& cd /opt/netbox/ && /opt/netbox/venv/bin/python -m mkdocs build \
--config-file /opt/netbox/mkdocs.yml --site-dir /opt/netbox/netbox/project-static/docs/ \
&& SECRET_KEY="dummy" /opt/netbox/venv/bin/python /opt/netbox/netbox/manage.py collectstatic --no-input
ENTRYPOINT [ "/opt/netbox/docker-entrypoint.sh" ]

View File

@ -1 +1 @@
1.2.0
1.3.1

View File

@ -49,7 +49,7 @@ if [ "${1}x" == "x" ] || [ "${1}" == "--help" ] || [ "${1}" == "-h" ]; then
echo " DOCKERFILE The name of Dockerfile to use."
echo " Default: Dockerfile"
echo " DOCKER_FROM The base image to use."
echo " Default: 'alpine:3.13'"
echo " Default: 'alpine:3.14'"
echo " DOCKER_TARGET A specific target to build."
echo " It's currently not possible to pass multiple targets."
echo " Default: main ldap"
@ -125,7 +125,7 @@ if [ "${2}" != "--push-only" ] && [ -z "${SKIP_GIT}" ]; then
(
$DRY cd "${NETBOX_PATH}"
# shellcheck disable=SC2030
if [ -n "${HTTP_PROXY}" ]; then
git config http.proxy "${HTTP_PROXY}"
fi
@ -157,7 +157,7 @@ fi
# Determining the value for DOCKER_FROM
###
if [ -z "$DOCKER_FROM" ]; then
DOCKER_FROM="alpine:3.13"
DOCKER_FROM="alpine:3.14"
fi
###
@ -345,6 +345,7 @@ for DOCKER_TARGET in "${DOCKER_TARGETS[@]}"; do
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}")

View File

@ -48,6 +48,8 @@ DATABASE = {
# Database connection SSLMODE
'CONN_MAX_AGE': int(environ.get('DB_CONN_MAX_AGE', '300')),
# Max database connection age
'DISABLE_SERVER_SIDE_CURSORS': environ.get('DB_DISABLE_SERVER_SIDE_CURSORS', 'False').lower() == 'true',
# 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
@ -106,9 +108,6 @@ BANNER_LOGIN = environ.get('BANNER_LOGIN', '')
# BASE_PATH = 'netbox/'
BASE_PATH = environ.get('BASE_PATH', '')
# Cache timeout in seconds. Set to 0 to dissable caching. Defaults to 900 (15 minutes)
CACHE_TIMEOUT = int(environ.get('CACHE_TIMEOUT', 900))
# Maximum number of days to retain logged changes. Set to 0 to retain changes indefinitely. (Default: 90)
CHANGELOG_RETENTION = int(environ.get('CHANGELOG_RETENTION', 90))
@ -210,9 +209,6 @@ REMOTE_AUTH_HEADER = environ.get('REMOTE_AUTH_HEADER', 'HTTP_REMOTE_USER')
REMOTE_AUTH_AUTO_CREATE_USER = environ.get('REMOTE_AUTH_AUTO_CREATE_USER', 'True').lower() == 'true'
REMOTE_AUTH_DEFAULT_GROUPS = list(filter(None, environ.get('REMOTE_AUTH_DEFAULT_GROUPS', '').split(' ')))
# This determines how often the GitHub API is called to check the latest release of NetBox. Must be at least 1 hour.
RELEASE_CHECK_TIMEOUT = int(environ.get('RELEASE_CHECK_TIMEOUT', 24 * 3600))
# 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.
# https://api.github.com/repos/netbox-community/netbox/releases

View File

@ -20,7 +20,7 @@ services:
ports:
- 8080
postgres:
image: postgres:12-alpine
image: postgres:13-alpine
env_file: env/postgres.env
redis:
image: redis:6-alpine

View File

@ -1,7 +1,7 @@
version: '3.4'
services:
netbox: &netbox
image: netboxcommunity/netbox:${VERSION-latest}
image: netboxcommunity/netbox:${VERSION-v3.0}
depends_on:
- postgres
- redis
@ -25,11 +25,10 @@ services:
- /opt/netbox/netbox/manage.py
command:
- rqworker
ports: []
# postgres
postgres:
image: postgres:12-alpine
image: postgres:13-alpine
env_file: env/postgres.env
volumes:
- netbox-postgres-data:/var/lib/postgresql/data

View File

@ -15,7 +15,7 @@ source /opt/netbox/venv/bin/activate
DB_WAIT_TIMEOUT=${DB_WAIT_TIMEOUT-3}
MAX_DB_WAIT_TIME=${MAX_DB_WAIT_TIME-30}
CUR_DB_WAIT_TIME=0
while ! ./manage.py migrate 2>&1 && [ "${CUR_DB_WAIT_TIME}" -lt "${MAX_DB_WAIT_TIME}" ]; do
while ! ./manage.py showmigrations >/dev/null 2>&1 && [ "${CUR_DB_WAIT_TIME}" -lt "${MAX_DB_WAIT_TIME}" ]; do
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))
@ -24,6 +24,17 @@ 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
fi
# Create Superuser if required
if [ "$SKIP_SUPERUSER" == "true" ]; then

View File

@ -1,4 +0,0 @@
# - name: Super Secret Passwords
# slug: super-secret
# - name: SNMP Communities
# slug: snmp

View File

@ -20,6 +20,7 @@
# status: active
# facility: Amsterdam 3
# asn: 67890
# tenant: tenant1
# custom_field_data:
# text_field: Description for AMS3
# - name: SING 1
@ -28,5 +29,6 @@
# status: active
# facility: Singapore 1
# asn: 09876
# tenant: tenant2
# custom_field_data:
# text_field: Description for SING1

View File

@ -1,6 +1,7 @@
{
"extends": [
"config:base"
"config:base",
":disableDependencyDashboard"
],
"enabled": true,
"labels": ["maintenance"],

View File

@ -1,4 +1,5 @@
napalm==3.2.0
ruamel.yaml==0.17.4
django-auth-ldap==2.4.0
napalm==3.3.1
ruamel.yaml==0.17.16
django-auth-ldap==3.0.0
google-crc32c==1.1.4
django-storages[azure,boto3,dropbox,google,libcloud,sftp]==1.11.1

View File

@ -1,15 +0,0 @@
import sys
from secrets.models import SecretRole
from startup_script_utils import load_yaml
secret_roles = load_yaml("/opt/netbox/initializers/secret_roles.yml")
if secret_roles is None:
sys.exit()
for params in secret_roles:
secret_role, created = SecretRole.objects.get_or_create(**params)
if created:
print("🔑 Created Secret Role", secret_role.name)