From 6484b84ef12506ba0123a805d7e84456e43f5d56 Mon Sep 17 00:00:00 2001 From: Jeremy Parker Date: Wed, 17 Feb 2021 14:17:09 +1100 Subject: [PATCH] add session_file_path parameter --- REFERENCE.md | 9 +++++++++ manifests/config.pp | 6 ++++++ manifests/init.pp | 6 ++++++ spec/classes/config_spec.rb | 1 + templates/configuration.py.epp | 5 +++++ 5 files changed, 27 insertions(+) diff --git a/REFERENCE.md b/REFERENCE.md index 52c4284..83f9a90 100644 --- a/REFERENCE.md +++ b/REFERENCE.md @@ -396,6 +396,15 @@ prefer IPv4 instead. Default value: `false` +##### `session_file_path` + +Data type: `String` + +By default, NetBox will store session data in the database. Alternatively, a file path can be specified here to use +local file storage instead. + +Default value: '' + ##### `exempt_view_permissions` Data type: `Array` diff --git a/manifests/config.pp b/manifests/config.pp index e9ce50e..9ba16d9 100644 --- a/manifests/config.pp +++ b/manifests/config.pp @@ -91,6 +91,10 @@ # When determining the primary IP address for a device, IPv6 is preferred over IPv4 by default. Set this to True to # prefer IPv4 instead. # +# @param session_file_path +# By default, NetBox will store session data in the database. Alternatively, a file path can be specified here to use +# local file storage instead +# # @param exempt_view_permissions # 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 `.`. Add '*' to this list to exempt all models. @@ -158,6 +162,7 @@ Boolean $login_required, Boolean $metrics_enabled, Boolean $prefer_ipv4, + String $session_file_path, Array $exempt_view_permissions, String $napalm_username, String $napalm_password, @@ -216,6 +221,7 @@ 'login_required' => $login_required, 'metrics_enabled' => $metrics_enabled, 'prefer_ipv4' => $prefer_ipv4, + 'session_file_path' => $session_file_path, 'napalm_username' => $napalm_username, 'napalm_password' => $napalm_password, 'napalm_timeout' => $napalm_timeout, diff --git a/manifests/init.pp b/manifests/init.pp index 633c5c7..24fd881 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -172,6 +172,10 @@ # When determining the primary IP address for a device, IPv6 is preferred over IPv4 by default. Set this to True to # prefer IPv4 instead. # +# @param session_file_path +# By default, NetBox will store session data in the database. Alternatively, a file path can be specified here to use +# local file storage instead +# # @param exempt_view_permissions # 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 `.`. Add '*' to this list to exempt all models. @@ -260,6 +264,7 @@ Boolean $login_required = false, Boolean $metrics_enabled = false, Boolean $prefer_ipv4 = false, + String $session_file_path = '', Array $exempt_view_permissions = [], String $napalm_username = '', String $napalm_password = '', @@ -370,6 +375,7 @@ login_required => $login_required, metrics_enabled => $metrics_enabled, prefer_ipv4 => $prefer_ipv4, + session_file_path => $session_file_path, exempt_view_permissions => $exempt_view_permissions, napalm_username => $napalm_username, napalm_password => $napalm_password, diff --git a/spec/classes/config_spec.rb b/spec/classes/config_spec.rb index 6b08efd..9d74b02 100644 --- a/spec/classes/config_spec.rb +++ b/spec/classes/config_spec.rb @@ -70,6 +70,7 @@ login_required: false, metrics_enabled: false, prefer_ipv4: false, + session_file_path: '', exempt_view_permissions: [], napalm_username: 'some_username', napalm_password: 'some_secret_password', diff --git a/templates/configuration.py.epp b/templates/configuration.py.epp index dbf3c47..7389867 100644 --- a/templates/configuration.py.epp +++ b/templates/configuration.py.epp @@ -19,6 +19,7 @@ Boolean $login_required, Boolean $metrics_enabled, Boolean $prefer_ipv4, + String $session_file_path, Array $exempt_view_permissions, String $napalm_username, String $napalm_password, @@ -244,7 +245,11 @@ PREFER_IPV4 = False # 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. +<% if $session_file_path { -%> +SESSION_FILE_PATH = '<%= $session_file_path %>' +<% }else { -%> SESSION_FILE_PATH = None +<% } -%> # Time zone (default: UTC) TIME_ZONE = '<%= $time_zone %>'