dtk-node-agent 0.5.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (62) hide show
  1. checksums.yaml +15 -0
  2. data/Gemfile +4 -0
  3. data/Gemfile.lock +18 -0
  4. data/README.md +42 -0
  5. data/bin/dtk-node-agent +16 -0
  6. data/dtk-node-agent.gemspec +38 -0
  7. data/lib/config/install.config +12 -0
  8. data/lib/dtk-node-agent/installer.rb +142 -0
  9. data/lib/dtk-node-agent/version.rb +3 -0
  10. data/mcollective_additions/plugins/README.md +1 -0
  11. data/mcollective_additions/plugins/v1.2/agent/discovery.rb +39 -0
  12. data/mcollective_additions/plugins/v1.2/agent/get_log_fragment.ddl +15 -0
  13. data/mcollective_additions/plugins/v1.2/agent/get_log_fragment.rb +79 -0
  14. data/mcollective_additions/plugins/v1.2/agent/git_access.ddl +9 -0
  15. data/mcollective_additions/plugins/v1.2/agent/git_access.rb +79 -0
  16. data/mcollective_additions/plugins/v1.2/agent/netstat.ddl +9 -0
  17. data/mcollective_additions/plugins/v1.2/agent/netstat.rb +34 -0
  18. data/mcollective_additions/plugins/v1.2/agent/puppet_apply.ddl +9 -0
  19. data/mcollective_additions/plugins/v1.2/agent/puppet_apply.rb +630 -0
  20. data/mcollective_additions/plugins/v1.2/agent/rpcutil.ddl +204 -0
  21. data/mcollective_additions/plugins/v1.2/agent/rpcutil.rb +101 -0
  22. data/mcollective_additions/plugins/v1.2/facts/pbuilder_facts.rb +35 -0
  23. data/mcollective_additions/plugins/v2.2/agent/dev_manager.ddl +9 -0
  24. data/mcollective_additions/plugins/v2.2/agent/dev_manager.rb +69 -0
  25. data/mcollective_additions/plugins/v2.2/agent/discovery.rb +39 -0
  26. data/mcollective_additions/plugins/v2.2/agent/dtk_node_agent_git_client.rb +94 -0
  27. data/mcollective_additions/plugins/v2.2/agent/execute_tests.ddl +9 -0
  28. data/mcollective_additions/plugins/v2.2/agent/execute_tests.rb +64 -0
  29. data/mcollective_additions/plugins/v2.2/agent/get_log_fragment.ddl +15 -0
  30. data/mcollective_additions/plugins/v2.2/agent/get_log_fragment.rb +79 -0
  31. data/mcollective_additions/plugins/v2.2/agent/git_access.ddl +9 -0
  32. data/mcollective_additions/plugins/v2.2/agent/git_access.rb +72 -0
  33. data/mcollective_additions/plugins/v2.2/agent/netstat.ddl +9 -0
  34. data/mcollective_additions/plugins/v2.2/agent/netstat.rb +34 -0
  35. data/mcollective_additions/plugins/v2.2/agent/ps.ddl +9 -0
  36. data/mcollective_additions/plugins/v2.2/agent/ps.rb +37 -0
  37. data/mcollective_additions/plugins/v2.2/agent/puppet_apply.ddl +9 -0
  38. data/mcollective_additions/plugins/v2.2/agent/puppet_apply.rb +633 -0
  39. data/mcollective_additions/plugins/v2.2/agent/puppet_cancel.ddl +10 -0
  40. data/mcollective_additions/plugins/v2.2/agent/puppet_cancel.rb +78 -0
  41. data/mcollective_additions/plugins/v2.2/agent/rpcutil.ddl +204 -0
  42. data/mcollective_additions/plugins/v2.2/agent/rpcutil.rb +101 -0
  43. data/mcollective_additions/plugins/v2.2/agent/sync_agent_code.ddl +10 -0
  44. data/mcollective_additions/plugins/v2.2/agent/sync_agent_code.rb +85 -0
  45. data/mcollective_additions/plugins/v2.2/agent/tail.ddl +11 -0
  46. data/mcollective_additions/plugins/v2.2/agent/tail.rb +67 -0
  47. data/mcollective_additions/plugins/v2.2/connector/r8stomp.rb +238 -0
  48. data/mcollective_additions/plugins/v2.2/connector/stomp.rb +349 -0
  49. data/mcollective_additions/plugins/v2.2/connector/stomp_em.rb +191 -0
  50. data/mcollective_additions/plugins/v2.2/facts/pbuilder_facts.rb +35 -0
  51. data/mcollective_additions/plugins/v2.2/security/sshkey.ddl +9 -0
  52. data/mcollective_additions/plugins/v2.2/security/sshkey.rb +362 -0
  53. data/mcollective_additions/server.cfg +22 -0
  54. data/puppet_additions/modules/r8/lib/puppet/type/r8_export_file.rb +53 -0
  55. data/puppet_additions/modules/r8/manifests/export_variable.rb +10 -0
  56. data/puppet_additions/puppet_lib_base/puppet/indirector/catalog/r8_storeconfig_backend.rb +48 -0
  57. data/puppet_additions/puppet_lib_base/puppet/indirector/r8_storeconfig_backend.rb +4 -0
  58. data/puppet_additions/puppet_lib_base/puppet/indirector/resource/r8_storeconfig_backend.rb +72 -0
  59. data/src/etc/init.d/ec2-run-user-data +95 -0
  60. data/src/etc/logrotate.d/mcollective +10 -0
  61. data/src/etc/logrotate.d/puppet +7 -0
  62. metadata +189 -0
@@ -0,0 +1,22 @@
1
+ topicprefix = /topic/
2
+ main_collective = mcollective
3
+ collectives = mcollective
4
+ libdir = /usr/share/mcollective/plugins
5
+ logfile = /var/log/mcollective.log
6
+ loglevel = debug
7
+ max_log_size = 2097152
8
+ daemonize = 1
9
+
10
+ # Plugins
11
+ securityprovider = sshkey
12
+ plugin.sshkey.server.send_key = /etc/mcollective/ssh/mcollective.pub
13
+ plugin.sshkey.server.private_key = /etc/mcollective/ssh/mcollective
14
+ plugin.sshkey.server.authorized_keys = /etc/mcollective/ssh/authorized_keys
15
+
16
+ connector = stomp
17
+ plugin.stomp.port = 6163
18
+ plugin.stomp.user = mcollective
19
+ plugin.stomp.password = marionette
20
+
21
+ # Facts
22
+ factsource = pbuilder
@@ -0,0 +1,53 @@
1
+ #
2
+ # Simple module for logging messages on the client-side
3
+ #
4
+
5
+ module Puppet
6
+ newtype(:r8_export_file) do
7
+ @doc = "r8 export file content"
8
+
9
+ newparam(:name) do
10
+ desc "component and attribute name in dot notation"
11
+ end
12
+
13
+ newparam(:filename) do
14
+ desc "file name"
15
+ end
16
+
17
+ newparam(:definition_key) do
18
+ desc "Value of name field used when teher is a definition"
19
+ end
20
+
21
+ newproperty(:ensure) do
22
+ desc "Whether the resource is in sync or not."
23
+
24
+ defaultto :insync
25
+
26
+ def retrieve
27
+ :outofsync
28
+ end
29
+
30
+ newvalue :insync do
31
+ filename = resource[:filename]
32
+ unless File.exists?(filename)
33
+ raise Puppet::Error, "File #{resource[:filename]} does not exist"
34
+ end
35
+ Puppet.send(@resource[:loglevel], "exporting #{filename} for #{resource[:name]}")
36
+ if resource[:name] =~ /(^.+)\.(.+$)/
37
+ cmp_name = $1
38
+ attr_name = $2
39
+
40
+ cmp_ref = cmp_name.gsub(/[.]/,"::")
41
+ if def_key = resource[:definition_key]
42
+ cmp_ref = "#{cmp_ref}[#{def_key}]"
43
+ end
44
+ p = (Thread.current[:exported_files] ||= Hash.new)[cmp_ref] ||= Hash.new
45
+ p[attr_name] = filename
46
+ else
47
+ raise Puppet::Error, "ill-formed component with name (#{resource[:name]})"
48
+ end
49
+ return
50
+ end
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,10 @@
1
+ define "r8::export_variable", :content => Puppet::Parser::AST::Leaf::Undef.new({:value => '***'}) do
2
+ if @name =~ /(^.+)::(.+$)/
3
+ component = $1
4
+ attribute = $2
5
+ if content = (@content == '***' ? scope.lookupvar(@name) : @content)
6
+ p = Thread.current[:exported_variables] ||= Hash.new
7
+ (p[component] ||= Hash.new)[attribute] = content
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,48 @@
1
+ require 'puppet/indirector/r8_storeconfig_backend'
2
+ require 'puppet/resource/catalog'
3
+
4
+ class Puppet::Resource::Catalog::R8StoreconfigBackend < Puppet::Indirector::R8StoreconfigBackend
5
+ def find(request)
6
+ require 'pp'
7
+ pp [:in_find]
8
+ nil
9
+ end
10
+
11
+ # Save the values from a Facts instance as the facts on a Rails Host instance.
12
+ def save(request)
13
+ require 'pp'
14
+ if catalog = request.instance
15
+ catalog.vertices.each do |r|
16
+ if r.exported?
17
+ #TODO: think the following is ways to get the higher level component
18
+ component = calling_class_or_def_name(catalog,r)
19
+ rsc_title = r.title
20
+ content = r.to_pson_data_hash
21
+ pp([
22
+ :calling_save,
23
+ {:resource_title => rsc_title,
24
+ :component => component,
25
+ :content => content
26
+ }])
27
+ p = Thread.current[:exported_resources] ||= Hash.new
28
+ (p[component] ||= Hash.new)[rsc_title] = content
29
+ end
30
+ end
31
+ end
32
+ catalog
33
+ end
34
+
35
+ def calling_class_or_def_name(catalog,resource)
36
+ adjs = catalog.adjacent(resource,:direction => :in)
37
+ unless adjs.size == 1
38
+ raise Puppet::Error, "Unexpected size of adjaceny"
39
+ end
40
+ containing_rsc = adjs.first
41
+ #TODO: make sure works with qualified names
42
+ if containing_rsc.type == "Class"
43
+ containing_rsc.title.downcase
44
+ else
45
+ containing_rsc.type.downcase
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,4 @@
1
+ require 'puppet/indirector'
2
+
3
+ class Puppet::Indirector::R8StoreconfigBackend < Puppet::Indirector::Terminus
4
+ end
@@ -0,0 +1,72 @@
1
+ require 'puppet/indirector/r8_storeconfig_backend'
2
+
3
+ class Puppet::Resource::R8StoreconfigBackend < Puppet::Indirector::R8StoreconfigBackend
4
+ def search(request)
5
+ ret = Array.new
6
+ require 'pp' ; pp [:in_search]
7
+ type = request_to_type_name(request)
8
+ host = request.options[:host]
9
+ filter = request.options[:filter]
10
+ imp_colls = Thread.current[:imported_collections]
11
+ return ret if imp_colls.nil? or imp_colls.empty?
12
+ imp_colls.each do |cmp,attrs|
13
+ attrs.each do |attr,attr_info|
14
+ next unless attr_info["resource_type"] == type
15
+ ret << R8StoreconfigBackendResource.new(attr_info["value"]) if match(attr_info,filter)
16
+ end
17
+ end
18
+ ret
19
+ end
20
+
21
+ private
22
+ def request_to_type_name(request)
23
+ name = request.key.split('/', 2)[0]
24
+ type = Puppet::Type.type(name) or raise Puppet::Error, "Could not find type #{name}"
25
+ type.name.to_s
26
+ end
27
+
28
+ def match(attr_info,filter)
29
+ return true if filter.nil? or filter.empty?
30
+ if filter[1] == "=="
31
+ key = filter[0]
32
+ val = filter[2]
33
+ match = ((attr_info["value"]||{})["parameters"]||{}).find{|k,v|k == key}
34
+ match && (match[1] == val)
35
+ else
36
+ raise Puppet::Error, "Do not treat filter operation (#{filter[1]})"
37
+ end
38
+ end
39
+ end
40
+
41
+ class R8StoreconfigBackendResource < Hash
42
+ def initialize(val)
43
+ super()
44
+ val.each{|k,v|self[k]=v}
45
+ end
46
+
47
+ def to_resource(scope)
48
+ source = scope.source
49
+
50
+ params = self["parameters"].map{|param,val|to_resourceparam(param,val,source) unless val.nil?}.compact
51
+
52
+ hash = {
53
+ :scope => scope,
54
+ :source => source,
55
+ :parameters => params
56
+ }
57
+ ret = Puppet::Parser::Resource.new(self["type"],self["title"], hash)
58
+ #TODO: Store the ID, so we can check if we're re-collecting the same resource.
59
+ #ret.collector_id = self.id
60
+ ret
61
+ end
62
+ private
63
+ def to_resourceparam(param,value,source)
64
+ hash = {
65
+ :name => param,
66
+ :value => value,
67
+ :source => source
68
+ }
69
+ Puppet::Parser::Resource::Param.new(hash)
70
+ end
71
+ end
72
+
@@ -0,0 +1,95 @@
1
+ #!/bin/bash
2
+ #
3
+ # ec2-run-user-data Run user-data scripts
4
+ # chkconfig: 2345 23 02
5
+ #
6
+ # description: On first boot of EC2 instance, runs user-data if it starts with #!
7
+ #
8
+ ### BEGIN INIT INFO
9
+ # Provides: ec2-run-user-data
10
+ ### END INIT INFO
11
+
12
+ # ec2-run-user-data - Run instance user-data if it looks like a script.
13
+ #
14
+ # Only retrieves and runs the user-data script once per instance. If
15
+ # you want the user-data script to run again (e.g., on the next boot)
16
+ # then add this command in the user-data script:
17
+ # rm -f /var/ec2/ec2-run-user-data.*
18
+ #
19
+ # History:
20
+ #
21
+ # 2011-07-14 Mike Savage <mike.savage 4t gmail.com>
22
+ # - Modify script for RHEL/CentOS
23
+ #
24
+ # 2011-03-25 Eric Hammond <ehammond 4t thinksome.com>
25
+ # - Add LSB info to support update-rc.d
26
+ # - Improve check for compressed user-data
27
+ #
28
+ # 2010-01-07 Tom White
29
+ # - Add support for gzip-compressed user data
30
+ #
31
+ # 2008-05-16 Eric Hammond <ehammond 4t thinksome.com>
32
+ # - Initial version including code from Kim Scheibel, Jorge Oliveira
33
+ #
34
+ # Source function library.
35
+ . /etc/rc.d/init.d/functions
36
+
37
+ # See how we were called.
38
+ case "$1" in
39
+ start)
40
+ echo -n "Running ec2-run-user-data: "
41
+ prog=$(basename $0)
42
+ logger="logger -t $prog"
43
+ curl="curl --retry 3 --silent --show-error --fail"
44
+ instance_data_url=http://169.254.169.254/latest
45
+
46
+ # Wait until meta-data is available.
47
+ perl -MIO::Socket::INET -e '
48
+ until(new IO::Socket::INET("169.254.169.254:80")){print"Waiting for meta-data...\n";sleep 1}
49
+ ' | $logger
50
+
51
+ # Exit if we have already run on this instance (e.g., previous boot).
52
+ ami_id=$($curl $instance_data_url/meta-data/ami-id)
53
+ been_run_file=/var/ec2/$prog.$ami_id
54
+ mkdir -p $(dirname $been_run_file)
55
+ if [ -f $been_run_file ]; then
56
+ $logger < $been_run_file
57
+ exit
58
+ fi
59
+
60
+ # Retrieve the instance user-data and run it if it looks like a script
61
+ user_data_file=$(mktemp ec2-user-data.XXXXXXXXXX)
62
+ chmod 0700 $user_data_file
63
+ $logger "Retrieving user-data"
64
+ $curl -o $user_data_file $instance_data_url/user-data 2>&1 | $logger
65
+ if [ "$(file -bi $user_data_file| cut -f1 -d';')" = 'application/x-gzip' ]; then
66
+ $logger "Uncompressing gzip'd user-data"
67
+ mv $user_data_file $user_data_file.gz
68
+ gunzip $user_data_file.gz
69
+ fi
70
+ cat $user_data_file
71
+ if [ ! -s $user_data_file ]; then
72
+ $logger "No user-data available"
73
+ echo "user-data was not available" > $been_run_file
74
+ elif head -1 $user_data_file | egrep -v '^#!'; then
75
+ $logger "Skipping user-data as it does not begin with #!"
76
+ echo "user-data did not begin with #!" > $been_run_file
77
+ else
78
+ $logger "Running user-data"
79
+ echo "user-data has already been run on this instance" > $been_run_file
80
+ echo "user_data_file to be executed is $user_data_file" >> $been_run_file
81
+ ./$user_data_file 2>&1 | logger -t "user-data"
82
+ $logger "user-data exit code: $?"
83
+ fi
84
+ rm -f $user_data_file
85
+
86
+ ;;
87
+ stop)
88
+ echo "Stop isn't really implemented for ec2-run-ser-data..."
89
+ ;;
90
+ *)
91
+ echo "Usage: $0 {start|stop}"
92
+ exit 1
93
+ esac
94
+
95
+ exit 0
@@ -0,0 +1,10 @@
1
+ /var/log/mcollective.log {
2
+ missingok
3
+ notifempty
4
+ copytruncate
5
+ sharedscripts
6
+ weekly
7
+ size 10M
8
+ compress
9
+ rotate 2
10
+ }
@@ -0,0 +1,7 @@
1
+ /var/log/puppet/msg*.log {
2
+ missingok
3
+ notifempty
4
+ sharedscripts
5
+ weekly
6
+ rotate 2
7
+ }
metadata ADDED
@@ -0,0 +1,189 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: dtk-node-agent
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.5.10
5
+ platform: ruby
6
+ authors:
7
+ - Rich PELAVIN
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-03-17 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: puppet
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ~>
18
+ - !ruby/object:Gem::Version
19
+ version: 3.3.2
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: 3.3.2
27
+ - !ruby/object:Gem::Dependency
28
+ name: facter
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ~>
32
+ - !ruby/object:Gem::Version
33
+ version: 1.7.3
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ version: 1.7.3
41
+ - !ruby/object:Gem::Dependency
42
+ name: grit
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ~>
46
+ - !ruby/object:Gem::Version
47
+ version: 2.5.0
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: 2.5.0
55
+ - !ruby/object:Gem::Dependency
56
+ name: stomp
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: 1.3.1
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ~>
67
+ - !ruby/object:Gem::Version
68
+ version: 1.3.1
69
+ - !ruby/object:Gem::Dependency
70
+ name: sshkeyauth
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ~>
74
+ - !ruby/object:Gem::Version
75
+ version: 0.0.11
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ~>
81
+ - !ruby/object:Gem::Version
82
+ version: 0.0.11
83
+ - !ruby/object:Gem::Dependency
84
+ name: serverspec
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ! '>='
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ! '>='
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ description: DTK node agent is tool used to install and configure DTK agents.
98
+ email:
99
+ - rich@reactor8.com
100
+ executables:
101
+ - dtk-node-agent
102
+ extensions: []
103
+ extra_rdoc_files: []
104
+ files:
105
+ - README.md
106
+ - Gemfile
107
+ - Gemfile.lock
108
+ - dtk-node-agent.gemspec
109
+ - bin/dtk-node-agent
110
+ - lib/config/install.config
111
+ - lib/dtk-node-agent/installer.rb
112
+ - lib/dtk-node-agent/version.rb
113
+ - puppet_additions/modules/r8/lib/puppet/type/r8_export_file.rb
114
+ - puppet_additions/modules/r8/manifests/export_variable.rb
115
+ - puppet_additions/puppet_lib_base/puppet/indirector/catalog/r8_storeconfig_backend.rb
116
+ - puppet_additions/puppet_lib_base/puppet/indirector/r8_storeconfig_backend.rb
117
+ - puppet_additions/puppet_lib_base/puppet/indirector/resource/r8_storeconfig_backend.rb
118
+ - mcollective_additions/plugins/README.md
119
+ - mcollective_additions/plugins/v1.2/agent/discovery.rb
120
+ - mcollective_additions/plugins/v1.2/agent/get_log_fragment.ddl
121
+ - mcollective_additions/plugins/v1.2/agent/get_log_fragment.rb
122
+ - mcollective_additions/plugins/v1.2/agent/git_access.ddl
123
+ - mcollective_additions/plugins/v1.2/agent/git_access.rb
124
+ - mcollective_additions/plugins/v1.2/agent/netstat.ddl
125
+ - mcollective_additions/plugins/v1.2/agent/netstat.rb
126
+ - mcollective_additions/plugins/v1.2/agent/puppet_apply.ddl
127
+ - mcollective_additions/plugins/v1.2/agent/puppet_apply.rb
128
+ - mcollective_additions/plugins/v1.2/agent/rpcutil.ddl
129
+ - mcollective_additions/plugins/v1.2/agent/rpcutil.rb
130
+ - mcollective_additions/plugins/v1.2/facts/pbuilder_facts.rb
131
+ - mcollective_additions/plugins/v2.2/agent/dev_manager.ddl
132
+ - mcollective_additions/plugins/v2.2/agent/dev_manager.rb
133
+ - mcollective_additions/plugins/v2.2/agent/discovery.rb
134
+ - mcollective_additions/plugins/v2.2/agent/dtk_node_agent_git_client.rb
135
+ - mcollective_additions/plugins/v2.2/agent/execute_tests.ddl
136
+ - mcollective_additions/plugins/v2.2/agent/execute_tests.rb
137
+ - mcollective_additions/plugins/v2.2/agent/get_log_fragment.ddl
138
+ - mcollective_additions/plugins/v2.2/agent/get_log_fragment.rb
139
+ - mcollective_additions/plugins/v2.2/agent/git_access.ddl
140
+ - mcollective_additions/plugins/v2.2/agent/git_access.rb
141
+ - mcollective_additions/plugins/v2.2/agent/netstat.ddl
142
+ - mcollective_additions/plugins/v2.2/agent/netstat.rb
143
+ - mcollective_additions/plugins/v2.2/agent/ps.ddl
144
+ - mcollective_additions/plugins/v2.2/agent/ps.rb
145
+ - mcollective_additions/plugins/v2.2/agent/puppet_apply.ddl
146
+ - mcollective_additions/plugins/v2.2/agent/puppet_apply.rb
147
+ - mcollective_additions/plugins/v2.2/agent/puppet_cancel.ddl
148
+ - mcollective_additions/plugins/v2.2/agent/puppet_cancel.rb
149
+ - mcollective_additions/plugins/v2.2/agent/rpcutil.ddl
150
+ - mcollective_additions/plugins/v2.2/agent/rpcutil.rb
151
+ - mcollective_additions/plugins/v2.2/agent/sync_agent_code.ddl
152
+ - mcollective_additions/plugins/v2.2/agent/sync_agent_code.rb
153
+ - mcollective_additions/plugins/v2.2/agent/tail.ddl
154
+ - mcollective_additions/plugins/v2.2/agent/tail.rb
155
+ - mcollective_additions/plugins/v2.2/connector/r8stomp.rb
156
+ - mcollective_additions/plugins/v2.2/connector/stomp.rb
157
+ - mcollective_additions/plugins/v2.2/connector/stomp_em.rb
158
+ - mcollective_additions/plugins/v2.2/facts/pbuilder_facts.rb
159
+ - mcollective_additions/plugins/v2.2/security/sshkey.ddl
160
+ - mcollective_additions/plugins/v2.2/security/sshkey.rb
161
+ - mcollective_additions/server.cfg
162
+ - src/etc/init.d/ec2-run-user-data
163
+ - src/etc/logrotate.d/mcollective
164
+ - src/etc/logrotate.d/puppet
165
+ homepage: https://github.com/rich-reactor8/dtk-node-agent
166
+ licenses:
167
+ - GPL-3.0
168
+ metadata: {}
169
+ post_install_message:
170
+ rdoc_options: []
171
+ require_paths:
172
+ - lib
173
+ required_ruby_version: !ruby/object:Gem::Requirement
174
+ requirements:
175
+ - - ! '>='
176
+ - !ruby/object:Gem::Version
177
+ version: '0'
178
+ required_rubygems_version: !ruby/object:Gem::Requirement
179
+ requirements:
180
+ - - ! '>='
181
+ - !ruby/object:Gem::Version
182
+ version: '0'
183
+ requirements: []
184
+ rubyforge_project:
185
+ rubygems_version: 2.1.5
186
+ signing_key:
187
+ specification_version: 4
188
+ summary: DTK ndoe agent tool.
189
+ test_files: []