diff --git a/modules/jellyfin/manifests/init.pp b/modules/jellyfin/manifests/init.pp new file mode 100644 index 0000000..6d57b15 --- /dev/null +++ b/modules/jellyfin/manifests/init.pp @@ -0,0 +1,11 @@ +# manage jellyfin +class jellyfin ( + $packages = $jellyfin::params::packages, + $service_enable = $jellyfin::params::service_enable, +) inherits jellyfin::params { + + include jellyfin::install + include jellyfin::service + + Class['jellyfin::install'] -> Class['jellyfin::service'] +} diff --git a/modules/jellyfin/manifests/install.pp b/modules/jellyfin/manifests/install.pp new file mode 100644 index 0000000..69ee1ab --- /dev/null +++ b/modules/jellyfin/manifests/install.pp @@ -0,0 +1,14 @@ +# install jellyfin +class jellyfin::install ( + $packages = $jellyfin::packages, +) { + + $_packages = $packages ? { + Array => true, + default => false, + } + + if $_packages { + ensure_packages($packages, {ensure => 'installed'}) + } +} diff --git a/modules/jellyfin/manifests/params.pp b/modules/jellyfin/manifests/params.pp new file mode 100644 index 0000000..d74a3a4 --- /dev/null +++ b/modules/jellyfin/manifests/params.pp @@ -0,0 +1,13 @@ +# jellyfin params +class jellyfin::params ( + Array[String] $packages = [ + 'jellyfin', + 'jellyfin-web', + 'jellyfin-server', + 'SDL2', + 'ffmpeg', + 'ffmpeg-devel', + ], + String $service_name = 'jellyfin', + Boolean $service_enable = true, +) { } diff --git a/modules/jellyfin/manifests/service.pp b/modules/jellyfin/manifests/service.pp new file mode 100644 index 0000000..ce9755f --- /dev/null +++ b/modules/jellyfin/manifests/service.pp @@ -0,0 +1,10 @@ +# manage jellyfin service +class jellyfin::service ( + $service_enable = $jellyfin::service_enable, + $service_name = $jellyfin::service_name, +) { + service{$service_name: + ensure => $service_enable, + enable => $service_enable, + } +}