Skip to content
Snippets Groups Projects
Select Git revision
  • 3c84b03bf66bedfc7d4b1da3a9419e898ade3fc6
  • master default protected
  • php84
  • ll-api-test
  • 6.x
  • release_6.2.0
  • modif_maintenance_phtml
  • 6.0.x
  • detached2
  • detached
  • php82
  • feature_SearchAndSelectFilter
  • 5.x
  • 4.x
  • 7.2.1
  • 7.2.0
  • 6.2.0
  • 7.1.0
  • 7.0.0
  • 1.1.1
  • 6.1.7
  • 6.1.6
  • 6.1.5
  • 6.0.16
  • 6.0.15
  • 6.1.4
  • 6.0.14
  • 6.1.3
  • 6.0.13
  • 6.1.2
  • 6.0.12
  • 6.1.1
  • 6.1.0
  • 6.0.11
34 results

Module.php

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    files.pp 2.40 KiB
    class postfix::files {
      include postfix::params
    
      $alias_maps          = $postfix::all_alias_maps
      $inet_interfaces     = $postfix::inet_interfaces
      $mail_user           = $postfix::mail_user
      $master_smtp         = $postfix::master_smtp
      $master_smtps        = $postfix::master_smtps
      $master_submission   = $postfix::master_submission
      $myorigin            = $postfix::myorigin
      $root_mail_recipient = $postfix::root_mail_recipient
      $smtp_listen         = $postfix::_smtp_listen
      $use_amavisd         = $postfix::use_amavisd
      $use_dovecot_lda     = $postfix::use_dovecot_lda
      $use_schleuder       = $postfix::use_schleuder
      $use_sympa           = $postfix::use_sympa
    
      file { '/etc/mailname':
        ensure  => 'file',
        content => "${::fqdn}\n",
        seltype => $postfix::params::seltype,
      }
    
      # Aliases
      file { '/etc/aliases':
        ensure  => 'file',
        content => "# file managed by puppet\n",
        notify  => Exec['newaliases'],
        replace => false,
        seltype => $postfix::params::seltype,
      }
    
      # Aliases
      exec { 'newaliases':
        command     => '/usr/bin/newaliases',
        refreshonly => true,
        subscribe   => File['/etc/aliases'],
      }
    
      # Config files
      if $postfix::mastercf_source {
        $mastercf_content = undef
      } else {
        $mastercf_content = template(
            $postfix::params::master_os_template,
            'postfix/master.cf.common.erb'
          )
      }
    
      file { '/etc/postfix/master.cf':
        ensure  => 'file',
        content => $mastercf_content,
        group   => 'root',
        mode    => '0644',
        owner   => 'root',
        seltype => $postfix::params::seltype,
        source  => $postfix::mastercf_source,
      }
    
      # Config files
      file { '/etc/postfix/main.cf':
        ensure  => 'file',
        group   => 'root',
        mode    => '0644',
        owner   => 'root',
        replace => false,
        seltype => $postfix::params::seltype,
        source  => $postfix::maincf_source,
      }
    
      ::postfix::config {
        'alias_maps':       value => $alias_maps;
        'inet_interfaces':  value => $inet_interfaces;
        'myorigin':         value => $myorigin;
      }
    
      case $::osfamily {
        'RedHat': {
          ::postfix::config {
            'mailq_path':       value => '/usr/bin/mailq.postfix';
            'newaliases_path':  value => '/usr/bin/newaliases.postfix';
            'sendmail_path':    value => '/usr/sbin/sendmail.postfix';
          }
        }
        default: {}
      }
    
      mailalias {'root':
        recipient => $root_mail_recipient,
        notify    => Exec['newaliases'],
      }
    }