chore: migrate media applications (#299)
- migrate media applications to new cephfs pool + incus - enable exporting haproxy - move ceph-client-setup to only apply to non-lxc hosts - ensure unrar is installed for nzbget - updated jellyfin use of data_dir - set lxc instances for jellyfin to use /shared/apps/jellyfin Reviewed-on: https://git.query.consul/unkinben/puppet-prod/pulls/299
This commit is contained in:
parent
1d23fef82e
commit
b3347f9226
@ -61,3 +61,11 @@ profiles::yum::global::repos:
|
|||||||
baseurl: https://download1.rpmfusion.org/nonfree/el/updates/%{facts.os.release.major}/%{facts.os.architecture}
|
baseurl: https://download1.rpmfusion.org/nonfree/el/updates/%{facts.os.release.major}/%{facts.os.architecture}
|
||||||
gpgkey: https://download1.rpmfusion.org/nonfree/el/RPM-GPG-KEY-rpmfusion-nonfree-el-%{facts.os.release.major}
|
gpgkey: https://download1.rpmfusion.org/nonfree/el/RPM-GPG-KEY-rpmfusion-nonfree-el-%{facts.os.release.major}
|
||||||
mirrorlist: absent
|
mirrorlist: absent
|
||||||
|
unkinben:
|
||||||
|
name: unkinben
|
||||||
|
descr: unkinben repository
|
||||||
|
target: /etc/yum.repos.d/unkin.repo
|
||||||
|
baseurl: https://git.query.consul/api/packages/unkinben/rpm/el8
|
||||||
|
gpgkey: https://git.query.consul/api/packages/unkinben/rpm/repository.key
|
||||||
|
gpgcheck: false
|
||||||
|
mirrorlist: absent
|
||||||
|
|||||||
@ -5,6 +5,9 @@ hiera_include:
|
|||||||
- profiles::media::nzbget
|
- profiles::media::nzbget
|
||||||
- profiles::nginx::ldapauth
|
- profiles::nginx::ldapauth
|
||||||
|
|
||||||
|
profiles::packages::include:
|
||||||
|
unrar: {}
|
||||||
|
|
||||||
# manage nzbget
|
# manage nzbget
|
||||||
nzbget::params::user: nzbget
|
nzbget::params::user: nzbget
|
||||||
nzbget::params::group: media
|
nzbget::params::group: media
|
||||||
|
|||||||
@ -6,11 +6,5 @@ profiles::packages::include:
|
|||||||
# disable mlock for vault nodes on lxd/incus
|
# disable mlock for vault nodes on lxd/incus
|
||||||
vault::disable_mlock: true
|
vault::disable_mlock: true
|
||||||
|
|
||||||
hiera_exclude:
|
# manage jellyfin changes
|
||||||
# exclude the media profiles which are just cephfs-mount-management
|
profiles::media::jellyfin::data_dir: /shared/apps/jellyfin
|
||||||
- profiles::media::lidarr
|
|
||||||
- profiles::media::nzbget
|
|
||||||
- profiles::media::prowlarr
|
|
||||||
- profiles::media::radarr
|
|
||||||
- profiles::media::readarr
|
|
||||||
- profiles::media::sonarr
|
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
# jellyfin params
|
# jellyfin params
|
||||||
class jellyfin::params (
|
class jellyfin::params (
|
||||||
Array[String] $packages = [
|
Array[String] $packages = [
|
||||||
'jellyfin',
|
|
||||||
'jellyfin-web',
|
'jellyfin-web',
|
||||||
'jellyfin-server',
|
'jellyfin-server',
|
||||||
|
'jellyfin-ffmpeg-bin',
|
||||||
'SDL2',
|
'SDL2',
|
||||||
'ffmpeg',
|
'ffmpeg',
|
||||||
'ffmpeg-devel',
|
'ffmpeg-devel',
|
||||||
|
|||||||
@ -2,10 +2,10 @@
|
|||||||
class profiles::media::jellyfin (
|
class profiles::media::jellyfin (
|
||||||
Stdlib::Absolutepath $media_root = '/shared/media',
|
Stdlib::Absolutepath $media_root = '/shared/media',
|
||||||
Stdlib::Absolutepath $data_dir = '/data/jellyfin',
|
Stdlib::Absolutepath $data_dir = '/data/jellyfin',
|
||||||
Stdlib::Absolutepath $lib_dir = '/data/jellyfin/var/lib',
|
Stdlib::Absolutepath $lib_dir = "${data_dir}/var/lib",
|
||||||
Stdlib::Absolutepath $cache_dir = '/data/jellyfin/var/cache',
|
Stdlib::Absolutepath $cache_dir = "${data_dir}/var/cache",
|
||||||
Stdlib::Absolutepath $config_dir = '/data/jellyfin/etc',
|
Stdlib::Absolutepath $config_dir = "${data_dir}/etc",
|
||||||
Stdlib::Absolutepath $log_dir = '/data/jellyfin/var/log',
|
Stdlib::Absolutepath $log_dir = "${data_dir}/var/log",
|
||||||
Stdlib::Absolutepath $ffmpeg_path = '/usr/local/bin/ffmpeg',
|
Stdlib::Absolutepath $ffmpeg_path = '/usr/local/bin/ffmpeg',
|
||||||
Stdlib::Absolutepath $sysconfig_file = '/etc/sysconfig/jellyfin',
|
Stdlib::Absolutepath $sysconfig_file = '/etc/sysconfig/jellyfin',
|
||||||
Stdlib::Absolutepath $migration_flag = '/etc/sysconfig/jellyfin_migration_done',
|
Stdlib::Absolutepath $migration_flag = '/etc/sysconfig/jellyfin_migration_done',
|
||||||
|
|||||||
@ -3,15 +3,16 @@ class profiles::media::lidarr (
|
|||||||
Stdlib::Absolutepath $media_root = '/shared/media',
|
Stdlib::Absolutepath $media_root = '/shared/media',
|
||||||
) {
|
) {
|
||||||
|
|
||||||
include profiles::ceph::client
|
if $facts['virtual'] != 'lxc' {
|
||||||
|
# manage the sharedvol
|
||||||
# manage the sharedvol
|
include profiles::ceph::client
|
||||||
profiles::storage::cephfsvol {"${::facts['networking']['fqdn']}_media":
|
profiles::storage::cephfsvol {"${::facts['networking']['fqdn']}_media":
|
||||||
mount => $media_root,
|
mount => $media_root,
|
||||||
keyring => '/etc/ceph/ceph.client.media.keyring',
|
keyring => '/etc/ceph/ceph.client.media.keyring',
|
||||||
cephfs_name => 'media',
|
cephfs_name => 'media',
|
||||||
cephfs_fs => 'mediafs',
|
cephfs_fs => 'mediafs',
|
||||||
require => Profiles::Ceph::Keyring['media'],
|
require => Profiles::Ceph::Keyring['media'],
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
# export haproxy balancemember
|
# export haproxy balancemember
|
||||||
|
|||||||
@ -3,15 +3,16 @@ class profiles::media::nzbget (
|
|||||||
Stdlib::Absolutepath $media_root = '/shared/media',
|
Stdlib::Absolutepath $media_root = '/shared/media',
|
||||||
) {
|
) {
|
||||||
|
|
||||||
include profiles::ceph::client
|
if $facts['virtual'] != 'lxc' {
|
||||||
|
# manage the sharedvol
|
||||||
# manage the sharedvol
|
include profiles::ceph::client
|
||||||
profiles::storage::cephfsvol {"${::facts['networking']['fqdn']}_media":
|
profiles::storage::cephfsvol {"${::facts['networking']['fqdn']}_media":
|
||||||
mount => $media_root,
|
mount => $media_root,
|
||||||
keyring => '/etc/ceph/ceph.client.media.keyring',
|
keyring => '/etc/ceph/ceph.client.media.keyring',
|
||||||
cephfs_name => 'media',
|
cephfs_name => 'media',
|
||||||
cephfs_fs => 'mediafs',
|
cephfs_fs => 'mediafs',
|
||||||
require => Profiles::Ceph::Keyring['media'],
|
require => Profiles::Ceph::Keyring['media'],
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
# export haproxy balancemember
|
# export haproxy balancemember
|
||||||
|
|||||||
@ -3,15 +3,16 @@ class profiles::media::prowlarr (
|
|||||||
Stdlib::Absolutepath $media_root = '/shared/media',
|
Stdlib::Absolutepath $media_root = '/shared/media',
|
||||||
) {
|
) {
|
||||||
|
|
||||||
include profiles::ceph::client
|
if $facts['virtual'] != 'lxc' {
|
||||||
|
# manage the sharedvol
|
||||||
# manage the sharedvol
|
include profiles::ceph::client
|
||||||
profiles::storage::cephfsvol {"${::facts['networking']['fqdn']}_media":
|
profiles::storage::cephfsvol {"${::facts['networking']['fqdn']}_media":
|
||||||
mount => $media_root,
|
mount => $media_root,
|
||||||
keyring => '/etc/ceph/ceph.client.media.keyring',
|
keyring => '/etc/ceph/ceph.client.media.keyring',
|
||||||
cephfs_name => 'media',
|
cephfs_name => 'media',
|
||||||
cephfs_fs => 'mediafs',
|
cephfs_fs => 'mediafs',
|
||||||
require => Profiles::Ceph::Keyring['media'],
|
require => Profiles::Ceph::Keyring['media'],
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
# export haproxy balancemember
|
# export haproxy balancemember
|
||||||
|
|||||||
@ -3,15 +3,16 @@ class profiles::media::radarr (
|
|||||||
Stdlib::Absolutepath $media_root = '/shared/media',
|
Stdlib::Absolutepath $media_root = '/shared/media',
|
||||||
) {
|
) {
|
||||||
|
|
||||||
include profiles::ceph::client
|
if $facts['virtual'] != 'lxc' {
|
||||||
|
# manage the sharedvol
|
||||||
# manage the sharedvol
|
include profiles::ceph::client
|
||||||
profiles::storage::cephfsvol {"${::facts['networking']['fqdn']}_media":
|
profiles::storage::cephfsvol {"${::facts['networking']['fqdn']}_media":
|
||||||
mount => $media_root,
|
mount => $media_root,
|
||||||
keyring => '/etc/ceph/ceph.client.media.keyring',
|
keyring => '/etc/ceph/ceph.client.media.keyring',
|
||||||
cephfs_name => 'media',
|
cephfs_name => 'media',
|
||||||
cephfs_fs => 'mediafs',
|
cephfs_fs => 'mediafs',
|
||||||
require => Profiles::Ceph::Keyring['media'],
|
require => Profiles::Ceph::Keyring['media'],
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
# export haproxy balancemember
|
# export haproxy balancemember
|
||||||
|
|||||||
@ -3,15 +3,16 @@ class profiles::media::readarr (
|
|||||||
Stdlib::Absolutepath $media_root = '/shared/media',
|
Stdlib::Absolutepath $media_root = '/shared/media',
|
||||||
) {
|
) {
|
||||||
|
|
||||||
include profiles::ceph::client
|
if $facts['virtual'] != 'lxc' {
|
||||||
|
# manage the sharedvol
|
||||||
# manage the sharedvol
|
include profiles::ceph::client
|
||||||
profiles::storage::cephfsvol {"${::facts['networking']['fqdn']}_media":
|
profiles::storage::cephfsvol {"${::facts['networking']['fqdn']}_media":
|
||||||
mount => $media_root,
|
mount => $media_root,
|
||||||
keyring => '/etc/ceph/ceph.client.media.keyring',
|
keyring => '/etc/ceph/ceph.client.media.keyring',
|
||||||
cephfs_name => 'media',
|
cephfs_name => 'media',
|
||||||
cephfs_fs => 'mediafs',
|
cephfs_fs => 'mediafs',
|
||||||
require => Profiles::Ceph::Keyring['media'],
|
require => Profiles::Ceph::Keyring['media'],
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
# export haproxy balancemember
|
# export haproxy balancemember
|
||||||
|
|||||||
@ -3,15 +3,16 @@ class profiles::media::sonarr (
|
|||||||
Stdlib::Absolutepath $media_root = '/shared/media',
|
Stdlib::Absolutepath $media_root = '/shared/media',
|
||||||
) {
|
) {
|
||||||
|
|
||||||
include profiles::ceph::client
|
if $facts['virtual'] != 'lxc' {
|
||||||
|
# manage the sharedvol
|
||||||
# manage the sharedvol
|
include profiles::ceph::client
|
||||||
profiles::storage::cephfsvol {"${::facts['networking']['fqdn']}_media":
|
profiles::storage::cephfsvol {"${::facts['networking']['fqdn']}_media":
|
||||||
mount => $media_root,
|
mount => $media_root,
|
||||||
keyring => '/etc/ceph/ceph.client.media.keyring',
|
keyring => '/etc/ceph/ceph.client.media.keyring',
|
||||||
cephfs_name => 'media',
|
cephfs_name => 'media',
|
||||||
cephfs_fs => 'mediafs',
|
cephfs_fs => 'mediafs',
|
||||||
require => Profiles::Ceph::Keyring['media'],
|
require => Profiles::Ceph::Keyring['media'],
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
# export haproxy balancemember
|
# export haproxy balancemember
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user