|
| 1 | +# class: cvmfs::server:config |
| 2 | +class cvmfs::server::config ( |
| 3 | + $repo = undef, |
| 4 | + $nfshost = undef, |
| 5 | + $nfsshare = undef, |
| 6 | + $nfsopts = 'rw,noatime,hard,nfsvers=3', |
| 7 | + $user = 'shared', |
| 8 | + $uid = 101 |
| 9 | +) { |
| 10 | + |
| 11 | + if $nfshost and $nfsshare { |
| 12 | + nfs::client::mount{'cvmfs_volume': |
| 13 | + ensure => 'mounted', |
| 14 | + server => $nfshost, |
| 15 | + share => $nfsshare, |
| 16 | + mount => '/srv/cvmfs', |
| 17 | + options => 'rw,noatime,hard,nfsvers=3', |
| 18 | + atboot => true, |
| 19 | + require => [File['/srv/cvmfs'],Service['nfslock']], |
| 20 | + before => [Exec['cvmfs_mkfs'],User[$user]] |
| 21 | + } |
| 22 | + } |
| 23 | + file{'/srv/cvmfs': |
| 24 | + ensure => directory, |
| 25 | + mode => '0755', |
| 26 | + owner => root, |
| 27 | + group => root, |
| 28 | + require => File['/srv'], |
| 29 | + } |
| 30 | + file{'/srv': |
| 31 | + ensure => directory, |
| 32 | + mode => '0755', |
| 33 | + owner => root, |
| 34 | + group => root, |
| 35 | + } |
| 36 | + |
| 37 | + group{$user: |
| 38 | + gid => $uid, |
| 39 | + } |
| 40 | + user{$user: |
| 41 | + uid => $uid, |
| 42 | + gid => $uid, |
| 43 | + comment => 'cvmfs shared account', |
| 44 | + managehome => true, |
| 45 | + home => "/srv/cvmfs/${user}", |
| 46 | + require => Group[$user] |
| 47 | + } |
| 48 | + exec{'cvmfs_mkfs': |
| 49 | + command => "/usr/bin/cvmfs_server mkfs -o ${user} ${repo}", |
| 50 | + creates => "/etc/cvmfs/repositories.d/${repo}", |
| 51 | + require => [User[$user],Package[kernel],Service['httpd']], |
| 52 | + } |
| 53 | + |
| 54 | + service{'httpd': |
| 55 | + ensure => running, |
| 56 | + enable => true, |
| 57 | + require => Package['httpd'] |
| 58 | + } |
| 59 | + #Switch off selinux for now. |
| 60 | + #disable SELinux. |
| 61 | + augeas {'disable_selinux': |
| 62 | + context => '/files/etc/sysconfig/selinux', |
| 63 | + changes => 'set SELINUX disabled', |
| 64 | + before => Exec['cvmfs_mkfs'] |
| 65 | + } ~> |
| 66 | + exec {'/bin/echo 0 > /selinux/enforce': #apply the change immediately |
| 67 | + refreshonly => true, |
| 68 | + before => Exec['cvmfs_mkfs'] |
| 69 | + } |
| 70 | + # Disable requiretty in sudoers since puppet runs mkfs with out a tty. |
| 71 | + augeas{'disable_requiretty': |
| 72 | + context => '/files/etc/sudoers', |
| 73 | + changes => 'set Defaults[*]/requiretty/negate ""', |
| 74 | + before => Exec['cvmfs_mkfs'] |
| 75 | + } |
| 76 | + firewall{'100 - allow access from 80': |
| 77 | + proto => 'tcp', |
| 78 | + dport => 80, |
| 79 | + action => 'accept' |
| 80 | + } |
| 81 | + |
| 82 | +} |
0 commit comments