Advertisement
Guest User

puppet manifest

a guest
Dec 7th, 2018
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Puppet 1.69 KB | None | 0 0
  1. class base::ftpserver {
  2.    include firewalld
  3.    require base::repositories    # want c7-localrepo installed
  4.    require base::services        # want firewalld running
  5.  
  6.   package { 'vsftpd':
  7.     ensure           => present,
  8.     install_options  => [ {'--disablerepo' => '*'}, { '--enablerepo' => 'c7-localrepo' }],
  9.     notify           => Service['vsftpd'],
  10.   }
  11.  
  12.   ini_setting {
  13.     default:
  14.       path         => '/etc/vsftpd/vsftpd.conf',
  15.       notify       => Service['vsftpd'],
  16.       require      => Package['vsftpd'],
  17.       key_val_separator => '=',
  18.       ensure       => present,
  19.     ;
  20.     'disable_anonymous_mode':
  21.       setting     => 'anonymous_enable',
  22.       value       => 'NO',
  23.     ;
  24.     'enable_passive_mode':
  25.       setting     => 'pasv_enable',
  26.       value       => 'YES',
  27.     ;
  28.     'set_passive_minimum_port':
  29.       setting     => 'pasv_min_port',
  30.       value       => '30000',
  31.     ;
  32.     'set_passive_maximum_port':
  33.       setting     => 'pasv_max_port',
  34.       value       => '30100',
  35.   }
  36.  
  37.   firewalld::custom_service { 'vsftpdserver':
  38.     require       => Service['firewalld'],
  39.     short         => 'vsftpdserver',
  40.     description   => 'vsftpd server for setup',
  41.     port          => [
  42.       {
  43.          'port'      => '21',
  44.          'protocol'  => 'tcp',
  45.       },
  46.       {  'port'      => '30000:30100',
  47.          'protocol'  => 'tcp',
  48.       },
  49.     ],
  50.   }
  51.  
  52.   firewalld_service { 'Allow FTP in public zone':
  53.     require => Firewalld::Custom_service['vsftpdserver'],
  54.     ensure  => 'present',
  55.     service => 'vsftpdserver',
  56.     zone    => 'public',
  57.   }
  58.  
  59.   service { 'vsftpd':
  60.     require => Package['vsftpd'],
  61.     ensure => running,
  62.     enable => true,
  63.   }
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement