greenhat 0.4.0 → 0.6.1
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/bin/greenhat +1 -2
- data/lib/greenhat/accessors/disk.rb +1 -1
- data/lib/greenhat/accessors/gitlab.rb +4 -2
- data/lib/greenhat/archive.rb +7 -1
- data/lib/greenhat/cli.rb +24 -11
- data/lib/greenhat/entrypoint.rb +37 -34
- data/lib/greenhat/host.rb +1 -1
- data/lib/greenhat/logbot.rb +1 -1
- data/lib/greenhat/paper/flag_helper.rb +18 -0
- data/lib/greenhat/paper/paper_helper.rb +118 -0
- data/lib/greenhat/paper.rb +34 -0
- data/lib/greenhat/reports/builder.rb +98 -0
- data/lib/greenhat/reports/helpers.rb +101 -0
- data/lib/greenhat/reports/internal_methods.rb +156 -0
- data/lib/greenhat/reports/reports/errors.rb +49 -0
- data/lib/greenhat/reports/reports/faststats.rb +42 -0
- data/lib/greenhat/reports/reports/full.rb +143 -0
- data/lib/greenhat/reports/runner.rb +58 -0
- data/lib/greenhat/reports/shared.rb +37 -0
- data/lib/greenhat/reports/shell_helper.rb +34 -0
- data/lib/greenhat/reports.rb +79 -0
- data/lib/greenhat/settings.rb +35 -8
- data/lib/greenhat/shell/args.rb +9 -9
- data/lib/greenhat/shell/color_string.rb +1 -1
- data/lib/greenhat/shell/faststats.rb +24 -5
- data/lib/greenhat/shell/field_helper.rb +1 -1
- data/lib/greenhat/shell/filter_help.rb +65 -185
- data/lib/greenhat/shell/gitlab.rb +1 -0
- data/lib/greenhat/shell/log.rb +24 -30
- data/lib/greenhat/shell/markdown.rb +355 -352
- data/lib/greenhat/shell/process.rb +11 -5
- data/lib/greenhat/shell/query.rb +534 -0
- data/lib/greenhat/shell/report.rb +415 -410
- data/lib/greenhat/shell/reports.rb +41 -0
- data/lib/greenhat/shell/shell_helper.rb +95 -387
- data/lib/greenhat/shell.rb +22 -3
- data/lib/greenhat/thing/file_types.rb +30 -1
- data/lib/greenhat/thing/formatters/api_json.rb +4 -2
- data/lib/greenhat/thing/formatters/bracket_log.rb +1 -1
- data/lib/greenhat/thing/formatters/clean_raw.rb +1 -1
- data/lib/greenhat/thing/formatters/colon_split_strip.rb +2 -2
- data/lib/greenhat/thing/formatters/dotenv.rb +1 -1
- data/lib/greenhat/thing/formatters/format.rb +0 -11
- data/lib/greenhat/thing/formatters/free_m.rb +2 -2
- data/lib/greenhat/thing/formatters/json.rb +41 -17
- data/lib/greenhat/thing/formatters/json_shellwords.rb +3 -2
- data/lib/greenhat/thing/formatters/kube_json.rb +3 -2
- data/lib/greenhat/thing/formatters/multiline_json.rb +1 -1
- data/lib/greenhat/thing/formatters/nginx.rb +5 -1
- data/lib/greenhat/thing/formatters/runner_log.rb +70 -0
- data/lib/greenhat/thing/formatters/table.rb +17 -3
- data/lib/greenhat/thing/formatters/time_json.rb +12 -1
- data/lib/greenhat/thing/helpers.rb +0 -11
- data/lib/greenhat/thing/info_format.rb +4 -4
- data/lib/greenhat/thing/kind.rb +1 -1
- data/lib/greenhat/thing.rb +21 -25
- data/lib/greenhat/version.rb +1 -1
- data/lib/greenhat.rb +6 -8
- metadata +32 -4
- data/lib/greenhat/pry_helpers.rb +0 -51
- data/lib/greenhat/thing/super_log.rb +0 -102
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: greenhat
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Davin Walker
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-06-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: amazing_print
|
@@ -164,6 +164,20 @@ dependencies:
|
|
164
164
|
- - "~>"
|
165
165
|
- !ruby/object:Gem::Version
|
166
166
|
version: '2.7'
|
167
|
+
- !ruby/object:Gem::Dependency
|
168
|
+
name: gitlab_chronic_duration
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
170
|
+
requirements:
|
171
|
+
- - "~>"
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: 0.10.6
|
174
|
+
type: :runtime
|
175
|
+
prerelease: false
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
177
|
+
requirements:
|
178
|
+
- - "~>"
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: 0.10.6
|
167
181
|
- !ruby/object:Gem::Dependency
|
168
182
|
name: hash_dot
|
169
183
|
requirement: !ruby/object:Gem::Requirement
|
@@ -454,7 +468,19 @@ files:
|
|
454
468
|
- lib/greenhat/entrypoint.rb
|
455
469
|
- lib/greenhat/host.rb
|
456
470
|
- lib/greenhat/logbot.rb
|
457
|
-
- lib/greenhat/
|
471
|
+
- lib/greenhat/paper.rb
|
472
|
+
- lib/greenhat/paper/flag_helper.rb
|
473
|
+
- lib/greenhat/paper/paper_helper.rb
|
474
|
+
- lib/greenhat/reports.rb
|
475
|
+
- lib/greenhat/reports/builder.rb
|
476
|
+
- lib/greenhat/reports/helpers.rb
|
477
|
+
- lib/greenhat/reports/internal_methods.rb
|
478
|
+
- lib/greenhat/reports/reports/errors.rb
|
479
|
+
- lib/greenhat/reports/reports/faststats.rb
|
480
|
+
- lib/greenhat/reports/reports/full.rb
|
481
|
+
- lib/greenhat/reports/runner.rb
|
482
|
+
- lib/greenhat/reports/shared.rb
|
483
|
+
- lib/greenhat/reports/shell_helper.rb
|
458
484
|
- lib/greenhat/settings.rb
|
459
485
|
- lib/greenhat/shell.rb
|
460
486
|
- lib/greenhat/shell/args.rb
|
@@ -476,7 +502,9 @@ files:
|
|
476
502
|
- lib/greenhat/shell/pipe.rb
|
477
503
|
- lib/greenhat/shell/platform.rb
|
478
504
|
- lib/greenhat/shell/process.rb
|
505
|
+
- lib/greenhat/shell/query.rb
|
479
506
|
- lib/greenhat/shell/report.rb
|
507
|
+
- lib/greenhat/shell/reports.rb
|
480
508
|
- lib/greenhat/shell/shell_helper.rb
|
481
509
|
- lib/greenhat/thing.rb
|
482
510
|
- lib/greenhat/thing/file_types.rb
|
@@ -498,6 +526,7 @@ files:
|
|
498
526
|
- lib/greenhat/thing/formatters/nginx.rb
|
499
527
|
- lib/greenhat/thing/formatters/raw.rb
|
500
528
|
- lib/greenhat/thing/formatters/registry.rb
|
529
|
+
- lib/greenhat/thing/formatters/runner_log.rb
|
501
530
|
- lib/greenhat/thing/formatters/shellwords.rb
|
502
531
|
- lib/greenhat/thing/formatters/syslog.rb
|
503
532
|
- lib/greenhat/thing/formatters/table.rb
|
@@ -509,7 +538,6 @@ files:
|
|
509
538
|
- lib/greenhat/thing/info_format.rb
|
510
539
|
- lib/greenhat/thing/kind.rb
|
511
540
|
- lib/greenhat/thing/spinner.rb
|
512
|
-
- lib/greenhat/thing/super_log.rb
|
513
541
|
- lib/greenhat/tty/columns.rb
|
514
542
|
- lib/greenhat/tty/custom_line.rb
|
515
543
|
- lib/greenhat/tty/line.rb
|
data/lib/greenhat/pry_helpers.rb
DELETED
@@ -1,51 +0,0 @@
|
|
1
|
-
def show(data)
|
2
|
-
pastel = Pastel.new
|
3
|
-
TTY::Pager.page do |pager|
|
4
|
-
data.each do |e|
|
5
|
-
table = TTY::Table.new(header: e.keys, rows: [e], orientation: :vertical)
|
6
|
-
# do some work with the line
|
7
|
-
|
8
|
-
output = table.render(:unicode, multiline: false) do |renderer|
|
9
|
-
renderer.border.style = :cyan
|
10
|
-
# renderer.filter = ->(val, row_index, col_index) do
|
11
|
-
# val.ai
|
12
|
-
# end
|
13
|
-
|
14
|
-
renderer.filter = lambda { |val, _row_index, col_index|
|
15
|
-
puts val.class unless val.instance_of? String
|
16
|
-
if col_index == 1
|
17
|
-
if val.numeric?
|
18
|
-
pastel.red.blue(val)
|
19
|
-
else
|
20
|
-
val
|
21
|
-
end
|
22
|
-
else
|
23
|
-
val
|
24
|
-
end
|
25
|
-
# .ai(raw: true).gsub('"','')
|
26
|
-
}
|
27
|
-
end
|
28
|
-
|
29
|
-
pager.write("\n#{output}") # write line to the pager
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
34
|
-
def filter(data, params = {})
|
35
|
-
result = data.clone
|
36
|
-
params.each do |k, v|
|
37
|
-
result.select! do |row|
|
38
|
-
if row.key? k.to_sym
|
39
|
-
row[k.to_sym].include? v
|
40
|
-
else
|
41
|
-
false
|
42
|
-
end
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
|
-
result
|
47
|
-
end
|
48
|
-
|
49
|
-
def version
|
50
|
-
Thing.find_by(name: 'gitlab_version_manifest_json').data.build_version
|
51
|
-
end
|
@@ -1,102 +0,0 @@
|
|
1
|
-
# TODO: Deprecate, was used specifically for Elk
|
2
|
-
# rubocop:disable /AbcSize, Metrics/CyclomaticComplexity, Metrics/MethodLength, Metrics/PerceivedComplexity, Metrics/
|
3
|
-
module GreenHat
|
4
|
-
# Log Identifier
|
5
|
-
module SuperLog
|
6
|
-
def self.log?(kind)
|
7
|
-
[
|
8
|
-
'gitaly/current',
|
9
|
-
'gitaly/gitaly_ruby_json.log',
|
10
|
-
'gitlab-rails/api_json.log',
|
11
|
-
'gitlab-rails/application_json.log',
|
12
|
-
'gitlab-rails/audit_json.log',
|
13
|
-
'gitlab-rails/graphql_json.log',
|
14
|
-
'gitlab-rails/integrations_json.log',
|
15
|
-
'gitlab-rails/production_json.log',
|
16
|
-
'gitlab-rails/sidekiq_client.log',
|
17
|
-
'gitlab-shell/gitlab-shell.log',
|
18
|
-
'gitlab-workhorse/current',
|
19
|
-
'puma/puma_stdout.log',
|
20
|
-
'sidekiq/current',
|
21
|
-
'gitlab-rails/importer.log',
|
22
|
-
'gitlabsos.log',
|
23
|
-
'nginx/gitlab_access.log',
|
24
|
-
'patroni/current'
|
25
|
-
].any? { |x| x.include? kind.to_s }
|
26
|
-
|
27
|
-
true
|
28
|
-
end
|
29
|
-
|
30
|
-
# ==========================================================================
|
31
|
-
# File Pattern Matching
|
32
|
-
# ==========================================================================
|
33
|
-
def self.api_json_format?(path)
|
34
|
-
['rails_api_json_log'].any? { |x| path.include? x }
|
35
|
-
end
|
36
|
-
|
37
|
-
def self.unicorn_stderr_format?(path)
|
38
|
-
%w[
|
39
|
-
unicorn_stderr
|
40
|
-
].any? { |x| path.include? x }
|
41
|
-
end
|
42
|
-
|
43
|
-
def self.reconfigure_format?(path)
|
44
|
-
%w[
|
45
|
-
reconfigure
|
46
|
-
].any? { |x| path.include? x }
|
47
|
-
end
|
48
|
-
|
49
|
-
def self.shellwords?(path)
|
50
|
-
%w[
|
51
|
-
gitlab_pages_current
|
52
|
-
alertmanager_current
|
53
|
-
registry_current
|
54
|
-
prometheus_current
|
55
|
-
|
56
|
-
].any? { |x| path.include? x }
|
57
|
-
end
|
58
|
-
|
59
|
-
def self.time_space?(path)
|
60
|
-
%w[
|
61
|
-
postgresql_current
|
62
|
-
redis_current
|
63
|
-
unicorn_current
|
64
|
-
gitlab_monitor_current
|
65
|
-
sidekiq_exporter_log
|
66
|
-
].any? { |x| path.include? x }
|
67
|
-
end
|
68
|
-
|
69
|
-
def self.json_format?(path)
|
70
|
-
%w[
|
71
|
-
production_json_log
|
72
|
-
gitaly_current
|
73
|
-
geo_log
|
74
|
-
sidekiq_current
|
75
|
-
sidekiq_log
|
76
|
-
gitlab_shell_gitlab_shell_log
|
77
|
-
gitlab_rails_audit_json_log
|
78
|
-
gitlab_rails_application_json_log
|
79
|
-
].any? { |x| path.include? x }
|
80
|
-
end
|
81
|
-
|
82
|
-
def self.dmesg_format?(path)
|
83
|
-
%w[
|
84
|
-
dmesg
|
85
|
-
].any? { |x| path.include? x }
|
86
|
-
end
|
87
|
-
# ==========================================================================
|
88
|
-
|
89
|
-
# Identify Formatter
|
90
|
-
def self.type?(path)
|
91
|
-
return :api_json_format if api_json_format?(path)
|
92
|
-
return :unicorn_stderr_format if unicorn_stderr_format?(path)
|
93
|
-
return :reconfigure_format if reconfigure_format?(path)
|
94
|
-
return :shellwords if shellwords?(path)
|
95
|
-
return :time_space if time_space?(path)
|
96
|
-
return :json_format if json_format?(path)
|
97
|
-
return :dmesg_format if dmesg_format?(path)
|
98
|
-
|
99
|
-
nil
|
100
|
-
end
|
101
|
-
end
|
102
|
-
end
|