From 2b1ea45e4e0849dbe5cf4191a0e9093a12e84c52 Mon Sep 17 00:00:00 2001 From: Ben Vincent Date: Thu, 27 Jun 2024 23:03:27 +1000 Subject: [PATCH 1/3] feat: add manage_group param to *arr stack - change hieradata/role/apps/media/* to use correct namespaces - add manage_group boolean to all *arr stack modules --- hieradata/roles/apps/media/radarr.yaml | 18 +++++++++--------- hieradata/roles/apps/media/sonarr.yaml | 18 +++++++++--------- modules/lidarr/manifests/init.pp | 1 + modules/lidarr/manifests/install.pp | 7 +++++-- modules/lidarr/manifests/params.pp | 1 + modules/prowlarr/manifests/init.pp | 1 + modules/prowlarr/manifests/install.pp | 7 +++++-- modules/prowlarr/manifests/params.pp | 1 + modules/radarr/manifests/init.pp | 1 + modules/radarr/manifests/install.pp | 7 +++++-- modules/radarr/manifests/params.pp | 1 + modules/readarr/manifests/init.pp | 1 + modules/readarr/manifests/install.pp | 7 +++++-- modules/readarr/manifests/params.pp | 1 + modules/sonarr/manifests/init.pp | 1 + modules/sonarr/manifests/install.pp | 7 +++++-- modules/sonarr/manifests/params.pp | 1 + 17 files changed, 53 insertions(+), 28 deletions(-) diff --git a/hieradata/roles/apps/media/radarr.yaml b/hieradata/roles/apps/media/radarr.yaml index 1aaf845..f0f431e 100644 --- a/hieradata/roles/apps/media/radarr.yaml +++ b/hieradata/roles/apps/media/radarr.yaml @@ -4,15 +4,15 @@ hiera_include: - profiles::nginx::simpleproxy # manage radarr -radarr::params: - user: radarr - group: media - base_path: /opt/radarr - install_path: /opt/radarr/bin - archive_version: 5.7.0 - archive_name: Radarr.master.linux-core-x64.tar.gz - service_enable: true - service_name: radarr +radarr::params::user: radarr +radarr::params::group: media +radarr::params::manage_group: false +radarr::params::base_path: /opt/radarr +radarr::params::install_path: /opt/radarr/bin +radarr::params::archive_version: 5.7.0 +radarr::params::archive_name: Radarr.master.linux-core-x64.tar.gz +radarr::params::service_enable: true +radarr::params::service_name: radarr # additional altnames profiles::pki::vault::alt_names: diff --git a/hieradata/roles/apps/media/sonarr.yaml b/hieradata/roles/apps/media/sonarr.yaml index d058779..5443234 100644 --- a/hieradata/roles/apps/media/sonarr.yaml +++ b/hieradata/roles/apps/media/sonarr.yaml @@ -4,15 +4,15 @@ hiera_include: - profiles::nginx::simpleproxy # manage sonarr -sonarr::params: - user: sonarr - group: media - base_path: /opt/sonarr - install_path: /opt/sonarr/bin - archive_version: 4.0.5 - archive_name: Sonarr.main.linux-x64.tar.gz - service_enable: true - service_name: sonarr +sonarr::params::user: sonarr +sonarr::params::group: media +sonarr::params::manage_group: false +sonarr::params::base_path: /opt/sonarr +sonarr::params::install_path: /opt/sonarr/bin +sonarr::params::archive_version: 4.0.5 +sonarr::params::archive_name: Sonarr.main.linux-x64.tar.gz +sonarr::params::service_enable: true +sonarr::params::service_name: sonarr # additional altnames profiles::pki::vault::alt_names: diff --git a/modules/lidarr/manifests/init.pp b/modules/lidarr/manifests/init.pp index a97a02a..7113534 100644 --- a/modules/lidarr/manifests/init.pp +++ b/modules/lidarr/manifests/init.pp @@ -3,6 +3,7 @@ class lidarr ( $packages = $lidarr::params::packages, $user = $lidarr::params::user, $group = $lidarr::params::group, + $manage_group = $lidarr::params::manage_group, $base_path = $lidarr::params::base_path, $install_path = $lidarr::params::install_path, $config_folder = $lidarr::params::config_folder, diff --git a/modules/lidarr/manifests/install.pp b/modules/lidarr/manifests/install.pp index ae962e5..f4b00eb 100644 --- a/modules/lidarr/manifests/install.pp +++ b/modules/lidarr/manifests/install.pp @@ -3,6 +3,7 @@ class lidarr::install ( $packages = $lidarr::packages, $user = $lidarr::user, $group = $lidarr::group, + $manage_group = $lidarr::manage_group, $base_path = $lidarr::base_path, $install_path = $lidarr::install_path, $config_folder = $lidarr::config_folder, @@ -21,8 +22,10 @@ class lidarr::install ( ensure_packages($packages, {ensure => 'installed'}) } - group { $group: - ensure => present, + if $manage_group { + group { $group: + ensure => present, + } } user { $user: diff --git a/modules/lidarr/manifests/params.pp b/modules/lidarr/manifests/params.pp index d783d58..5b229a9 100644 --- a/modules/lidarr/manifests/params.pp +++ b/modules/lidarr/manifests/params.pp @@ -16,6 +16,7 @@ class lidarr::params ( ], String $user = 'lidarr', String $group = 'lidarr', + Boolean $manage_group = true, Stdlib::Absolutepath $base_path = '/opt/lidarr', Stdlib::Absolutepath $install_path = '/opt/lidarr/bin', Stdlib::Absolutepath $config_folder = '/home/lidarr/.config', diff --git a/modules/prowlarr/manifests/init.pp b/modules/prowlarr/manifests/init.pp index b85a226..e6c8665 100644 --- a/modules/prowlarr/manifests/init.pp +++ b/modules/prowlarr/manifests/init.pp @@ -3,6 +3,7 @@ class prowlarr ( $packages = $prowlarr::params::packages, $user = $prowlarr::params::user, $group = $prowlarr::params::group, + $manage_group = $prowlarr::params::manage_group, $base_path = $prowlarr::params::base_path, $install_path = $prowlarr::params::install_path, $config_folder = $prowlarr::params::config_folder, diff --git a/modules/prowlarr/manifests/install.pp b/modules/prowlarr/manifests/install.pp index ccf6d19..86dcf12 100644 --- a/modules/prowlarr/manifests/install.pp +++ b/modules/prowlarr/manifests/install.pp @@ -3,6 +3,7 @@ class prowlarr::install ( $packages = $prowlarr::packages, $user = $prowlarr::user, $group = $prowlarr::group, + $manage_group = $prowlarr::manage_group, $base_path = $prowlarr::base_path, $install_path = $prowlarr::install_path, $config_folder = $prowlarr::config_folder, @@ -21,8 +22,10 @@ class prowlarr::install ( ensure_packages($packages, {ensure => 'installed'}) } - group { $group: - ensure => present, + if $manage_group { + group { $group: + ensure => present, + } } user { $user: diff --git a/modules/prowlarr/manifests/params.pp b/modules/prowlarr/manifests/params.pp index 300f749..c5c3cf9 100644 --- a/modules/prowlarr/manifests/params.pp +++ b/modules/prowlarr/manifests/params.pp @@ -16,6 +16,7 @@ class prowlarr::params ( ], String $user = 'prowlarr', String $group = 'prowlarr', + Boolean $manage_group = true, Stdlib::Absolutepath $base_path = '/opt/prowlarr', Stdlib::Absolutepath $install_path = '/opt/prowlarr/bin', Stdlib::Absolutepath $config_folder = '/home/prowlarr/.config', diff --git a/modules/radarr/manifests/init.pp b/modules/radarr/manifests/init.pp index e245b21..7c29ee8 100644 --- a/modules/radarr/manifests/init.pp +++ b/modules/radarr/manifests/init.pp @@ -3,6 +3,7 @@ class radarr ( $packages = $radarr::params::packages, $user = $radarr::params::user, $group = $radarr::params::group, + $manage_group = $radarr::params::manage_group, $base_path = $radarr::params::base_path, $install_path = $radarr::params::install_path, $config_folder = $radarr::params::config_folder, diff --git a/modules/radarr/manifests/install.pp b/modules/radarr/manifests/install.pp index 0740085..5265229 100644 --- a/modules/radarr/manifests/install.pp +++ b/modules/radarr/manifests/install.pp @@ -3,6 +3,7 @@ class radarr::install ( $packages = $radarr::packages, $user = $radarr::user, $group = $radarr::group, + $manage_group = $radarr::manage_group, $base_path = $radarr::base_path, $install_path = $radarr::install_path, $config_folder = $radarr::config_folder, @@ -21,8 +22,10 @@ class radarr::install ( ensure_packages($packages, {ensure => 'installed'}) } - group { $group: - ensure => present, + if $manage_group { + group { $group: + ensure => present, + } } user { $user: diff --git a/modules/radarr/manifests/params.pp b/modules/radarr/manifests/params.pp index 506746c..f0cd802 100644 --- a/modules/radarr/manifests/params.pp +++ b/modules/radarr/manifests/params.pp @@ -15,6 +15,7 @@ class radarr::params ( ], String $user = 'radarr', String $group = 'radarr', + Boolean $manage_group = true, Stdlib::Absolutepath $base_path = '/opt/radarr', Stdlib::Absolutepath $install_path = '/opt/radarr/bin', Stdlib::Absolutepath $config_folder = '/home/radarr/.config', diff --git a/modules/readarr/manifests/init.pp b/modules/readarr/manifests/init.pp index e29fe10..c0b4fd1 100644 --- a/modules/readarr/manifests/init.pp +++ b/modules/readarr/manifests/init.pp @@ -3,6 +3,7 @@ class readarr ( $packages = $readarr::params::packages, $user = $readarr::params::user, $group = $readarr::params::group, + $manage_group = $readarr::params::manage_group, $base_path = $readarr::params::base_path, $install_path = $readarr::params::install_path, $config_folder = $readarr::params::config_folder, diff --git a/modules/readarr/manifests/install.pp b/modules/readarr/manifests/install.pp index 49280d1..f39adf3 100644 --- a/modules/readarr/manifests/install.pp +++ b/modules/readarr/manifests/install.pp @@ -3,6 +3,7 @@ class readarr::install ( $packages = $readarr::packages, $user = $readarr::user, $group = $readarr::group, + $manage_group = $readarr::manage_group, $base_path = $readarr::base_path, $install_path = $readarr::install_path, $config_folder = $readarr::config_folder, @@ -21,8 +22,10 @@ class readarr::install ( ensure_packages($packages, {ensure => 'installed'}) } - group { $group: - ensure => present, + if $manage_group { + group { $group: + ensure => present, + } } user { $user: diff --git a/modules/readarr/manifests/params.pp b/modules/readarr/manifests/params.pp index 61f06f9..743aea4 100644 --- a/modules/readarr/manifests/params.pp +++ b/modules/readarr/manifests/params.pp @@ -15,6 +15,7 @@ class readarr::params ( ], String $user = 'readarr', String $group = 'readarr', + Boolean $manage_group = true, Stdlib::Absolutepath $base_path = '/opt/readarr', Stdlib::Absolutepath $install_path = '/opt/readarr/bin', Stdlib::Absolutepath $config_folder = '/home/readarr/.config', diff --git a/modules/sonarr/manifests/init.pp b/modules/sonarr/manifests/init.pp index 34054ff..52a7599 100644 --- a/modules/sonarr/manifests/init.pp +++ b/modules/sonarr/manifests/init.pp @@ -3,6 +3,7 @@ class sonarr ( $packages = $sonarr::params::packages, $user = $sonarr::params::user, $group = $sonarr::params::group, + $manage_group = $sonarr::params::manage_group, $base_path = $sonarr::params::base_path, $install_path = $sonarr::params::install_path, $config_folder = $sonarr::params::config_folder, diff --git a/modules/sonarr/manifests/install.pp b/modules/sonarr/manifests/install.pp index fbe4c58..8f299b7 100644 --- a/modules/sonarr/manifests/install.pp +++ b/modules/sonarr/manifests/install.pp @@ -3,6 +3,7 @@ class sonarr::install ( $packages = $sonarr::packages, $user = $sonarr::user, $group = $sonarr::group, + $manage_group = $sonarr::manage_group, $base_path = $sonarr::base_path, $install_path = $sonarr::install_path, $config_folder = $sonarr::config_folder, @@ -21,8 +22,10 @@ class sonarr::install ( ensure_packages($packages, {ensure => 'installed'}) } - group { $group: - ensure => present, + if $manage_group { + group { $group: + ensure => present, + } } user { $user: diff --git a/modules/sonarr/manifests/params.pp b/modules/sonarr/manifests/params.pp index 33ae09a..9055c92 100644 --- a/modules/sonarr/manifests/params.pp +++ b/modules/sonarr/manifests/params.pp @@ -15,6 +15,7 @@ class sonarr::params ( ], String $user = 'sonarr', String $group = 'sonarr', + Boolean $manage_group = true, Stdlib::Absolutepath $base_path = '/opt/sonarr', Stdlib::Absolutepath $install_path = '/opt/sonarr/bin', Stdlib::Absolutepath $config_folder = '/home/sonarr/.config', From b6a77afc7b3a117174dd7ff09e995b66243e51f5 Mon Sep 17 00:00:00 2001 From: Ben Vincent Date: Thu, 27 Jun 2024 23:19:45 +1000 Subject: [PATCH 2/3] chore: change all *arr's to use port 8000 locally --- hieradata/roles/apps/media/radarr.yaml | 4 +++- hieradata/roles/apps/media/sonarr.yaml | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/hieradata/roles/apps/media/radarr.yaml b/hieradata/roles/apps/media/radarr.yaml index f0f431e..15b37e6 100644 --- a/hieradata/roles/apps/media/radarr.yaml +++ b/hieradata/roles/apps/media/radarr.yaml @@ -13,6 +13,8 @@ radarr::params::archive_version: 5.7.0 radarr::params::archive_name: Radarr.master.linux-core-x64.tar.gz radarr::params::service_enable: true radarr::params::service_name: radarr +radarr::params::port: 8000 + # additional altnames profiles::pki::vault::alt_names: @@ -28,7 +30,7 @@ profiles::nginx::simpleproxy::nginx_aliases: - radarr.service.consul - radarr.query.consul - "radarr.service.%{facts.country}-%{facts.region}.consul" -profiles::nginx::simpleproxy::proxy_port: 7878 +profiles::nginx::simpleproxy::proxy_port: 8000 profiles::nginx::simpleproxy::proxy_host: 127.0.0.1 profiles::nginx::simpleproxy::proxy_path: '/' diff --git a/hieradata/roles/apps/media/sonarr.yaml b/hieradata/roles/apps/media/sonarr.yaml index 5443234..6aac080 100644 --- a/hieradata/roles/apps/media/sonarr.yaml +++ b/hieradata/roles/apps/media/sonarr.yaml @@ -13,6 +13,7 @@ sonarr::params::archive_version: 4.0.5 sonarr::params::archive_name: Sonarr.main.linux-x64.tar.gz sonarr::params::service_enable: true sonarr::params::service_name: sonarr +sonarr::params::port: 8000 # additional altnames profiles::pki::vault::alt_names: @@ -28,7 +29,7 @@ profiles::nginx::simpleproxy::nginx_aliases: - sonarr.service.consul - sonarr.query.consul - "sonarr.service.%{facts.country}-%{facts.region}.consul" -profiles::nginx::simpleproxy::proxy_port: 8989 +profiles::nginx::simpleproxy::proxy_port: 8000 profiles::nginx::simpleproxy::proxy_host: 127.0.0.1 profiles::nginx::simpleproxy::proxy_path: '/' From 8a1d62cd416dd4bd76b26c143d715711d0e3083c Mon Sep 17 00:00:00 2001 From: Ben Vincent Date: Thu, 27 Jun 2024 22:26:46 +1000 Subject: [PATCH 3/3] chore: change media group to 20000 - found 10001 and simliar were already taken --- doc/admin/groups.md | 2 +- hieradata/roles/apps/media.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/admin/groups.md b/doc/admin/groups.md index 0b4ba72..a3110d1 100644 --- a/doc/admin/groups.md +++ b/doc/admin/groups.md @@ -6,4 +6,4 @@ This page exists to list all the locally managed groups, their gid's and what th | name | gid | purpose | |-------------|-------------|-------------| | admin | 10000 | admin group designed for system admins | -| media | 10001 | group permissions to manage media (*arrs) | +| media | 20000 | group permissions to manage media (*arrs) | diff --git a/hieradata/roles/apps/media.yaml b/hieradata/roles/apps/media.yaml index af903c3..25bc31a 100644 --- a/hieradata/roles/apps/media.yaml +++ b/hieradata/roles/apps/media.yaml @@ -15,6 +15,6 @@ profiles::ceph::client::keyrings: profiles::base::groups::local: media: ensure: present - gid: 10001 + gid: 20000 allowdupe: false forcelocal: true