Advertisement
WhiteWolf712

fedora.pp

Dec 5th, 2012
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 3.98 KB | None | 0 0
  1. class {
  2.         'fedora::packages-default': stage => "packages";
  3.         'fedora::files-default': stage => "files";
  4.         'fedora::services-default': stage => "services";
  5.  
  6. }
  7. class fedora::fedora-default {
  8.     include fedora::packages-default
  9.     include fedora::services-default
  10.     include fedora::files-default
  11. }
  12.  
  13. class fedora::packages-default {
  14.     package { mc : ensure => installed }
  15.     package { openssh-clients : ensure => installed }
  16.     package { tar : ensure => installed }
  17.     package { bzip2 : ensure => installed }
  18.     package { ntp : ensure => installed }
  19.     package { yum-cron : ensure => installed }
  20.     package { puppet : ensure => installed }
  21. }
  22.  
  23. class fedora::services-default {
  24.     include fedora::files-default
  25.     service { ntpd :
  26.                 enable => true,
  27.                 ensure => running, }
  28.     service { yum-cron : enable => true }
  29.     service { iptables : enable => false }
  30.     service { ip6tables : enable => false }
  31.     service { puppet : enable => true }
  32. }
  33.  
  34. class fedora::files-default {
  35.     include fedora::packages-default
  36.     file { '/etc/selinux' :
  37.                 source => 'puppet:///dist/fedora/etc/selinux',
  38.                 backup => '.dist',
  39.                 owner => 'root',
  40.                 group => 'root',
  41.                 recurse => true, }
  42.     file { '/etc/ssh' :
  43.                 source => 'puppet:///dist/fedora/etc/ssh',
  44.                 backup => '.dist',
  45.                 owner => 'root',
  46.                 group => 'root',
  47.                 recurse => true, }
  48.     file { '/etc/sysonfig/yum-cron' :
  49.                 source => 'puppet:///dist/fedora/etc/yum-cron',
  50.                 backup => '.dist',
  51.                 owner => 'root',
  52.                 group => 'root', }
  53. }
  54.  
  55. #Repos
  56. class fedora::repo-Dstar {
  57.     yumrepo { 'Dstar':
  58.                 name => 'Dstar',
  59.                 descr => 'This is my custom repo  for Fedora $operatingsystemrelease - \$basearch',
  60. #               baseurl => 'http://mirror.dbds.ru/Dstar/fedora/$operatingsystemrelease/$architecture',
  61.                 baseurl => 'http://mirror.dbds.ru/Dstar/fedora/$operatingsystemrelease/\$basearch',
  62.                 enabled => '1',
  63.                 gpgcheck => '1',
  64.                 gpgkey => 'http://mirror.dbds.ru/Dstar/gpg-key', }
  65. }
  66.  
  67. #Default package configuration
  68. ## NFS-Client
  69. class fedora::nfs-client {
  70.     package { nfs-utils : ensure => installed }
  71. }
  72.  
  73. ## Mount NFS Storage
  74. class fedora::nfs-Storage {
  75.         file { '/mnt/Storage' :
  76.                 ensure => directory,
  77.                 force => true, }
  78.         mount { '/mnt/Storage' :
  79. #               require => [File['/mnt/Storage'], Package['nfs-utils']],
  80.                 atboot => true,
  81.                 ensure => mounted,
  82.                 device => "srv:/data/sec/Storage/${NFS_Resource}",
  83.                 fstype => "nfs4",
  84.                 options => "rw,soft,nolock,bg,intr,tcp,auto", }
  85. }
  86.  
  87. ## NGINX
  88. class fedora::nginx {
  89.     package { nginx : ensure => installed }
  90.     file { '/etc/nginx/':
  91.                 source => 'puppet:///dist/fedora/etc/nginx',
  92.                 backup => '.dist',
  93.                 owner => 'root',
  94.                 group => 'root',
  95.                 recurse => true, }
  96. }
  97.  
  98. ## PHP-FPM
  99. class fedora::php-fpm {
  100.     package { php-fpm : ensure => installed }
  101.     file { '/var/log/php-fpm/':
  102.                 owner => 'apache',
  103.                 group => 'apache',
  104.                 mode => 770, }
  105.     mount { '/var/run/php-fpm/' :
  106.                 atboot => true,
  107.                 ensure => present,
  108.                 device => 'tmpfs',
  109.                 fstype => 'tmpfs',
  110.                 options => 'auto,size=5M,nr_inodes=1k,mode=777,async,nodiratime,noatime', }
  111.     exec { 'mount /var/run/php-fpm/' :
  112.                 path   => '/usr/bin:/usr/sbin:/bin',
  113.                 onlyif => 'test `mount | grep /run/php-fpm | wc -l` -lt 1 && test `grep /run/php-fpm  /etc/fstab | wc -l` -ge 1', }
  114. }
  115.  
  116. ## ProFTPd
  117. class fedora::proftpd {
  118.     package { proftpd : ensure => installed }
  119. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement