__netbox: added some netbox configuration options
Those who might be useful are added ..
This commit is contained in:
parent
a05cb214e1
commit
e6e6dbcd00
15 changed files with 200 additions and 20 deletions
|
@ -29,26 +29,26 @@ DATABASE = {
|
||||||
# to use two separate database IDs.
|
# to use two separate database IDs.
|
||||||
REDIS = {
|
REDIS = {
|
||||||
'tasks': {
|
'tasks': {
|
||||||
'HOST': 'localhost',
|
'HOST': '$REDIS_HOST',
|
||||||
'PORT': 6379,
|
'PORT': $REDIS_PORT,
|
||||||
# Comment out \`HOST\` and \`PORT\` lines and uncomment the following if using Redis Sentinel
|
# Comment out \`HOST\` and \`PORT\` lines and uncomment the following if using Redis Sentinel
|
||||||
# 'SENTINELS': [('mysentinel.redis.example.com', 6379)],
|
# 'SENTINELS': [('mysentinel.redis.example.com', 6379)],
|
||||||
# 'SENTINEL_SERVICE': 'netbox',
|
# 'SENTINEL_SERVICE': 'netbox',
|
||||||
'PASSWORD': '',
|
'PASSWORD': '$REDIS_PASSWORD',
|
||||||
'DATABASE': 0,
|
'DATABASE': $((REDIS_DBID_OFFSET + 0)),
|
||||||
'DEFAULT_TIMEOUT': 300,
|
'DEFAULT_TIMEOUT': 300,
|
||||||
'SSL': False,
|
'SSL': $REDIS_SSL,
|
||||||
},
|
},
|
||||||
'caching': {
|
'caching': {
|
||||||
'HOST': 'localhost',
|
'HOST': '$REDIS_HOST',
|
||||||
'PORT': 6379,
|
'PORT': $REDIS_PORT,
|
||||||
# Comment out \`HOST\` and \`PORT\` lines and uncomment the following if using Redis Sentinel
|
# Comment out \`HOST\` and \`PORT\` lines and uncomment the following if using Redis Sentinel
|
||||||
# 'SENTINELS': [('mysentinel.redis.example.com', 6379)],
|
# 'SENTINELS': [('mysentinel.redis.example.com', 6379)],
|
||||||
# 'SENTINEL_SERVICE': 'netbox',
|
# 'SENTINEL_SERVICE': 'netbox',
|
||||||
'PASSWORD': '',
|
'PASSWORD': '$REDIS_PASSWORD',
|
||||||
'DATABASE': 1,
|
'DATABASE': $((REDIS_DBID_OFFSET + 1)),
|
||||||
'DEFAULT_TIMEOUT': 300,
|
'DEFAULT_TIMEOUT': 300,
|
||||||
'SSL': False,
|
'SSL': $REDIS_SSL,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -86,7 +86,7 @@ BANNER_LOGIN = ''
|
||||||
|
|
||||||
# Base URL path if accessing NetBox within a directory. For example, if installed at http://example.com/netbox/, set:
|
# Base URL path if accessing NetBox within a directory. For example, if installed at http://example.com/netbox/, set:
|
||||||
# BASE_PATH = 'netbox/'
|
# BASE_PATH = 'netbox/'
|
||||||
BASE_PATH = ''
|
BASE_PATH = '$BASEPATH'
|
||||||
|
|
||||||
# Cache timeout in seconds. Set to 0 to dissable caching. Defaults to 900 (15 minutes)
|
# Cache timeout in seconds. Set to 0 to dissable caching. Defaults to 900 (15 minutes)
|
||||||
CACHE_TIMEOUT = 900
|
CACHE_TIMEOUT = 900
|
||||||
|
@ -112,14 +112,14 @@ DEBUG = False
|
||||||
|
|
||||||
# Email settings
|
# Email settings
|
||||||
EMAIL = {
|
EMAIL = {
|
||||||
'SERVER': 'localhost',
|
'SERVER': '$SMTP_HOST',
|
||||||
'PORT': 25,
|
'PORT': $SMTP_PORT,
|
||||||
'USERNAME': '',
|
'USERNAME': '$SMTP_USER',
|
||||||
'PASSWORD': '',
|
'PASSWORD': '$SMTP_PASSWORD',
|
||||||
'USE_SSL': False,
|
'USE_SSL': $SMTP_USE_SSL,
|
||||||
'USE_TLS': False,
|
'USE_TLS': $SMTP_USE_TLS,
|
||||||
'TIMEOUT': 10, # seconds
|
'TIMEOUT': 10, # seconds
|
||||||
'FROM_EMAIL': '',
|
'FROM_EMAIL': '$SMTP_FROM_EMAIL',
|
||||||
}
|
}
|
||||||
|
|
||||||
# Enforcement of unique IP space can be toggled on a per-VRF basis. To enforce unique IP space within the global table
|
# Enforcement of unique IP space can be toggled on a per-VRF basis. To enforce unique IP space within the global table
|
||||||
|
@ -134,12 +134,38 @@ EXEMPT_VIEW_PERMISSIONS = [
|
||||||
# 'ipam.prefix',
|
# 'ipam.prefix',
|
||||||
]
|
]
|
||||||
|
|
||||||
|
EOF
|
||||||
|
|
||||||
|
if [ "$HTTP_PROXY" != "" ] || [ "$HTTPS_PROXY" != "" ]; then
|
||||||
|
cat << EOF
|
||||||
|
# HTTP proxies NetBox should use when sending outbound HTTP requests (e.g. for webhooks).
|
||||||
|
HTTP_PROXIES = {
|
||||||
|
EOF
|
||||||
|
if [ "$HTTP_PROXY" != "" ]; then
|
||||||
|
cat << EOF
|
||||||
|
'http': '$HTTP_PROXY',
|
||||||
|
EOF
|
||||||
|
fi
|
||||||
|
if [ "$HTTPS_PROXY" != "" ]; then
|
||||||
|
cat << EOF
|
||||||
|
'https': '$HTTPS_PROXY',
|
||||||
|
EOF
|
||||||
|
fi
|
||||||
|
cat << EOF
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
|
||||||
|
else
|
||||||
|
cat << EOF
|
||||||
# HTTP proxies NetBox should use when sending outbound HTTP requests (e.g. for webhooks).
|
# HTTP proxies NetBox should use when sending outbound HTTP requests (e.g. for webhooks).
|
||||||
# HTTP_PROXIES = {
|
# HTTP_PROXIES = {
|
||||||
# 'http': 'http://10.10.1.10:3128',
|
# 'http': 'http://10.10.1.10:3128',
|
||||||
# 'https': 'http://10.10.1.10:1080',
|
# 'https': 'http://10.10.1.10:1080',
|
||||||
# }
|
# }
|
||||||
|
EOF
|
||||||
|
fi
|
||||||
|
|
||||||
|
cat << EOF
|
||||||
# IP addresses recognized as internal to the system. The debugging toolbar will be available only to clients accessing
|
# IP addresses recognized as internal to the system. The debugging toolbar will be available only to clients accessing
|
||||||
# NetBox from an internal IP.
|
# NetBox from an internal IP.
|
||||||
INTERNAL_IPS = ('127.0.0.1', '::1')
|
INTERNAL_IPS = ('127.0.0.1', '::1')
|
||||||
|
@ -150,7 +176,7 @@ LOGGING = {}
|
||||||
|
|
||||||
# Setting this to True will permit only authenticated users to access any part of NetBox. By default, anonymous users
|
# 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.
|
# are permitted to access most data in NetBox (excluding secrets) but not make any changes.
|
||||||
LOGIN_REQUIRED = False
|
LOGIN_REQUIRED = $LOGIN_REQUIRED
|
||||||
|
|
||||||
# The length of time (in seconds) for which a user will remain logged into the web UI before being prompted to
|
# The length of time (in seconds) for which a user will remain logged into the web UI before being prompted to
|
||||||
# re-authenticate. (Default: 1209600 [14 days])
|
# re-authenticate. (Default: 1209600 [14 days])
|
||||||
|
|
|
@ -58,9 +58,62 @@ ldap-require-group
|
||||||
ldap-superuser-group
|
ldap-superuser-group
|
||||||
Make members of this groups superusers.
|
Make members of this groups superusers.
|
||||||
|
|
||||||
|
redis-host
|
||||||
|
Redis database hostname. Defaults to ``localhost``.
|
||||||
|
|
||||||
|
redis-port
|
||||||
|
Redis database port. Defaults to ``6379``.
|
||||||
|
|
||||||
|
redis-password
|
||||||
|
Redis password. Defaults to empty password.
|
||||||
|
|
||||||
|
redis-dbid-offset
|
||||||
|
Offset to set the redis database id's. The `tasks` database id is `offset + 0`
|
||||||
|
and `caching` is `offset + 1`. The offset defaults to ``0``.
|
||||||
|
|
||||||
|
smtp-host
|
||||||
|
Host of the SMTP email server. Defaults to ``localhost``.
|
||||||
|
|
||||||
|
smtp-port
|
||||||
|
Port of the SMTP email server. Defaults to ``25``.
|
||||||
|
|
||||||
|
smtp-user
|
||||||
|
Username to access the SMTP email server. Defaults to empty.
|
||||||
|
|
||||||
|
smtp-password
|
||||||
|
Password to access the SMTP email server. Defaults to empty.
|
||||||
|
|
||||||
|
smtp-from-email
|
||||||
|
Email from which NetBox will be sent of. Defaults to empty.
|
||||||
|
|
||||||
|
basepath
|
||||||
|
Base URL path if accessing netbox within a directory instead of directly the
|
||||||
|
webroot ``/``. For example, if installed at https://example.com/netbox/, set
|
||||||
|
the value ``netbox/``.
|
||||||
|
|
||||||
|
http-proxy
|
||||||
|
https-proxy
|
||||||
|
Proxy which will be used with any HTTP request like webhooks.
|
||||||
|
|
||||||
BOOLEAN PARAMETERS
|
BOOLEAN PARAMETERS
|
||||||
------------------
|
------------------
|
||||||
None.
|
redis-ssl
|
||||||
|
Enables a secure TLS/SSL connection to the redis database. By default, ssl
|
||||||
|
is disabled.
|
||||||
|
|
||||||
|
smtp-use-tls
|
||||||
|
Uses TLS to connect to the SMTP email server. `See documentation
|
||||||
|
<https://docs.djangoproject.com/en/3.1/ref/settings/#email-use-tls`_
|
||||||
|
for more information.
|
||||||
|
|
||||||
|
smtp-use-ssl
|
||||||
|
Uses implicit TLS with the SMTP email server. `See documentation
|
||||||
|
<https://docs.djangoproject.com/en/3.1/ref/settings/#email-use-ssl`_
|
||||||
|
for more information.
|
||||||
|
|
||||||
|
login-required
|
||||||
|
Sets if a login is required to access all sites. By default, anounymous users
|
||||||
|
can see most data (excluding secrets) but not make any changes.
|
||||||
|
|
||||||
MESSAGES
|
MESSAGES
|
||||||
--------
|
--------
|
||||||
|
@ -91,6 +144,16 @@ EXAMPLES
|
||||||
--ldap-superuser-group "cn=netbox-admin,ou=groups,dc=domain,dc=tld"
|
--ldap-superuser-group "cn=netbox-admin,ou=groups,dc=domain,dc=tld"
|
||||||
|
|
||||||
|
|
||||||
|
NOTES
|
||||||
|
-----
|
||||||
|
The configuration of NetBox contains more optional settings than that what can
|
||||||
|
be set with this type. If you think an important setting is missing or there
|
||||||
|
is a more good way to inject python code for dynamic configuration variables,
|
||||||
|
you are welcome to contribute!
|
||||||
|
|
||||||
|
- `Possible optional settings
|
||||||
|
<https://netbox.readthedocs.io/en/stable/configuration/optional-settings/>`
|
||||||
|
|
||||||
SEE ALSO
|
SEE ALSO
|
||||||
--------
|
--------
|
||||||
- `NetBox documentation <https://netbox.readthedocs.io/en/stable/>`_
|
- `NetBox documentation <https://netbox.readthedocs.io/en/stable/>`_
|
||||||
|
|
|
@ -23,6 +23,7 @@ case "$os" in
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
|
||||||
DATABASE_NAME=$(cat "$__object/parameter/database")
|
DATABASE_NAME=$(cat "$__object/parameter/database")
|
||||||
export DATABASE_NAME
|
export DATABASE_NAME
|
||||||
DATABASE_PASSWORD=$(cat "$__object/parameter/database-password")
|
DATABASE_PASSWORD=$(cat "$__object/parameter/database-password")
|
||||||
|
@ -67,6 +68,70 @@ if [ -f "$__object/parameter/ldap-superuser-group" ]; then
|
||||||
export LDAP_SUPERUSER_GROUP
|
export LDAP_SUPERUSER_GROUP
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# have default values
|
||||||
|
REDIS_HOST="$(cat "$__object/parameter/redis-host")"
|
||||||
|
export REDIS_HOST
|
||||||
|
REDIS_PORT="$(cat "$__object/parameter/redis-port")"
|
||||||
|
export REDIS_PORT
|
||||||
|
REDIS_PASSWORD="$(cat "$__object/parameter/redis-password")"
|
||||||
|
export REDIS_PASSWORD
|
||||||
|
REDIS_DBID_OFFSET="$(cat "$__object/parameter/redis-dbid-offset")"
|
||||||
|
export REDIS_DBID_OFFSET
|
||||||
|
if [ -f "$__object/parameter/redis-ssl" ]; then
|
||||||
|
REDIS_SSL="True"
|
||||||
|
else
|
||||||
|
REDIS_SSL="False"
|
||||||
|
fi
|
||||||
|
export REDIS_SSL
|
||||||
|
|
||||||
|
SMTP_HOST="$(cat "$__object/parameter/smtp-host")"
|
||||||
|
export SMTP_HOST
|
||||||
|
SMTP_PORT="$(cat "$__object/parameter/smtp-port")"
|
||||||
|
export SMTP_PORT
|
||||||
|
SMTP_USER="$(cat "$__object/parameter/smtp-user")"
|
||||||
|
export SMTP_USER
|
||||||
|
SMTP_PASSWORD="$(cat "$__object/parameter/smtp-password")"
|
||||||
|
export SMTP_PASSWORD
|
||||||
|
SMTP_FROM_EMAIL="$(cat "$__object/parameter/smtp-from-email")"
|
||||||
|
export SMTP_FROM_EMAIL
|
||||||
|
|
||||||
|
if [ -f "$__object/parameter/smtp-use-ssl" ]; then
|
||||||
|
SMTP_USE_SSL="True"
|
||||||
|
else
|
||||||
|
SMTP_USE_SSL="False"
|
||||||
|
fi
|
||||||
|
export SMTP_USE_SSL
|
||||||
|
if [ -f "$__object/parameter/smtp-use-tls" ]; then
|
||||||
|
if [ "$SMTP_USE_SSL" = "True" ]; then
|
||||||
|
echo "options --smtp-use-ssl and --smtp-use-tls are not compatible"
|
||||||
|
exit 2
|
||||||
|
fi
|
||||||
|
SMTP_USE_TLS="True"
|
||||||
|
else
|
||||||
|
SMTP_USE_TLS="False"
|
||||||
|
fi
|
||||||
|
export SMTP_USE_TLS
|
||||||
|
|
||||||
|
BASEPATH="$(cat "$__object/parameter/basepath")"
|
||||||
|
export BASEPATH
|
||||||
|
|
||||||
|
if [ -f "$__object/parameter/http-proxy" ]; then
|
||||||
|
HTTP_PROXY=$(cat "$__object/parameter/http-proxy")
|
||||||
|
export HTTP_PROXY
|
||||||
|
fi
|
||||||
|
if [ -f "$__object/parameter/https-proxy" ]; then
|
||||||
|
HTTPS_PROXY=$(cat "$__object/parameter/https-proxy")
|
||||||
|
export HTTPS_PROXY
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -f "$__object/parameter/login-required" ]; then
|
||||||
|
LOGIN_REQUIRED="True"
|
||||||
|
else
|
||||||
|
LOGIN_REQUIRED="False"
|
||||||
|
fi
|
||||||
|
export LOGIN_REQUIRED
|
||||||
|
|
||||||
|
|
||||||
# Create system user used to run netbox.
|
# Create system user used to run netbox.
|
||||||
__user netbox --system --home /opt/netbox --create-home
|
__user netbox --system --home /opt/netbox --create-home
|
||||||
|
|
||||||
|
|
4
type/__netbox/parameter/boolean
Normal file
4
type/__netbox/parameter/boolean
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
redis-ssl
|
||||||
|
smtp-use-ssl
|
||||||
|
smtp-use-tls
|
||||||
|
login-required
|
1
type/__netbox/parameter/default/basepath
Normal file
1
type/__netbox/parameter/default/basepath
Normal file
|
@ -0,0 +1 @@
|
||||||
|
|
1
type/__netbox/parameter/default/redis-dbid-offset
Normal file
1
type/__netbox/parameter/default/redis-dbid-offset
Normal file
|
@ -0,0 +1 @@
|
||||||
|
0
|
1
type/__netbox/parameter/default/redis-host
Normal file
1
type/__netbox/parameter/default/redis-host
Normal file
|
@ -0,0 +1 @@
|
||||||
|
localhost
|
1
type/__netbox/parameter/default/redis-password
Normal file
1
type/__netbox/parameter/default/redis-password
Normal file
|
@ -0,0 +1 @@
|
||||||
|
|
1
type/__netbox/parameter/default/redis-port
Normal file
1
type/__netbox/parameter/default/redis-port
Normal file
|
@ -0,0 +1 @@
|
||||||
|
6379
|
1
type/__netbox/parameter/default/smtp-from-email
Normal file
1
type/__netbox/parameter/default/smtp-from-email
Normal file
|
@ -0,0 +1 @@
|
||||||
|
|
1
type/__netbox/parameter/default/smtp-host
Normal file
1
type/__netbox/parameter/default/smtp-host
Normal file
|
@ -0,0 +1 @@
|
||||||
|
localhost
|
1
type/__netbox/parameter/default/smtp-password
Normal file
1
type/__netbox/parameter/default/smtp-password
Normal file
|
@ -0,0 +1 @@
|
||||||
|
|
1
type/__netbox/parameter/default/smtp-port
Normal file
1
type/__netbox/parameter/default/smtp-port
Normal file
|
@ -0,0 +1 @@
|
||||||
|
25
|
1
type/__netbox/parameter/default/smtp-user
Normal file
1
type/__netbox/parameter/default/smtp-user
Normal file
|
@ -0,0 +1 @@
|
||||||
|
|
|
@ -5,3 +5,15 @@ ldap-user-base
|
||||||
ldap-group-base
|
ldap-group-base
|
||||||
ldap-require-group
|
ldap-require-group
|
||||||
ldap-superuser-group
|
ldap-superuser-group
|
||||||
|
redis-host
|
||||||
|
redis-port
|
||||||
|
redis-password
|
||||||
|
redis-dbid-offset
|
||||||
|
smtp-host
|
||||||
|
smtp-port
|
||||||
|
smtp-user
|
||||||
|
smtp-password
|
||||||
|
smtp-from-email
|
||||||
|
basepath
|
||||||
|
http-proxy
|
||||||
|
https-proxy
|
||||||
|
|
Loading…
Reference in a new issue