]> git.immae.eu Git - perso/Immae/Projets/Puppet.git/commitdiff
Add fstab module
authorIsmaël Bouya <ismael.bouya@normalesup.org>
Tue, 13 Mar 2018 01:57:27 +0000 (02:57 +0100)
committerIsmaël Bouya <ismael.bouya@normalesup.org>
Tue, 13 Mar 2018 10:15:08 +0000 (11:15 +0100)
environments/production/data/common.yaml
modules/base_installation/manifests/fstab.pp [new file with mode: 0644]
modules/base_installation/manifests/init.pp
modules/base_installation/manifests/params.pp

index 78cce6b6caef6797c4535e7cb76a0e1c1fb08069..1b4f38d0b6a5895b0e22161db5f43fd018a3f472 100644 (file)
@@ -7,6 +7,7 @@ base_installation::ldap_dn: "cn=%{facts.ec2_metadata.hostname},ou=hosts,dc=immae
 base_installation::ldap_cn: "%{facts.ec2_metadata.hostname}"
 base_installation::ldap_server: "ldap.immae.eu"
 base_installation::ldap_uri: "ldaps://ldap.immae.eu"
+base_installation::mounts: "%{alias('facts.ldapvar.self.vars.mounts')}"
 base_installation::puppet_conf_path: "/etc/puppetlabs/puppet"
 base_installation::puppet_code_path: "/etc/puppetlabs/code"
 base_installation::puppet_pass_seed: "/etc/puppetlabs/puppet/password_seed"
diff --git a/modules/base_installation/manifests/fstab.pp b/modules/base_installation/manifests/fstab.pp
new file mode 100644 (file)
index 0000000..f012e76
--- /dev/null
@@ -0,0 +1,18 @@
+class base_installation::fstab (
+  $mounts = $base_installation::mounts
+) inherits base_installation {
+  $mounts.each |$mount| {
+    unless empty($mount) {
+      $infos = split($mount, ';')
+
+      file { $infos[0]:
+        ensure => directory,
+      } ->
+      mount { $infos[0]:
+        ensure => mounted,
+        device => "UUID=${infos[1]}",
+        fstype => $infos[2]
+      }
+    }
+  }
+}
index 998f8ff137015a497828de28165a93d45ba2b285..cb1cdda74808093bfebc72ab72c2095359dc2d6b 100644 (file)
@@ -6,6 +6,7 @@ class base_installation (
   Optional[String]        $ldap_dn          = $base_installation::params::ldap_dn,
   Optional[String]        $ldap_server      = $base_installation::params::ldap_server,
   Optional[String]        $ldap_uri         = $base_installation::params::ldap_uri,
+  Optional[Array[String]] $mounts           = $base_installation::params::mounts,
   Optional[String]        $puppet_code_path = $base_installation::params::puppet_code_path,
   Optional[String]        $puppet_conf_path = $base_installation::params::puppet_conf_path,
   Optional[String]        $puppet_pass_seed = $base_installation::params::puppet_pass_seed,
@@ -30,4 +31,5 @@ class base_installation (
   contain ::base_installation::users
   contain ::base_installation::package_managers
   contain ::base_installation::puppet
+  contain ::base_installation::fstab
 }
index 5ade838ae0b70430a9ad2b9a6ea2428dcfb86ad0..2a9fe6a6be21bf9f34d9f02b5cc74edcaf087403 100644 (file)
@@ -10,6 +10,7 @@ class base_installation::params {
   $ldap_cert_path   = "/etc/ssl/certs/ca-certificates.crt"
   $ldap_uri         = "ldaps://ldap.example.com"
   $ldap_server      = "ldap.example.com"
+  $mounts           = []
   $real_hostname    = "example.com"
   $system_hostname  = "example.com"
   $system_locales   = ["en_US.UTF-8"]