OLD | NEW |
(Empty) | |
| 1 # == Type: adblockplus::log::uplink |
| 2 # |
| 3 # Used internally by class adblockplus::log::master to establish an SSH |
| 4 # uplink for each known server, both identifying and authenticating the |
| 5 # client by examining its $ip addresses and $ssh_public_key, i.e.: |
| 6 # |
| 7 # # write into master:/var/adblockplus/log/uplink/$HOSTNAME/$@ |
| 8 # client# ssh -i /etc/ssh/ssh_host_rsa_key log@master $@ < log.1.gz |
| 9 # |
| 10 # Note the uplink itself being just an SSH layer for upstream I/O, meant |
| 11 # to become integrated as a client's post rotation command or similar. |
| 12 # |
| 13 # === Parameters: |
| 14 # |
| 15 # Identical to base::explicit_host_records. |
| 16 # |
| 17 # === Examples: |
| 18 # |
| 19 # adblockplus::log::uplink {'example': |
| 20 # ip => ['10.8.0.1'], |
| 21 # ssh_authorized_key => 'AAA...', |
| 22 # } |
| 23 # |
| 24 define adblockplus::log::uplink ( |
| 25 $ip, |
| 26 $ssh_public_key = undef, |
| 27 $role = undef, |
| 28 $dns = undef, |
| 29 $groups = undef, |
| 30 ) { |
| 31 |
| 32 include adblockplus::log::master |
| 33 |
| 34 $import_command = shellquote([ |
| 35 $adblockplus::log::master::import_script, |
| 36 '--source', $dns ? {undef => $name, default => $dns}, |
| 37 '--target', $adblockplus::log::master::uplink_directory, |
| 38 ]) |
| 39 |
| 40 $source_address_pattern = is_array($ip) ? { |
| 41 true => join($ip, ','), |
| 42 default => $ip, |
| 43 } |
| 44 |
| 45 ssh_authorized_key {"adblockplus::log::uplink#$name": |
| 46 ensure => $ssh_public_key ? { |
| 47 undef => 'absent', |
| 48 default => 'present', |
| 49 }, |
| 50 key => $ssh_public_key, |
| 51 name => $name, |
| 52 options => [ |
| 53 "command=\"$import_command -- \$SSH_ORIGINAL_COMMAND\"", |
| 54 "from=\"$source_address_pattern\"", |
| 55 'no-agent-forwarding', |
| 56 'no-port-forwarding', |
| 57 'no-pty', |
| 58 'no-X11-forwarding', |
| 59 ], |
| 60 require => File[$adblockplus::log::master::uplink_directory], |
| 61 type => 'ssh-rsa', |
| 62 user => $adblockplus::log::user, |
| 63 } |
| 64 } |
OLD | NEW |