OLD | NEW |
1 class base { | 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 class {'apt': | 9 class {'apt': |
10 always_apt_update => true | 10 always_apt_update => true |
11 } | 11 } |
(...skipping 20 matching lines...) Expand all Loading... |
32 } | 32 } |
33 | 33 |
34 service {'cron': | 34 service {'cron': |
35 ensure => running, | 35 ensure => running, |
36 enable => true, | 36 enable => true, |
37 } | 37 } |
38 | 38 |
39 class {'logrotate': | 39 class {'logrotate': |
40 stage => 'post' | 40 stage => 'post' |
41 } | 41 } |
| 42 |
| 43 $servers = hiera('servers') |
| 44 create_resources(base::explicit_host_record, $servers) |
| 45 |
| 46 define explicit_host_record( |
| 47 $ip, |
| 48 $ssh_public_key = undef, |
| 49 $role = undef, |
| 50 $dns = undef, |
| 51 $groups = undef, |
| 52 ) { |
| 53 |
| 54 if is_array($ip) { |
| 55 $internal_ip = $ip[0] |
| 56 } else { |
| 57 $internal_ip = $ip |
| 58 } |
| 59 |
| 60 $fqdn_name = join([$name, $base::zone], '.') |
| 61 |
| 62 host{$name: |
| 63 ensure => present, |
| 64 ip => $internal_ip, |
| 65 name => $fqdn_name, |
| 66 host_aliases => $dns ? { |
| 67 undef => [], |
| 68 default => $dns, |
| 69 } |
| 70 } |
| 71 |
| 72 if $ssh_public_key != undef { |
| 73 |
| 74 $name_key = $dns ? { |
| 75 undef => $fqdn_name, |
| 76 default => $dns, |
| 77 } |
| 78 |
| 79 @sshkey {$name: |
| 80 name => $name_key, |
| 81 key => $ssh_public_key, |
| 82 type => ssh-rsa, |
| 83 host_aliases => $ip, |
| 84 } |
| 85 } |
| 86 |
| 87 } |
42 } | 88 } |
| 89 |
OLD | NEW |