From 53c160d56a7f4a0105b3635c0b103e88029a0822 Mon Sep 17 00:00:00 2001 From: Gregory Ballantine Date: Tue, 12 Dec 2023 13:21:14 -0500 Subject: [PATCH] Added basic package install and service running checks --- jellyfin/defaults.yaml | 8 ++++++++ jellyfin/init.sls | 4 ++++ jellyfin/map.jinja | 28 ++++++++++++++++++++++++++++ jellyfin/package/init.sls | 6 ++++++ jellyfin/package/install.sls | 9 +++++++++ jellyfin/service/init.sls | 6 ++++++ jellyfin/service/running.sls | 15 +++++++++++++++ 7 files changed, 76 insertions(+) create mode 100644 jellyfin/defaults.yaml create mode 100644 jellyfin/init.sls create mode 100644 jellyfin/map.jinja create mode 100644 jellyfin/package/init.sls create mode 100644 jellyfin/package/install.sls create mode 100644 jellyfin/service/init.sls create mode 100644 jellyfin/service/running.sls diff --git a/jellyfin/defaults.yaml b/jellyfin/defaults.yaml new file mode 100644 index 0000000..dc6c662 --- /dev/null +++ b/jellyfin/defaults.yaml @@ -0,0 +1,8 @@ +# -*- coding: utf-8 -*- +# vim: ft=yaml + +jellyfin: + pkg_name: 'jellyfin' + service_name: 'jellyfin' + service_enabled: True + diff --git a/jellyfin/init.sls b/jellyfin/init.sls new file mode 100644 index 0000000..1a61d0a --- /dev/null +++ b/jellyfin/init.sls @@ -0,0 +1,4 @@ +include: + - .package + - .service + diff --git a/jellyfin/map.jinja b/jellyfin/map.jinja new file mode 100644 index 0000000..f40e9cb --- /dev/null +++ b/jellyfin/map.jinja @@ -0,0 +1,28 @@ +# -*- coding: utf-8 -*- +# vim: ft=jinja + +{%- set tplroot = tpldir.split('/')[0] %} +{%- import_yaml tplroot ~ "/defaults.yaml" as default_settings %} + +{#- Retrieve the config dict only once #} +{%- set _config = salt['config.get'](tplroot, default={}) %} + +{%- set defaults = salt['grains.filter_by']( + default_settings, + default=tplroot, + merge=salt['grains.filter_by']( + _config, + default='lookup' + ) + ) +%} + +{%- set config = salt['grains.filter_by']( + {'defaults': defaults}, + default='defaults', + merge=_config + ) +%} + +{%- set jellyfin = config %} + diff --git a/jellyfin/package/init.sls b/jellyfin/package/init.sls new file mode 100644 index 0000000..8a0e1f5 --- /dev/null +++ b/jellyfin/package/init.sls @@ -0,0 +1,6 @@ +# -*- coding: utf-8 -*- +# vim: ft=sls + +include: + - .install + diff --git a/jellyfin/package/install.sls b/jellyfin/package/install.sls new file mode 100644 index 0000000..7b8ecbc --- /dev/null +++ b/jellyfin/package/install.sls @@ -0,0 +1,9 @@ +# -*- coding: utf-8 -*- +# vim: ft=sls + +{%- set tplroot = tpldir.split('/')[0] %} +{%- from tplroot ~ "/map.jinja" import jellyfin with context %} +jellyfin_pkg_install: + pkg.installed: + - name: {{ jellyfin.pkg_name }} + diff --git a/jellyfin/service/init.sls b/jellyfin/service/init.sls new file mode 100644 index 0000000..6321a88 --- /dev/null +++ b/jellyfin/service/init.sls @@ -0,0 +1,6 @@ +# -*- coding: utf-8 -*- +# vim: ft=sls + +include: + - .running + diff --git a/jellyfin/service/running.sls b/jellyfin/service/running.sls new file mode 100644 index 0000000..861a2cf --- /dev/null +++ b/jellyfin/service/running.sls @@ -0,0 +1,15 @@ +# -*- coding: utf-8 -*- +# vim: ft=sls + +{%- set tplroot = tpldir.split('/')[0] %} +{%- set sls_config_file = tplroot ~ '.config.file' %} +{%- from tplroot ~ "/map.jinja" import jellyfin with context %} + +include: + - {{ sls_config_file }} + +jellyfin_service: + service.running: + - name: {{ jellyfin.service_name }} + - enable: {{ jellyfin.service_enabled }} +