anamo 1.0.1 → 1.1.3
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.
- checksums.yaml +4 -4
- data/lib/anamo/node/start +3 -0
- data/lib/anamo/node/thor.rb +17 -1
- data/lib/anamo/pkgver/thor.rb +28 -11
- data/lib/anamo/version.rb +1 -1
- metadata +33 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b248375e60e38489f546fd888ad95d8ca1e8cd55ca297121ee8b61713f7cb49d
|
4
|
+
data.tar.gz: a972b4a46d6ba2bcaf52246d7a7127e99464cadf90e9bfd23832055c9cae8c72
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1f022479534a6af3a72588f75f064153d370f5986327c7d73dc522abc29ca13f88af74316765bb1ab22e6555f859a41032372b2fb78e1c876a133b5d5bdd15b4
|
7
|
+
data.tar.gz: e1ac6b4ff9a71f714c45528681439bc2a3fab7a2cb2194183b5d73e95981dd4d76e4eedc1b34548f5416f85bb2dab00ffba990c67ff3dbb45f8c2d26f687c8dd
|
data/lib/anamo/node/thor.rb
CHANGED
@@ -3,6 +3,9 @@ require 'thor'
|
|
3
3
|
require 'anamo/api'
|
4
4
|
require 'socket'
|
5
5
|
require 'yaml'
|
6
|
+
require 'train'
|
7
|
+
require 'sys/uname'
|
8
|
+
include Sys
|
6
9
|
|
7
10
|
module Anamo
|
8
11
|
module Node
|
@@ -35,12 +38,25 @@ module Anamo
|
|
35
38
|
ret = {}
|
36
39
|
|
37
40
|
config = YAML.load_file "/etc/anamo.conf.yml"
|
41
|
+
train = Train.create('local')
|
38
42
|
|
39
43
|
ret['api_key'] = config['api_key']
|
40
44
|
ret['beacon_modules'] = config['modules']
|
41
45
|
ret['node'] = {}
|
42
46
|
ret['node']['hostname'] = Socket.gethostname
|
43
47
|
ret['node']['ips'] = Socket.ip_address_list.map(){ |entry| entry.ip_address }.uniq
|
48
|
+
ret['node']['os_name'] = Train.create('local').connection.os[:name]
|
49
|
+
ret['node']['os_family'] = Train.create('local').connection.os[:family]
|
50
|
+
ret['node']['os_release'] = Train.create('local').connection.os[:release]
|
51
|
+
ret['node']['uname_sysname'] = Uname.sysname # => The operating system name. e.g. "SunOS"
|
52
|
+
ret['node']['uname_machine'] = Uname.machine # => The machine hardware type. e.g. "i686"
|
53
|
+
ret['node']['uname_version'] = Uname.version # => The operating system version. e.g. "5.8". Windows includes patch information.
|
54
|
+
ret['node']['uname_release'] = Uname.release # => The operating system release. e.g. "2.2.16-3"
|
55
|
+
ret['node']['uname_architecture'] = Uname.architecture # => Returns the instruction set architecture. e.g. "sparc"
|
56
|
+
ret['node']['uname_platform'] = Uname.platform # => The platform identifier. e.g. "SUNW,Sun-Blade-100"
|
57
|
+
ret['node']['uname_isa_list'] = Uname.isa_list # => List of supported instr. sets, e.g. "amd64 pentium_pro+mmx pentium_pro"
|
58
|
+
ret['node']['uname_hw_provider'] = Uname.hw_provider # => The name of the hardware manufacturer.
|
59
|
+
ret['node']['uname_hw_serial_number'] = Uname.hw_provider # => Uname.hw_serial_number # => The hardware serial number
|
44
60
|
|
45
61
|
puts ret if output
|
46
62
|
|
@@ -127,4 +143,4 @@ module Anamo
|
|
127
143
|
|
128
144
|
end
|
129
145
|
end
|
130
|
-
end
|
146
|
+
end
|
data/lib/anamo/pkgver/thor.rb
CHANGED
@@ -27,37 +27,54 @@ module Anamo
|
|
27
27
|
|
28
28
|
def inspect output = true
|
29
29
|
|
30
|
+
##############################
|
31
|
+
### RPM
|
32
|
+
##############################
|
33
|
+
|
30
34
|
rpm_packages = []
|
31
|
-
status, stdout, stderr = systemu "rpm -qa --qf '%{NAME}
|
35
|
+
status, stdout, stderr = systemu "rpm -qa --qf '%{NAME}abyz3_%{VERSION}abyz3_%{RELEASE}abyz3_%{ARCH}abyz3_%{VENDOR}abyz3_%{RPMTAG_INSTALLTIME}abyz3_%{SIZE}\n'" # See: http://ftp.rpm.org/max-rpm/ch-rpm-query.html
|
32
36
|
if status.success?
|
33
37
|
stdout.split("\n").each do |package|
|
34
|
-
package = package.split('
|
38
|
+
package = package.split('abyz3_') # because vendor can have spaces, make the delimiter something unique abyz3_
|
35
39
|
rpm_packages << {
|
36
|
-
'n'
|
37
|
-
'v'
|
38
|
-
'r'
|
39
|
-
'a'
|
40
|
+
'n' => package[0], #name
|
41
|
+
'v' => package[1], #version
|
42
|
+
'r' => package[2], #release
|
43
|
+
'a' => package[3], #architecture
|
44
|
+
'v2' => package[4], #vendor,
|
45
|
+
'it' => package[5], #install time, or ${RPMTAG_INSTALLTIME}
|
46
|
+
's' => package[6], #size, or ${SIZE}
|
40
47
|
}
|
41
48
|
end
|
42
49
|
else
|
43
50
|
rpm_packages = nil
|
44
51
|
end
|
52
|
+
|
45
53
|
|
54
|
+
##############################
|
55
|
+
### Debian
|
56
|
+
##############################
|
46
57
|
deb_packages = []
|
47
|
-
status, stdout, strerr = systemu "dpkg-query -W -f='${Package}
|
58
|
+
status, stdout, strerr = systemu "dpkg-query -W -f='${Package}abyz3_${Version}abyz3_${Architecture}abyz3_${Installed-Size}abyz3_${Homepage}\n'" #$options here under: http://manpages.ubuntu.com/manpages/trusty/man1/dpkg-query.1.html
|
48
59
|
if status.success?
|
49
60
|
stdout.split("\n").each do |package|
|
50
|
-
package = package.split('
|
61
|
+
package = package.split('abyz3_')
|
51
62
|
deb_packages << {
|
52
|
-
'n'
|
53
|
-
'v'
|
54
|
-
'a'
|
63
|
+
'n' => package[0], #package name, or ${Package}
|
64
|
+
'v' => package[1], #package version
|
65
|
+
'a' => package[2], #package architecture
|
66
|
+
's' => package[3], #size, or ${Installed-Size}
|
67
|
+
'hp' => package[4], #homepage, or ${Homepage}
|
55
68
|
}
|
56
69
|
end
|
57
70
|
else
|
58
71
|
deb_packages = nil
|
59
72
|
end
|
60
73
|
|
74
|
+
##############################
|
75
|
+
### Gem
|
76
|
+
##############################
|
77
|
+
|
61
78
|
gem_packages = []
|
62
79
|
status, stdout, stderr = systemu "gem list -l"
|
63
80
|
if status.success?
|
data/lib/anamo/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: anamo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
-
|
7
|
+
- Anamo, Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-07-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|
@@ -80,6 +80,34 @@ dependencies:
|
|
80
80
|
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: train
|
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
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: sys-uname
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :runtime
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
83
111
|
- !ruby/object:Gem::Dependency
|
84
112
|
name: bundler
|
85
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -94,7 +122,7 @@ dependencies:
|
|
94
122
|
- - ">="
|
95
123
|
- !ruby/object:Gem::Version
|
96
124
|
version: '0'
|
97
|
-
description:
|
125
|
+
description: Linux agent for app.anamo.io
|
98
126
|
email:
|
99
127
|
- jp@usprotech.com
|
100
128
|
executables:
|
@@ -109,6 +137,7 @@ files:
|
|
109
137
|
- lib/anamo/api.rb
|
110
138
|
- lib/anamo/fstree/thor.rb
|
111
139
|
- lib/anamo/groups/thor.rb
|
140
|
+
- lib/anamo/node/start
|
112
141
|
- lib/anamo/node/thor.rb
|
113
142
|
- lib/anamo/pkgver/thor.rb
|
114
143
|
- lib/anamo/ports/thor.rb
|