feat: add nzbget module/role

- add nzbget module
- add nzbget ldap user/group
This commit is contained in:
2024-07-09 22:21:22 +10:00
parent 4b8a9825c0
commit d67eba5860
10 changed files with 1850 additions and 0 deletions
+6
View File
@@ -0,0 +1,6 @@
class nzbget::config (
$user = $nzbget::params::user,
$group = $nzbget::params::group,
) {
# todo
}
+18
View File
@@ -0,0 +1,18 @@
# manage nzbget
class nzbget (
$packages = $nzbget::params::packages,
$user = $nzbget::params::user,
$group = $nzbget::params::group,
$manage_group = $nzbget::params::manage_group,
$service_enable = $nzbget::params::service_enable,
$service_name = $nzbget::params::service_name,
$bind_address = $sonarr::params::bind_address,
$port = $sonarr::params::port,
) inherits nzbget::params {
include nzbget::install
include nzbget::config
include nzbget::service
Class['nzbget::install'] -> Class['nzbget::config'] -> Class['nzbget::service']
}
+29
View File
@@ -0,0 +1,29 @@
# instsall nzbget
class nzbget::install (
$packages = $nzbget::packages,
$user = $nzbget::user,
$group = $nzbget::group,
$manage_group = $nzbget::manage_group,
) {
$_packages = $packages ? {
Array => true,
default => false,
}
if $_packages {
ensure_packages($packages, {ensure => 'installed'})
}
if $manage_group {
group { $group:
ensure => present,
}
}
user { $user:
ensure => present,
shell => '/sbin/nologin',
groups => $group,
}
}
+11
View File
@@ -0,0 +1,11 @@
# nzbget params
class nzbget::params (
Array[String] $packages = [
'nzbget'
],
String $user = 'nzbget',
String $group = 'nzbget',
String $manage_group = true,
Stdlib::Host $bind_address = '127.0.0.1',
Stdlib::Port $port = 6789,
) { }
+17
View File
@@ -0,0 +1,17 @@
# manage nzbget service
class nzbget::service (
$service_enable = $nzbget::service_enable,
$service_name = $nzbget::service_name,
$user = $nzbget::user,
$group = $nzbget::group,
) {
if $service_enable {
include ::systemd
systemd::unit_file { "${service_name}.service":
content => template('nzbget/nzbget.service.erb'),
enable => true,
active => true,
}
}
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,17 @@
[Unit]
Description=<%= @service_name %> Daemon
Documentation=http://nzbget.com/documentation/
After=network.target
[Service]
Type=simple
User=<%= @user %>
Group=<%= @group %>
WorkingDirectory=/var/lib/nzbget
ExecStart=/usr/bin/nzbget -s -c /var/lib/nzbget/nzbget.conf -o OutputMode=log -o WriteLog=none
ExecReload=/usr/bin/nzbget -O -c /var/lib/nzbget/nzbget.conf
ExecStop=/usr/bin/nzbget -Q -c /var/lib/nzbget/nzbget.conf
Restart=on-failure
[Install]
WantedBy=multi-user.target