diff --git a/type/__netbox/files/configuration.py.sh b/type/__netbox/files/configuration.py.sh
index b7e1597..e621845 100755
--- a/type/__netbox/files/configuration.py.sh
+++ b/type/__netbox/files/configuration.py.sh
@@ -29,26 +29,26 @@ DATABASE = {
# to use two separate database IDs.
REDIS = {
'tasks': {
- 'HOST': 'localhost',
- 'PORT': 6379,
+ 'HOST': '$REDIS_HOST',
+ 'PORT': $REDIS_PORT,
# Comment out \`HOST\` and \`PORT\` lines and uncomment the following if using Redis Sentinel
# 'SENTINELS': [('mysentinel.redis.example.com', 6379)],
# 'SENTINEL_SERVICE': 'netbox',
- 'PASSWORD': '',
- 'DATABASE': 0,
+ 'PASSWORD': '$REDIS_PASSWORD',
+ 'DATABASE': $((REDIS_DBID_OFFSET + 0)),
'DEFAULT_TIMEOUT': 300,
- 'SSL': False,
+ 'SSL': $REDIS_SSL,
},
'caching': {
- 'HOST': 'localhost',
- 'PORT': 6379,
+ 'HOST': '$REDIS_HOST',
+ 'PORT': $REDIS_PORT,
# Comment out \`HOST\` and \`PORT\` lines and uncomment the following if using Redis Sentinel
# 'SENTINELS': [('mysentinel.redis.example.com', 6379)],
# 'SENTINEL_SERVICE': 'netbox',
- 'PASSWORD': '',
- 'DATABASE': 1,
+ 'PASSWORD': '$REDIS_PASSWORD',
+ 'DATABASE': $((REDIS_DBID_OFFSET + 1)),
'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_PATH = 'netbox/'
-BASE_PATH = ''
+BASE_PATH = '$BASEPATH'
# Cache timeout in seconds. Set to 0 to dissable caching. Defaults to 900 (15 minutes)
CACHE_TIMEOUT = 900
@@ -112,14 +112,14 @@ DEBUG = False
# Email settings
EMAIL = {
- 'SERVER': 'localhost',
- 'PORT': 25,
- 'USERNAME': '',
- 'PASSWORD': '',
- 'USE_SSL': False,
- 'USE_TLS': False,
+ 'SERVER': '$SMTP_HOST',
+ 'PORT': $SMTP_PORT,
+ 'USERNAME': '$SMTP_USER',
+ 'PASSWORD': '$SMTP_PASSWORD',
+ 'USE_SSL': $SMTP_USE_SSL,
+ 'USE_TLS': $SMTP_USE_TLS,
'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
@@ -134,12 +134,38 @@ EXEMPT_VIEW_PERMISSIONS = [
# '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 = {
# 'http': 'http://10.10.1.10:3128',
# '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
# NetBox from an internal IP.
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
# 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
# re-authenticate. (Default: 1209600 [14 days])
diff --git a/type/__netbox/man.rst b/type/__netbox/man.rst
index e41b099..3e607b5 100644
--- a/type/__netbox/man.rst
+++ b/type/__netbox/man.rst
@@ -58,9 +58,62 @@ ldap-require-group
ldap-superuser-group
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
------------------
-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
+ `
+
SEE ALSO
--------
- `NetBox documentation `_
diff --git a/type/__netbox/manifest b/type/__netbox/manifest
index fc9192c..1f7f8ed 100755
--- a/type/__netbox/manifest
+++ b/type/__netbox/manifest
@@ -23,6 +23,7 @@ case "$os" in
;;
esac
+
DATABASE_NAME=$(cat "$__object/parameter/database")
export DATABASE_NAME
DATABASE_PASSWORD=$(cat "$__object/parameter/database-password")
@@ -67,6 +68,70 @@ if [ -f "$__object/parameter/ldap-superuser-group" ]; then
export LDAP_SUPERUSER_GROUP
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.
__user netbox --system --home /opt/netbox --create-home
diff --git a/type/__netbox/parameter/boolean b/type/__netbox/parameter/boolean
new file mode 100644
index 0000000..a94808c
--- /dev/null
+++ b/type/__netbox/parameter/boolean
@@ -0,0 +1,4 @@
+redis-ssl
+smtp-use-ssl
+smtp-use-tls
+login-required
diff --git a/type/__netbox/parameter/default/basepath b/type/__netbox/parameter/default/basepath
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/type/__netbox/parameter/default/basepath
@@ -0,0 +1 @@
+
diff --git a/type/__netbox/parameter/default/redis-dbid-offset b/type/__netbox/parameter/default/redis-dbid-offset
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/type/__netbox/parameter/default/redis-dbid-offset
@@ -0,0 +1 @@
+0
diff --git a/type/__netbox/parameter/default/redis-host b/type/__netbox/parameter/default/redis-host
new file mode 100644
index 0000000..2fbb50c
--- /dev/null
+++ b/type/__netbox/parameter/default/redis-host
@@ -0,0 +1 @@
+localhost
diff --git a/type/__netbox/parameter/default/redis-password b/type/__netbox/parameter/default/redis-password
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/type/__netbox/parameter/default/redis-password
@@ -0,0 +1 @@
+
diff --git a/type/__netbox/parameter/default/redis-port b/type/__netbox/parameter/default/redis-port
new file mode 100644
index 0000000..a8c4b8e
--- /dev/null
+++ b/type/__netbox/parameter/default/redis-port
@@ -0,0 +1 @@
+6379
diff --git a/type/__netbox/parameter/default/smtp-from-email b/type/__netbox/parameter/default/smtp-from-email
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/type/__netbox/parameter/default/smtp-from-email
@@ -0,0 +1 @@
+
diff --git a/type/__netbox/parameter/default/smtp-host b/type/__netbox/parameter/default/smtp-host
new file mode 100644
index 0000000..2fbb50c
--- /dev/null
+++ b/type/__netbox/parameter/default/smtp-host
@@ -0,0 +1 @@
+localhost
diff --git a/type/__netbox/parameter/default/smtp-password b/type/__netbox/parameter/default/smtp-password
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/type/__netbox/parameter/default/smtp-password
@@ -0,0 +1 @@
+
diff --git a/type/__netbox/parameter/default/smtp-port b/type/__netbox/parameter/default/smtp-port
new file mode 100644
index 0000000..7273c0f
--- /dev/null
+++ b/type/__netbox/parameter/default/smtp-port
@@ -0,0 +1 @@
+25
diff --git a/type/__netbox/parameter/default/smtp-user b/type/__netbox/parameter/default/smtp-user
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/type/__netbox/parameter/default/smtp-user
@@ -0,0 +1 @@
+
diff --git a/type/__netbox/parameter/optional b/type/__netbox/parameter/optional
index 290c98b..159c813 100644
--- a/type/__netbox/parameter/optional
+++ b/type/__netbox/parameter/optional
@@ -5,3 +5,15 @@ ldap-user-base
ldap-group-base
ldap-require-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