Skip to content

Commit 121c3f8

Browse files
committed
Merge branch 'eemil-develop' into develop
2 parents df3ab69 + 9287995 commit 121c3f8

File tree

3 files changed

+20
-24
lines changed

3 files changed

+20
-24
lines changed

configuration/configuration.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@
66
# Based on https://github.com/netbox-community/netbox/blob/develop/netbox/netbox/configuration.example.py
77

88
# Read secret from file
9-
def read_secret(secret_name):
9+
def read_secret(secret_name, default=None):
1010
try:
1111
f = open('/run/secrets/' + secret_name, 'r', encoding='utf-8')
1212
except EnvironmentError:
13-
return ''
13+
return default
1414
else:
1515
with f:
1616
return f.readline().strip()
@@ -33,7 +33,7 @@ def read_secret(secret_name):
3333
DATABASE = {
3434
'NAME': os.environ.get('DB_NAME', 'netbox'), # Database name
3535
'USER': os.environ.get('DB_USER', ''), # PostgreSQL username
36-
'PASSWORD': os.environ.get('DB_PASSWORD', read_secret('db_password')),
36+
'PASSWORD': read_secret('db_password', os.environ.get('DB_PASSWORD', '')),
3737
# PostgreSQL password
3838
'HOST': os.environ.get('DB_HOST', 'localhost'), # Database server
3939
'PORT': os.environ.get('DB_PORT', ''), # Database port (leave blank for default)
@@ -47,30 +47,30 @@ def read_secret(secret_name):
4747
# For optimal security, SECRET_KEY should be at least 50 characters in length and contain a mix of letters, numbers, and
4848
# symbols. NetBox will not run without this defined. For more information, see
4949
# https://docs.djangoproject.com/en/dev/ref/settings/#std:setting-SECRET_KEY
50-
SECRET_KEY = os.environ.get('SECRET_KEY', read_secret('secret_key'))
50+
SECRET_KEY = read_secret('secret_key', os.environ.get('SECRET_KEY', ''))
5151

5252
# Redis database settings. The Redis database is used for caching and background processing such as webhooks
5353
REDIS = {
5454
'tasks': {
5555
'HOST': os.environ.get('REDIS_HOST', 'localhost'),
5656
'PORT': int(os.environ.get('REDIS_PORT', 6379)),
57-
'PASSWORD': os.environ.get('REDIS_PASSWORD', read_secret('redis_password')),
57+
'PASSWORD': read_secret('redis_password', os.environ.get('REDIS_PASSWORD', ''),
5858
'DATABASE': int(os.environ.get('REDIS_DATABASE', 0)),
5959
'DEFAULT_TIMEOUT': int(os.environ.get('REDIS_TIMEOUT', 300)),
6060
'SSL': os.environ.get('REDIS_SSL', 'False').lower() == 'true',
6161
},
6262
'webhooks': { # legacy setting, can be removed after Netbox seizes support for it
6363
'HOST': os.environ.get('REDIS_HOST', 'localhost'),
6464
'PORT': int(os.environ.get('REDIS_PORT', 6379)),
65-
'PASSWORD': os.environ.get('REDIS_PASSWORD', read_secret('redis_password')),
65+
'PASSWORD': read_secret('redis_password', os.environ.get('REDIS_PASSWORD', ''),
6666
'DATABASE': int(os.environ.get('REDIS_DATABASE', 0)),
6767
'DEFAULT_TIMEOUT': int(os.environ.get('REDIS_TIMEOUT', 300)),
6868
'SSL': os.environ.get('REDIS_SSL', 'False').lower() == 'true',
6969
},
7070
'caching': {
7171
'HOST': os.environ.get('REDIS_CACHE_HOST', os.environ.get('REDIS_HOST', 'localhost')),
7272
'PORT': int(os.environ.get('REDIS_CACHE_PORT', os.environ.get('REDIS_PORT', 6379))),
73-
'PASSWORD': os.environ.get('REDIS_CACHE_PASSWORD', os.environ.get('REDIS_PASSWORD', read_secret('redis_cache_password'))),
73+
'PASSWORD': read_secret('redis_cache_password', os.environ.get('REDIS_CACHE_PASSWORD', read_secret('redis_password', os.environ.get('REDIS_PASSWORD', '')))),
7474
'DATABASE': int(os.environ.get('REDIS_CACHE_DATABASE', 1)),
7575
'DEFAULT_TIMEOUT': int(os.environ.get('REDIS_CACHE_TIMEOUT', os.environ.get('REDIS_TIMEOUT', 300))),
7676
'SSL': os.environ.get('REDIS_CACHE_SSL', os.environ.get('REDIS_SSL', 'False')).lower() == 'true',
@@ -124,7 +124,7 @@ def read_secret(secret_name):
124124
'SERVER': os.environ.get('EMAIL_SERVER', 'localhost'),
125125
'PORT': int(os.environ.get('EMAIL_PORT', 25)),
126126
'USERNAME': os.environ.get('EMAIL_USERNAME', ''),
127-
'PASSWORD': os.environ.get('EMAIL_PASSWORD', read_secret('email_password')),
127+
'PASSWORD': read_secret('email_password', os.environ.get('EMAIL_PASSWORD', '')),
128128
'TIMEOUT': int(os.environ.get('EMAIL_TIMEOUT', 10)), # seconds
129129
'FROM_EMAIL': os.environ.get('EMAIL_FROM', ''),
130130
'USE_SSL': os.environ.get('EMAIL_USE_SSL', 'False').lower() == 'true',
@@ -171,7 +171,7 @@ def read_secret(secret_name):
171171

172172
# Credentials that NetBox will use to access live devices.
173173
NAPALM_USERNAME = os.environ.get('NAPALM_USERNAME', '')
174-
NAPALM_PASSWORD = os.environ.get('NAPALM_PASSWORD', read_secret('napalm_password'))
174+
NAPALM_PASSWORD = read_secret('napalm_password', os.environ.get('NAPALM_PASSWORD', ''))
175175

176176
# NAPALM timeout (in seconds). (Default: 30)
177177
NAPALM_TIMEOUT = int(os.environ.get('NAPALM_TIMEOUT', 30))

configuration/ldap_config.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@
55
from importlib import import_module
66

77
# Read secret from file
8-
def read_secret(secret_name):
8+
def read_secret(secret_name, default=''):
99
try:
1010
f = open('/run/secrets/' + secret_name, 'r', encoding='utf-8')
1111
except EnvironmentError:
12-
return ''
12+
return default
1313
else:
1414
with f:
1515
return f.readline().strip()
@@ -32,7 +32,7 @@ def import_group_type(group_type_name):
3232

3333
# Set the DN and password for the NetBox service account.
3434
AUTH_LDAP_BIND_DN = os.environ.get('AUTH_LDAP_BIND_DN', '')
35-
AUTH_LDAP_BIND_PASSWORD = os.environ.get('AUTH_LDAP_BIND_PASSWORD', read_secret('auth_ldap_bind_password'))
35+
AUTH_LDAP_BIND_PASSWORD = read_secret('auth_ldap_bind_password', os.environ.get('AUTH_LDAP_BIND_PASSWORD', ''))
3636

3737
# Set a string template that describes any user’s distinguished name based on the username.
3838
AUTH_LDAP_USER_DN_TEMPLATE = os.environ.get('AUTH_LDAP_USER_DN_TEMPLATE', None)

docker/docker-entrypoint.sh

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -31,19 +31,15 @@ else
3131
if [ -z ${SUPERUSER_EMAIL+x} ]; then
3232
SUPERUSER_EMAIL='admin@example.com'
3333
fi
34-
if [ -z ${SUPERUSER_PASSWORD+x} ]; then
35-
if [ -f "/run/secrets/superuser_password" ]; then
36-
SUPERUSER_PASSWORD="$(< /run/secrets/superuser_password)"
37-
else
38-
SUPERUSER_PASSWORD='admin'
39-
fi
34+
if [ -f "/run/secrets/superuser_password" ]; then
35+
SUPERUSER_PASSWORD="$(< /run/secrets/superuser_password)"
36+
elif [ -z ${SUPERUSER_PASSWORD+x} ]; then
37+
SUPERUSER_PASSWORD='admin'
4038
fi
41-
if [ -z ${SUPERUSER_API_TOKEN+x} ]; then
42-
if [ -f "/run/secrets/superuser_api_token" ]; then
43-
SUPERUSER_API_TOKEN="$(< /run/secrets/superuser_api_token)"
44-
else
45-
SUPERUSER_API_TOKEN='0123456789abcdef0123456789abcdef01234567'
46-
fi
39+
if [ -f "/run/secrets/superuser_api_token" ]; then
40+
SUPERUSER_API_TOKEN="$(< /run/secrets/superuser_api_token)"
41+
elif [ -z ${SUPERUSER_API_TOKEN+x} ]; then
42+
SUPERUSER_API_TOKEN='0123456789abcdef0123456789abcdef01234567'
4743
fi
4844

4945
./manage.py shell --interface python << END

0 commit comments

Comments
 (0)