Skip to content
Snippets Groups Projects
Select Git revision
  • 271ba6899624c75de57ebbd35a61bce1271f940d
  • master default protected
  • alc-scindage-donnees-pj
  • b24
  • ll-workflow
  • FJ_LL_Tbl_Contrat
  • alc-docker-node
  • ll-apiplatform
  • php84
  • ll-rgpd
  • b23
  • alc-filtre-type-intervenant
  • ll-sans-mdb5
  • formules-ancienne-infra
  • ll-formules
  • alc-intervenant-dmep
  • ll-suppr-v_vol-s
  • b20
  • ll-postgresql
  • b23.0.1
  • b22
  • 24.8
  • 24.7
  • 24.6
  • 24.5
  • 24.4
  • 24.3
  • 24.2
  • 24.1
  • 24.0
  • 23.15
  • 24.0-beta19
  • 24.0-beta18
  • 24.0-beta17
  • 24.0-beta16
  • 24.0-beta15
  • 24.0-beta14
  • 24.0-beta13
  • 23.14
  • 24.0-beta12
  • 24.0-beta11
41 results

NewEntityService.php

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    postfix.pp 2.17 KiB
    #########################################################################
    #
    # This class provides a basic setup of postfix with local and remote
    # delivery and an SMTP server listening on the loopback interface.
    #
    
    class postfix {
    
      # Default value for various options
      case $postfix_ng_smtp_listen {
        "": { $postfix_ng_smtp_listen = "127.0.0.1" }
      }
      case $root_mail_recipient {
        "":   { $root_mail_recipient = "nobody" }
      }
    
    
      package { ["postfix", "mailx"]:
        ensure => installed
      }
    
      service { "postfix":
        ensure  => running,
        require => Package["postfix"],
      }
    
      file { "/etc/mailname":
        ensure  => present,
        content => "${fqdn}\n",
        seltype => "postfix_etc_t",
      }
    
      # Aliases
    
      file { "/etc/aliases":
        ensure => present,
        content => "# file managed by puppet\n",
        replace => false,
        seltype => "postfix_etc_t",
        notify => Exec["newaliases"],
      }
    
      exec { "newaliases":
        command     => "/usr/bin/newaliases",
        refreshonly => true,
        require     => Package["postfix"],
        subscribe   => File["/etc/aliases"],
      }
    
      # Config files
    
      file { "/etc/postfix/master.cf":
        ensure  => present,
        content => $lsbdistcodename ? {
          Tikanga => template("postfix/master.cf.redhat5.erb"),
          etch => template("postfix/master.cf.debian-etch.erb"),
          default => "No puppet template defined for $lsbdistcodename\n",
        },
        notify  => Service["postfix"],
        require => Package["postfix"],
      }
    
      file { "/etc/postfix/main.cf":
        ensure  => present,
        source  => "puppet:///postfix/main.cf",
        replace => false,
        notify  => Service["postfix"],
        require => Package["postfix"],
      }
    
      # Default configuration parameters
    
      postfix::config {
        "myorigin":   value => "${fqdn}";
        "alias_maps": value => "hash:/etc/aliases";
        "inet_interfaces": value => "all";
      }
    
      case $operatingsystem {
        RedHat: {
          postfix::config {
            "sendmail_path": value => "/usr/sbin/sendmail.postfix";
            "newaliases_path": value => "/usr/bin/newaliases.postfix";
            "mailq_path": value => "/usr/bin/mailq.postfix";
          }
        }
      }
    
      mailalias {"root":
        recipient => $root_mail_recipient,
        notify    => Exec["newaliases"],
      }
    }