| OLD | NEW |
| 1 class base ($zone='adblockplus.org') { | 1 class base ($zone='adblockplus.org') { |
| 2 stage {'pre': before => Stage['main']} | 2 stage {'pre': before => Stage['main']} |
| 3 stage {'post': require => Stage['main']} | 3 stage {'post': require => Stage['main']} |
| 4 | 4 |
| 5 class {'users': | 5 class {'users': |
| 6 stage => 'pre', | 6 stage => 'pre', |
| 7 } | 7 } |
| 8 | 8 |
| 9 if !defined(Class['apt']) { | 9 if !defined(Class['apt']) { |
| 10 class {'apt': | 10 class {'apt': |
| (...skipping 23 matching lines...) Expand all Loading... |
| 34 create_resources(base::explicit_host_record, $servers) | 34 create_resources(base::explicit_host_record, $servers) |
| 35 | 35 |
| 36 define explicit_host_record( | 36 define explicit_host_record( |
| 37 $ip, | 37 $ip, |
| 38 $ssh_public_key = undef, | 38 $ssh_public_key = undef, |
| 39 $role = undef, | 39 $role = undef, |
| 40 $dns = undef, | 40 $dns = undef, |
| 41 $groups = undef, | 41 $groups = undef, |
| 42 ) { | 42 ) { |
| 43 | 43 |
| 44 if is_array($ip) { | 44 $fqdn = $dns ? { |
| 45 $internal_ip = $ip[0] | 45 undef => "$name.${base::zone}", |
| 46 } else { | 46 default => $dns, |
| 47 $internal_ip = $ip | |
| 48 } | 47 } |
| 49 | 48 |
| 50 $fqdn_name = join([$name, $base::zone], '.') | 49 $ips = is_array($ip) ? { |
| 51 | 50 true => $ip, |
| 52 host{$name: | 51 default => [$ip], |
| 53 ensure => present, | |
| 54 ip => $internal_ip, | |
| 55 name => $fqdn_name, | |
| 56 host_aliases => $dns ? { | |
| 57 undef => [], | |
| 58 default => $dns, | |
| 59 } | |
| 60 } | 52 } |
| 61 | 53 |
| 62 if $ssh_public_key != undef { | 54 $public_key = $ssh_public_key ? { |
| 55 undef => undef, |
| 56 default => "ssh-rsa $ssh_public_key $fqdn", |
| 57 } |
| 63 | 58 |
| 64 $name_key = $dns ? { | 59 adblockplus::host {$title: |
| 65 undef => $fqdn_name, | 60 fqdn => $fqdn, |
| 66 default => $dns, | 61 groups => $groups, |
| 67 } | 62 ips => $ips, |
| 63 name => $name, |
| 64 role => $role, |
| 65 public_key => $public_key, |
| 66 } |
| 68 | 67 |
| 69 @sshkey {$name: | 68 # Implicit realization behavior has been introduced by accident in a |
| 70 name => $name_key, | 69 # previous version, hence it should be kept until class base is obsolete |
| 71 key => $ssh_public_key, | 70 # and the obsolete records have been removed |
| 72 type => ssh-rsa, | 71 realize(Host[$title]) |
| 73 host_aliases => $ip, | 72 realize(Sshkey[$title]) |
| 74 tag => 'base::explicit_host_record', | |
| 75 } | |
| 76 } | |
| 77 } | |
| 78 | |
| 79 # Work around https://projects.puppetlabs.com/issues/4145 | |
| 80 Sshkey<| |> -> | |
| 81 file {'/etc/ssh/ssh_known_hosts': | |
| 82 ensure => 'present', | |
| 83 mode => 0644, | |
| 84 } | 73 } |
| 85 } | 74 } |
| OLD | NEW |