Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Side by Side Diff: modules/adblockplus/manifests/log/uplink.pp

Issue 29333248: Issue 3306 - Create uplinks for pushing log files (Closed)
Patch Set: Created Jan. 6, 2016, 12:09 p.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff | Download patch
OLDNEW
(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 }
OLDNEW
« modules/adblockplus/manifests/log/master.pp ('K') | « modules/adblockplus/manifests/log/master.pp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld