dtk-node-agent 0.5.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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: []