| Index: modules/base/manifests/init.pp |
| =================================================================== |
| --- a/modules/base/manifests/init.pp |
| +++ b/modules/base/manifests/init.pp |
| @@ -1,18 +1,20 @@ |
| class base ($zone='adblockplus.org') { |
| stage {'pre': before => Stage['main']} |
| stage {'post': require => Stage['main']} |
| class {'users': |
| stage => 'pre', |
| } |
| - class {'apt': |
| - always_apt_update => true |
| + if !defined(Class['apt']) { |
| + class {'apt': |
| + always_apt_update => true |
| + } |
| } |
| Exec['apt_update'] -> Package <| |> |
| include private::users, postfix, ssh |
| package {['mercurial', 'vim', 'emacs', 'debian-goodies', 'htop']: |
| ensure => present, |
| @@ -47,33 +49,33 @@ class base ($zone='adblockplus.org') { |
| define explicit_host_record( |
| $ip, |
| $ssh_public_key = undef, |
| $role = undef, |
| $dns = undef, |
| $groups = undef, |
| ) { |
| - |
| + |
| if is_array($ip) { |
| $internal_ip = $ip[0] |
| } else { |
| $internal_ip = $ip |
| } |
| $fqdn_name = join([$name, $base::zone], '.') |
| - |
| + |
| host{$name: |
| ensure => present, |
| ip => $internal_ip, |
| name => $fqdn_name, |
| host_aliases => $dns ? { |
| undef => [], |
| default => $dns, |
| - } |
| + } |
| } |
| if $ssh_public_key != undef { |
| $name_key = $dns ? { |
| undef => $fqdn_name, |
| default => $dns, |
| } |