72bcbacddb
AlmaLinux hosts still pulled in-house RPMs from the legacy `unkin` repo hosted on Gitea (git.query.consul), and a second legacy Gitea repo `unkinben` was enabled fleet-wide. This moves AlmaLinux hosts fully onto the artifactapi local rpm repos so all hosts get the in-house/vendored set for their EL release, matching the artifactapi-is-the-real-registry model already used for baseos/epel/etc., and removes both legacy Gitea yum repos. Depends on unkin/terraform-artifactapi#15 (creates the general `rpm-vendor` local repo); that should apply before this reaches hosts. ### RPM source migration - retarget `rpm-vendor` to the distribution-agnostic `local/rpm-vendor` repo - add `rpm-internal-release`/`rpm-vendor-release`, resolved from `os.release.major` so el8 hosts pull `-el8`, el9 hosts `-el9`, etc. - remove the legacy `unkin` yumrepo definition (its content now comes from rpm-internal/rpm-vendor) ### unkinben removal - remove the `unkinben` yumrepo definition from `AlmaLinux/all_releases.yaml` - remove the `unkinben` `ensure: present` override from the jellyfin media role (its only consumer) - `purge => true` on the yum profile then cleans `/etc/yum.repos.d/unkin.repo` from hosts **Heads-up for reviewer:** the jellyfin role installs `jellyfin-web`, `jellyfin-server`, and `jellyfin-ffmpeg-bin` from unkinben. These packages exist **only** in unkinben, so once it is removed they will remain installed but **stop receiving updates** until they are republished into artifactapi (e.g. `rpm-internal-elN`). Jellyfin's other deps (`SDL2`, `ffmpeg`, `ffmpeg-devel`) come from rpmfusion and are unaffected. The `unkinben` *generic* archive downloads used by the *arr modules (sonarr/radarr/prowlarr/lidarr/readarr) and glauth are direct HTTP fetches, not the yum repo, and are untouched. https://claude.ai/code/session_015ur3i7D2azsMAWTSVABApv Reviewed-on: #496 Co-authored-by: Ben Vincent <ben@unkin.net> Co-committed-by: Ben Vincent <ben@unkin.net>
60 lines
1.5 KiB
YAML
60 lines
1.5 KiB
YAML
---
|
|
hiera_include:
|
|
- jellyfin
|
|
|
|
profiles::packages::include:
|
|
intel-media-driver: {}
|
|
libva-intel-driver: {}
|
|
libva-intel-hybrid-driver: {}
|
|
intel-mediasdk: {}
|
|
|
|
# manage jellyfin
|
|
jellyfin::params::service_enable: true
|
|
|
|
# additional altnames
|
|
profiles::pki::vault::alt_names:
|
|
- jellyfin.main.unkin.net
|
|
- jellyfin.service.consul
|
|
- jellyfin.query.consul
|
|
- "jellyfin.service.%{facts.country}-%{facts.region}.consul"
|
|
|
|
# manage a simple nginx reverse proxy
|
|
profiles::nginx::simpleproxy::nginx_vhost: 'jellyfin.query.consul'
|
|
profiles::nginx::simpleproxy::nginx_aliases:
|
|
- jellyfin.main.unkin.net
|
|
- jellyfin.service.consul
|
|
- jellyfin.query.consul
|
|
- "jellyfin.service.%{facts.country}-%{facts.region}.consul"
|
|
profiles::nginx::simpleproxy::proxy_port: 8096
|
|
profiles::nginx::simpleproxy::proxy_host: 127.0.0.1
|
|
profiles::nginx::simpleproxy::proxy_path: '/'
|
|
|
|
# configure consul service
|
|
nginx::client_max_body_size: 10M
|
|
consul::services:
|
|
jellyfin:
|
|
service_name: 'jellyfin'
|
|
tags:
|
|
- 'media'
|
|
- 'jellyfin'
|
|
address: "%{facts.networking.ip}"
|
|
port: 443
|
|
checks:
|
|
- id: 'jellyfin_http_check'
|
|
name: 'jellyfin HTTP Check'
|
|
http: "https://%{facts.networking.fqdn}:443"
|
|
method: 'GET'
|
|
tls_skip_verify: true
|
|
interval: '10s'
|
|
timeout: '1s'
|
|
profiles::consul::client::node_rules:
|
|
- resource: service
|
|
segment: jellyfin
|
|
disposition: write
|
|
|
|
profiles::yum::global::repos:
|
|
rpmfusion-free:
|
|
ensure: present
|
|
rpmfusion-nonfree:
|
|
ensure: present
|