From 82ed27cf56798f0abc85c86bbe646f43ca521988 Mon Sep 17 00:00:00 2001 From: Ben Vincent Date: Sun, 23 Jun 2024 15:18:02 +1000 Subject: [PATCH] feat: add sonarr profile - add cephfs secret for mounting mediafs - add ceph-reef repo for apps::media roles - add the shared cephfs mediafs mount --- hieradata/roles/apps/media.eyaml | 2 ++ hieradata/roles/apps/media.yaml | 13 +++++++++++++ hieradata/roles/apps/media/sonarr.eyaml | 0 site/profiles/manifests/media/sonarr.pp | 16 ++++++++++++++++ site/roles/manifests/apps/media/sonarr.pp | 1 + 5 files changed, 32 insertions(+) create mode 100644 hieradata/roles/apps/media.eyaml create mode 100644 hieradata/roles/apps/media.yaml create mode 100644 hieradata/roles/apps/media/sonarr.eyaml create mode 100644 site/profiles/manifests/media/sonarr.pp diff --git a/hieradata/roles/apps/media.eyaml b/hieradata/roles/apps/media.eyaml new file mode 100644 index 0000000..21cd536 --- /dev/null +++ b/hieradata/roles/apps/media.eyaml @@ -0,0 +1,2 @@ +--- +ceph::key::media: ENC[PKCS7,MIIBmQYJKoZIhvcNAQcDoIIBijCCAYYCAQAxggEhMIIBHQIBADAFMAACAQEwDQYJKoZIhvcNAQEBBQAEggEAEBANgP2ifU7NbuMs+kWpeg1tchR5IMD7Z7kMpRBejgCMHludTYGf/BzxTe36YjpwLsuUd658QK5vE4EYpM1MuzqfuNiWJa5ec1IR/AgWQUMZcpjEDEqpHTb2qygmpc+jb3vW1EMBleZL2Z4GrgJ00gWO/EvukBSPgyxBsFe4Bb/L3aK6xiucG3JA9A7qA6cS4Oz5pf8dfC0FBjsc+XN7++bJN5pWUgMcEDgiyCy3bkL2gWfPKOWfabTRwuC3qd6SihZMg/tY8uoDfYoI8jHkjU07/mhC6AD930wgcFG+xJwNAX7FxLvLyJ8iN/648LVoZFuszYiTwPib1CszksdYBjBcBgkqhkiG9w0BBwEwHQYJYIZIAWUDBAEqBBBSGXrbrl4FisZN5FT1hfmrgDBnV2SVfCJIYYyZ9+Vo1ykNmzUypJdJ+4llyXA7FOuH90xVZvLZMjNMhVCxP48CiYI=] diff --git a/hieradata/roles/apps/media.yaml b/hieradata/roles/apps/media.yaml new file mode 100644 index 0000000..5d9259f --- /dev/null +++ b/hieradata/roles/apps/media.yaml @@ -0,0 +1,13 @@ +--- +profiles::yum::global::repos: + ceph-reef: + name: ceph-reef + descr: ceph reef repository + target: /etc/yum.repos.d/ceph-reef.repo + baseurl: https://edgecache.query.consul/ceph/yum/el%{facts.os.release.major}/%{facts.os.architecture} + gpgcheck: 0, + mirrorlist: absent + +profiles::ceph::client::keyrings: + media: + key: "%{hiera('ceph::key::media')}" diff --git a/hieradata/roles/apps/media/sonarr.eyaml b/hieradata/roles/apps/media/sonarr.eyaml new file mode 100644 index 0000000..e69de29 diff --git a/site/profiles/manifests/media/sonarr.pp b/site/profiles/manifests/media/sonarr.pp new file mode 100644 index 0000000..1eaa82a --- /dev/null +++ b/site/profiles/manifests/media/sonarr.pp @@ -0,0 +1,16 @@ +# profiles::media::sonarr +class profiles::media::sonarr ( + Stdlib::Absolutepath $media_root = '/shared/media', +) { + + include profiles::ceph::client + + # manage the sharedvol + profiles::storage::cephfsvol {"${::facts['networking']['fqdn']}_media": + mount => $media_root, + keyring => '/etc/ceph/ceph.client.media.keyring', + cephfs_name => 'media', + cephfs_fs => 'mediafs', + require => Profiles::Ceph::Keyring['media'], + } +} diff --git a/site/roles/manifests/apps/media/sonarr.pp b/site/roles/manifests/apps/media/sonarr.pp index 0ceab35..07a919c 100644 --- a/site/roles/manifests/apps/media/sonarr.pp +++ b/site/roles/manifests/apps/media/sonarr.pp @@ -6,5 +6,6 @@ class roles::apps::media::sonarr { }else{ include profiles::defaults include profiles::base + include profiles::media::sonarr } }