From 9153a918a4e84226039a7ae42e849ec7068926d3 Mon Sep 17 00:00:00 2001
From: Magnus Toneby <magnus.toneby@liu.se>
Date: Tue, 4 Jun 2024 10:24:03 +0200
Subject: [PATCH 1/8] clean up and name fixing of SAML certificate handling

---
 manifests/foliofront.pp | 29 ++++++++++++++++++-----------
 1 file changed, 18 insertions(+), 11 deletions(-)

diff --git a/manifests/foliofront.pp b/manifests/foliofront.pp
index e588171..338f774 100644
--- a/manifests/foliofront.pp
+++ b/manifests/foliofront.pp
@@ -6,17 +6,6 @@ class ub_folio::foliofront {
 
   $basedir='/opt/liu/foliofront'
 
-  exec { 'create private key for':
-    creates => "${$basedir}/privatekey.pem",
-    command => "/bin/openssl genrsa -out ${$basedir}/privatekey.pem 2048",
-  }
-
-  exec { 'create cert for':
-    creates => "${$basedir}/saml-cert.pem",
-    command => "/bin/openssl req -new -x509 -key ${$basedir}/privatekey.pem -out ${$basedir}/saml-cert.pem -days 3650 -subj '/C=SE/ST=Östergotland/L=Linköping/O=library.liu/OU=library/CN=saml.${$trusted['certname']}'",
-    require => [Exec['create private key for'],],
-  }
-
   package { ['nodejs','nano']:
     ensure => 'installed',
   }
@@ -70,6 +59,24 @@ class ub_folio::foliofront {
       mode   => '0775',
   }
 
+  $samlprivkey="${$basedir}/saml-privatekey.pem"
+  $samlcertreq="${$basedir}/saml-cert-request.pem"
+
+  exec { 'create private key for SAML':
+    creates => $samlprivkey,
+    command => "/bin/openssl genrsa -out ${$samlprivkey} 2048",
+    require => [File[$basedir],],
+  }
+
+  exec { 'create cert for SAML':
+    creates => $samlcertreq,
+    command => "/bin/openssl req -new -x509 -key ${$samlprivkey} -out ${$samlcertreq} -days 3650 -subj '/C=SE/ST=Östergotland/L=Linköping/O=library.liu/OU=library/CN=saml.${$trusted['certname']}'",
+    require => [
+      File[$basedir],
+      Exec['create private key for SAML'],
+    ],
+  }
+
   vcsrepo { '/opt/liu/foliofront/foliofront-node-root':
     ensure   => latest,
     provider => git,
-- 
GitLab


From f893e5756b3b4ce1471022398a59f46ca5d60ac6 Mon Sep 17 00:00:00 2001
From: Magnus Toneby <magnus.toneby@liu.se>
Date: Tue, 4 Jun 2024 11:12:55 +0200
Subject: [PATCH 2/8] clean up and name fixing of SAML certificate handling

---
 .../nodes/folioservices01.test.it.liu.se.yaml | 171 +++++++++---------
 1 file changed, 86 insertions(+), 85 deletions(-)

diff --git a/data/nodes/folioservices01.test.it.liu.se.yaml b/data/nodes/folioservices01.test.it.liu.se.yaml
index 2541955..4a136fd 100644
--- a/data/nodes/folioservices01.test.it.liu.se.yaml
+++ b/data/nodes/folioservices01.test.it.liu.se.yaml
@@ -1,88 +1,89 @@
 ---
 ub_folio::foliofront:
   env: >
-    ENC[PKCS7,MIIO3QYJKoZIhvcNAQcDoIIOzjCCDsoCAQAxggEhMIIBHQIBAD
-    AFMAACAQEwDQYJKoZIhvcNAQEBBQAEggEAn0AsLfEkSiCNUc7UuJzKn1vcUp
-    yYItnkXrrlWQj+4FsjI4HrpOIe/NlNfqGuDJe6V5IvzX/aOmFBxvNHqZDu4V
-    jHyAXjpTE8dBwSLLkzNIMMszIbqkpjJyt3xMy3xG1aI9A8RhMl4zJhojzqkC
-    yfuTSaMHmkY5f/aJTjLK6o3hEpqa5vCo3vs1nCiGlCcUyG++Zd+IwgnoadeK
-    82RG6R2BM+ZRQLucQUn5u1ieGufNVskoNCpsTlQZtTL2dGG+InSrj7L55Oi1
-    672W6DhPvdrcJ/0rlred1YFL2OVJN/RRRCgsSJ/IpaiuhVKmBILWEDL5KJRo
-    foVdoWfNdTzDs/9zCCDZ4GCSqGSIb3DQEHATAdBglghkgBZQMEASoEEOCXZj
-    jE/SXhSu1Su/3Qgj6Agg1wbYrFQF0+05S7CjDIt9Ttf3Zogh2whQ7QwgXl+q
-    cW/tN+DN2RKkFlYlJo2DispO1ZWKH9K8RsTznOekgg+0iGXIq7vAf7D59XEt
-    cBif/HBZb1PdaUiuDf4H6hcf1Pvyjj7mUpIlqKpCerDw6MUQVMtX1TVkoTz7
-    /Hg3p0za29bnW2lXkxqilct3gvE5z1bPDUWuul7bDqkDWZeFCseBs6+o2u2H
-    XXHyP+OhrgKhc/UPahGvdH0AwLtI3mGEjF2y9PRWDMLwzQzAeaIqP/fg6Rhx
-    etvV050s8AbrlKWq3FDokqltOpV4NNp1XwGhb4yWPTH7MIgXOqiIwHejoP6y
-    xlJxk+zRVbfa2Rmx3eAxY0KdnHd20uupbfEsuSGfpVXiQ8H5YhApUNbttEy2
-    tzlXrrU9OWnHW1yv+gdSzF8DFE/YPUHIaHAGezIfEyVMDvn/ZQ3YzMDxkryf
-    mkXM1cTTagQhnbPeGaRMGs5e3O4lZvBUMc+hZ0Yof+VSmfm/O9Y+0HZFyuzI
-    CBP6VqbtawXTVwlvDaZUlyAosj91a0GWunOJToFfPA0IcPvspiO1Y8DgpplD
-    u0O84dy4dilD28jSxLLcXyxsq1h4LC3FIOZ8FcEUZckAdHUvzx7l5aF517js
-    y9+R75Tb0xpb4NYzHtp+Ga4Pn9D+jwNcn6Wox183NMG7M036YklX2JoKqle0
-    Cuyia7QysYnB+vO9dik9gWowa1n2cP0EqziT2m4vUTFI5GiM4mpKnhROJ2Qo
-    /inCYhVf4MNGPjYvh/sSC7OFS7CkuTb0ONTtO8CkQM1qVHG/YoCs1O59rjhe
-    bad19FRKSkjlMcC/n7LhTpFLfCp/lftFUgzwD6JHK3QfsZVn114tMcck62jJ
-    D//2sqF99bYiBItYMQZKmpubA6HcRqn7Ajg9HL/aAW/fgb3XOYOOTIPC+89l
-    F5Shf5cIyoD1Cx/yerNop8Eh0SZGE4yIzCYMr5UkOJCh9I6+gpARz55fWaqJ
-    11/8LF0HJ1gquRn3j2gyZz/V4TsBtyVuhnXEF9TW5zuFzCfdnL3lgOBm/n38
-    vBcZ9zIEkPi/L5Y2Zs0X47hR6lEykDrfYUddEMN0jMKMmrpI022OkPnMyX4U
-    KceamiHG3tx4SsVEM1rau/i6swGQJiiou9n3PFC8eU9pecAHDe1CYcp8fFxC
-    AcpIEeX1at/IGa0wqbvPeXyP7wtymd+WC4UO5FE63rLCAZxNfUTYsoEfzwhE
-    6GkgZ6OrQwhPfq/sWdL3Q/z+6uLhLrXZkaeuXTfTEjw/YRkkWp7nwBgP87B3
-    hlm/rraVl9tUGZmIFxiiTIhMARAs3oFy6RMlkbiRo+PNC2GuuaRQCqsaV8y9
-    SUfEc8XDwfRV3y2XVSWfi7FDuRVTupKVRL1VD3kD/jV8M08YX67cPUk5USPf
-    aP4ujUnegZVJ8y+VVNDvK6u0St+Nqt1C438fklPPvon+wArbLT1irEOcHW6P
-    2ZqJi5MR3VgEanG6spTlnjTrILjP/mAKoC/3X4IyDIhneaR7fyjjOTBwdPAw
-    L6ziapz8kbqba6c7D6sNTn7cE76CTwgS9VJBrnYIQZsnFqHca9Ggzo4CKZpV
-    vlva5NpgyN/qjCB4ytO+D/ib6Yxo7+YttGStl1B805xK8159XblLMMNITgnB
-    yOUIqCOJGvSi9j8adGmE64CHscZpeFOYrHMBjfT2JbQpgcxBOxzMYEetcHVv
-    XEbPrsi+Zy0/nDuFTPsZrCntwClYztaSxXnYiEjGkndGoiKlO52qBnZq9Trk
-    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]
+    ENC[PKCS7,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
+    gYQk16u4trobV8mbAQGzb0Uq4U6JI2YA==]
-- 
GitLab


From f9fae4468f63a00fa5c4b2319715a6eebd2f5b51 Mon Sep 17 00:00:00 2001
From: Magnus Toneby <magnus.toneby@liu.se>
Date: Tue, 4 Jun 2024 13:42:30 +0200
Subject: [PATCH 3/8] fix ownership of files/directories

---
 manifests/foliofront.pp | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/manifests/foliofront.pp b/manifests/foliofront.pp
index 338f774..b057f3c 100644
--- a/manifests/foliofront.pp
+++ b/manifests/foliofront.pp
@@ -82,6 +82,12 @@ class ub_folio::foliofront {
     provider => git,
     source   => 'https://git:glpat-F5y74GSXSm6FrQBD5wM5@gitlab.liu.se/ub-utveckling/webb/folio-projekt/foliofront-node-root.git',
     revision => 'develop',
+    user     => 'pm2runner',
+    group    => 'pm2',
+    require  => [
+      User['pm2runner'],
+      Group['pm2'],
+    ],
     notify   => [Exec['do npm install of foliofront'],],
   }
 
@@ -93,6 +99,7 @@ class ub_folio::foliofront {
 
   file { '/opt/liu/foliofront/foliofront-node-root/logs':
     ensure  => directory,
+    user    => 'pm2runner',
     group   => 'api',
     mode    => '0770',
     require => [Vcsrepo['/opt/liu/foliofront/foliofront-node-root'],],
@@ -100,7 +107,8 @@ class ub_folio::foliofront {
 
   file { '/opt/liu/foliofront/foliofront-node-root/.env':
     ensure  => file,
-    group   => 'api',
+    user    => 'pm2runner',
+    group   => 'pm2',
     mode    => '0750',
     content => lookup('ub_folio::foliofront.env',undef,undef,'"env" key not found in hiera data'),
     require => [Vcsrepo['/opt/liu/foliofront/foliofront-node-root'],],
-- 
GitLab


From b81de02d6736241e0ee74c928a2d9ef5a69fd397 Mon Sep 17 00:00:00 2001
From: Magnus Toneby <magnus.toneby@liu.se>
Date: Tue, 4 Jun 2024 13:43:43 +0200
Subject: [PATCH 4/8] update .env

---
 .../nodes/folioservices01.test.it.liu.se.yaml | 171 +++++++++---------
 1 file changed, 85 insertions(+), 86 deletions(-)

diff --git a/data/nodes/folioservices01.test.it.liu.se.yaml b/data/nodes/folioservices01.test.it.liu.se.yaml
index 4a136fd..a464caa 100644
--- a/data/nodes/folioservices01.test.it.liu.se.yaml
+++ b/data/nodes/folioservices01.test.it.liu.se.yaml
@@ -1,89 +1,88 @@
 ---
 ub_folio::foliofront:
   env: >
-    ENC[PKCS7,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
-    gYQk16u4trobV8mbAQGzb0Uq4U6JI2YA==]
+    ENC[PKCS7,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
+    J7HmhZij+vGcTjpGlMnJiPg9d3qQ==]
-- 
GitLab


From a6be2fe91d29d7e89026a9e3b3b5360e589ea5e8 Mon Sep 17 00:00:00 2001
From: Magnus Toneby <magnus.toneby@liu.se>
Date: Tue, 4 Jun 2024 13:53:01 +0200
Subject: [PATCH 5/8] set owner on file resources

---
 manifests/foliofront.pp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/manifests/foliofront.pp b/manifests/foliofront.pp
index b057f3c..a9fbda2 100644
--- a/manifests/foliofront.pp
+++ b/manifests/foliofront.pp
@@ -99,7 +99,7 @@ class ub_folio::foliofront {
 
   file { '/opt/liu/foliofront/foliofront-node-root/logs':
     ensure  => directory,
-    user    => 'pm2runner',
+    owner   => 'pm2runner',
     group   => 'api',
     mode    => '0770',
     require => [Vcsrepo['/opt/liu/foliofront/foliofront-node-root'],],
@@ -107,7 +107,7 @@ class ub_folio::foliofront {
 
   file { '/opt/liu/foliofront/foliofront-node-root/.env':
     ensure  => file,
-    user    => 'pm2runner',
+    owner   => 'pm2runner',
     group   => 'pm2',
     mode    => '0750',
     content => lookup('ub_folio::foliofront.env',undef,undef,'"env" key not found in hiera data'),
-- 
GitLab


From 0d50f2b45a8787e27b7ff6113002e413ad10a3f8 Mon Sep 17 00:00:00 2001
From: Magnus Toneby <magnus.toneby@liu.se>
Date: Tue, 4 Jun 2024 14:01:44 +0200
Subject: [PATCH 6/8] set owner on file resources

---
 manifests/foliofront.pp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/manifests/foliofront.pp b/manifests/foliofront.pp
index a9fbda2..93c422f 100644
--- a/manifests/foliofront.pp
+++ b/manifests/foliofront.pp
@@ -54,7 +54,7 @@ class ub_folio::foliofront {
       "${$basedir}/data/resetpintokens",
     ]:
       ensure => directory,
-      owner  => 'andfa93',
+      owner  => 'pm2runner',
       group  => 'api',
       mode   => '0775',
   }
-- 
GitLab


From 160713445c6939cbebe531672703e0cb4ae4c1ea Mon Sep 17 00:00:00 2001
From: Magnus Toneby <magnus.toneby@liu.se>
Date: Tue, 4 Jun 2024 14:52:10 +0200
Subject: [PATCH 7/8] set owner on file resources

---
 manifests/foliofront.pp | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/manifests/foliofront.pp b/manifests/foliofront.pp
index 93c422f..f9628d0 100644
--- a/manifests/foliofront.pp
+++ b/manifests/foliofront.pp
@@ -64,12 +64,16 @@ class ub_folio::foliofront {
 
   exec { 'create private key for SAML':
     creates => $samlprivkey,
+    user    => 'pm2runner',
+    group   => 'pm2',
     command => "/bin/openssl genrsa -out ${$samlprivkey} 2048",
     require => [File[$basedir],],
   }
 
   exec { 'create cert for SAML':
     creates => $samlcertreq,
+    user    => 'pm2runner',
+    group   => 'pm2',
     command => "/bin/openssl req -new -x509 -key ${$samlprivkey} -out ${$samlcertreq} -days 3650 -subj '/C=SE/ST=Östergotland/L=Linköping/O=library.liu/OU=library/CN=saml.${$trusted['certname']}'",
     require => [
       File[$basedir],
-- 
GitLab


From 305cbc22c9d0257ae0d6397c5db4a93f28f149ec Mon Sep 17 00:00:00 2001
From: Magnus Toneby <magnus.toneby@liu.se>
Date: Tue, 25 Jun 2024 14:40:40 +0200
Subject: [PATCH 8/8] first stab at class for folioscripts

---
 manifests/folioscripts.pp | 45 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)
 create mode 100644 manifests/folioscripts.pp

diff --git a/manifests/folioscripts.pp b/manifests/folioscripts.pp
new file mode 100644
index 0000000..3fa47f2
--- /dev/null
+++ b/manifests/folioscripts.pp
@@ -0,0 +1,45 @@
+# @summary Setup a front facing node for folio
+class ub_folio::folioscripts {
+  user { 'folio-runner':
+    ensure     => 'present',
+    comment    => 'user for running the folio scripts',
+    system     => 'yes',
+    managehome => true,
+    expiry     => absent,
+    password   => '*',
+  }
+
+  group { 'api':
+    ensure  => 'present',
+    members => ['andfa93', 'hakan95', 'hakjo91', 'folio-runner'],
+    require => User['folio-runner'],
+  }
+
+  file { '/opt/liu/folioscripts':
+    ensure => directory,
+    owner  => 'folio-runner',
+    group  => 'api',
+    mode   => '0550';
+  }
+
+  $rev = $server_facts['environment'] ? {
+    'devel'      => 'main',
+    'test'       => 'main',
+    'production' => 'main',
+    default      => 'main',
+  }
+
+  vcsrepo { '/opt/liu/folioscripts':
+    ensure   => latest,
+    provider => git,
+    source   => 'https://git:glpat-z4sqxtfemUVQgYtPheF2@gitlab.liu.se/ub-utveckling/skript/folio-projekt/folio_scripts.git',
+    revision => $rev,
+    user     => 'folio-runner',
+    group    => 'api',
+    require  => [
+      User['folio-runner'],
+      Group['api'],
+      File['/opt/liu/folioscripts'],
+    ],
+  }
+}
-- 
GitLab