moose-inventory 1.0.7 → 1.0.9

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 (81) hide show
  1. checksums.yaml +5 -5
  2. data/.github/workflows/ci.yml +35 -0
  3. data/.gitignore +1 -1
  4. data/BACKLOG.md +184 -0
  5. data/Gemfile.lock +60 -0
  6. data/README.md +23 -5
  7. data/bin/moose-inventory +1 -1
  8. data/docs/release/publishing.md +113 -0
  9. data/docs/release/release-readiness.md +41 -0
  10. data/docs/security-audit-2026-05-21.md +71 -0
  11. data/lib/moose_inventory/cli/formatter.rb +16 -17
  12. data/lib/moose_inventory/cli/group.rb +1 -1
  13. data/lib/moose_inventory/cli/group_add.rb +19 -21
  14. data/lib/moose_inventory/cli/group_addchild.rb +36 -40
  15. data/lib/moose_inventory/cli/group_addhost.rb +14 -18
  16. data/lib/moose_inventory/cli/group_addvar.rb +37 -37
  17. data/lib/moose_inventory/cli/group_get.rb +23 -26
  18. data/lib/moose_inventory/cli/group_list.rb +12 -15
  19. data/lib/moose_inventory/cli/group_listvars.rb +12 -14
  20. data/lib/moose_inventory/cli/group_rm.rb +36 -21
  21. data/lib/moose_inventory/cli/group_rmchild.rb +5 -6
  22. data/lib/moose_inventory/cli/group_rmhost.rb +12 -16
  23. data/lib/moose_inventory/cli/group_rmvar.rb +5 -5
  24. data/lib/moose_inventory/cli/host.rb +1 -1
  25. data/lib/moose_inventory/cli/host_add.rb +18 -18
  26. data/lib/moose_inventory/cli/host_addgroup.rb +9 -9
  27. data/lib/moose_inventory/cli/host_addvar.rb +6 -6
  28. data/lib/moose_inventory/cli/host_get.rb +15 -18
  29. data/lib/moose_inventory/cli/host_list.rb +3 -3
  30. data/lib/moose_inventory/cli/host_listvars.rb +21 -23
  31. data/lib/moose_inventory/cli/host_rm.rb +9 -9
  32. data/lib/moose_inventory/cli/host_rmgroup.rb +5 -5
  33. data/lib/moose_inventory/cli/host_rmvar.rb +3 -3
  34. data/lib/moose_inventory/config/config.rb +43 -40
  35. data/lib/moose_inventory/db/db.rb +70 -50
  36. data/lib/moose_inventory/db/models.rb +11 -12
  37. data/lib/moose_inventory/version.rb +1 -1
  38. data/moose-inventory.gemspec +35 -20
  39. data/scripts/check.sh +8 -0
  40. data/scripts/ci/check_permissions.sh +32 -0
  41. data/scripts/ci/check_security.sh +50 -0
  42. data/scripts/ci/package_sanity.sh +46 -0
  43. data/scripts/files.rb +1 -4
  44. data/scripts/install_dependencies.sh +17 -0
  45. data/scripts/reports.sh +2 -2
  46. data/spec/lib/moose_inventory/cli/cli_spec.rb +13 -14
  47. data/spec/lib/moose_inventory/cli/group_add_spec.rb +118 -119
  48. data/spec/lib/moose_inventory/cli/group_addchild_spec.rb +49 -51
  49. data/spec/lib/moose_inventory/cli/group_addhost_spec.rb +80 -83
  50. data/spec/lib/moose_inventory/cli/group_addvar_spec.rb +91 -91
  51. data/spec/lib/moose_inventory/cli/group_get_spec.rb +22 -23
  52. data/spec/lib/moose_inventory/cli/group_list_spec.rb +19 -20
  53. data/spec/lib/moose_inventory/cli/group_listvar_spec.rb +35 -36
  54. data/spec/lib/moose_inventory/cli/group_rm_spec.rb +103 -49
  55. data/spec/lib/moose_inventory/cli/group_rmchild_spec.rb +41 -45
  56. data/spec/lib/moose_inventory/cli/group_rmhost_spec.rb +43 -46
  57. data/spec/lib/moose_inventory/cli/group_rmvar_spec.rb +131 -131
  58. data/spec/lib/moose_inventory/cli/group_spec.rb +9 -9
  59. data/spec/lib/moose_inventory/cli/host_add_spec.rb +103 -43
  60. data/spec/lib/moose_inventory/cli/host_addgroup_spec.rb +78 -80
  61. data/spec/lib/moose_inventory/cli/host_addvar_spec.rb +122 -122
  62. data/spec/lib/moose_inventory/cli/host_get_spec.rb +16 -16
  63. data/spec/lib/moose_inventory/cli/host_list_spec.rb +8 -8
  64. data/spec/lib/moose_inventory/cli/host_listvar_spec.rb +50 -52
  65. data/spec/lib/moose_inventory/cli/host_rm_spec.rb +12 -12
  66. data/spec/lib/moose_inventory/cli/host_rmgroup_spec.rb +48 -51
  67. data/spec/lib/moose_inventory/cli/host_rmvar_spec.rb +136 -136
  68. data/spec/lib/moose_inventory/config/config_spec.rb +16 -3
  69. data/spec/lib/moose_inventory/db/db_spec.rb +224 -2
  70. data/spec/lib/moose_inventory/db/models_spec.rb +10 -11
  71. data/spec/shared/shared_config_setup.rb +2 -2
  72. data/spec/spec_helper.rb +7 -8
  73. metadata +99 -136
  74. data/.coveralls.yml +0 -0
  75. data/.rubocop.yml +0 -793
  76. data/Guardfile +0 -38
  77. data/config/dotfiles/coveralls.yml +0 -0
  78. data/config/dotfiles/gitignore +0 -20
  79. data/config/dotfiles/rubocop.yml +0 -793
  80. data/scripts/guard_quality.sh +0 -3
  81. data/scripts/guard_test.sh +0 -2
@@ -4,7 +4,7 @@ RSpec.shared_context 'shared config init', a: :b do
4
4
  @mockarg_parts = {
5
5
  config: File.join(spec_dir, 'config/config.yml'),
6
6
  format: 'yaml',
7
- env: 'test'
7
+ env: 'test',
8
8
  }
9
9
 
10
10
  @mockargs = []
@@ -16,6 +16,6 @@ RSpec.shared_context 'shared config init', a: :b do
16
16
  @config = Moose::Inventory::Config
17
17
  @config.init(@mockargs)
18
18
 
19
- @db = Moose::Inventory::DB
19
+ @db = Moose::Inventory::DB
20
20
  end
21
21
  end
data/spec/spec_helper.rb CHANGED
@@ -1,10 +1,7 @@
1
1
  if RUBY_VERSION >= '1.9'
2
2
  require 'simplecov'
3
- require 'coveralls'
4
-
5
3
  SimpleCov.formatters = [
6
- SimpleCov::Formatter::HTMLFormatter # ,
7
- # Coveralls::SimpleCov::Formatter
4
+ SimpleCov::Formatter::HTMLFormatter
8
5
  ]
9
6
 
10
7
  SimpleCov.start do
@@ -31,11 +28,12 @@ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__),
31
28
  require 'rspec'
32
29
  require 'json'
33
30
  require 'yaml'
31
+ require 'fileutils'
34
32
  require 'find'
35
33
  require 'moose_inventory'
36
34
 
37
35
  RSpec.configure do |config|
38
- #config.filter_run focus: true # <- enable to allow test focus
36
+ # config.filter_run focus: true # <- enable to allow test focus
39
37
  config.color = true
40
38
  config.tty = true
41
39
  config.formatter = :progress #:documentation # :progress, :html, :textmate
@@ -87,7 +85,7 @@ RSpec.configure do |config|
87
85
  def expected(actual, desired)
88
86
  desired[:aborted].nil? && desired[:aborted] = false
89
87
  desired[:STDOUT].nil? && desired[:STDOUT] = ''
90
- desired[:STDERR].nil? && desired[:STDERR] = ''
88
+ desired[:STDERR].nil? && desired[:STDERR] = ''
91
89
 
92
90
  expect(actual[:unexpected]).to eq(false)
93
91
  expect(actual[:aborted]).to eq(desired[:aborted])
@@ -96,9 +94,10 @@ RSpec.configure do |config|
96
94
  end
97
95
 
98
96
  def clobber_db_files
97
+ FileUtils.mkdir_p('tmp')
99
98
  paths = []
100
- Find.find('tmp/') { |path| paths << path if path =~ /.*\.db$/ }
101
- paths.each { |file| File.delete(file) }
99
+ Find.find('tmp') { |path| paths << path if path =~ /.*\.db$/ }
100
+ paths.each { |file| File.delete(file) }
102
101
  end
103
102
 
104
103
  def spec_root
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: moose-inventory
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.7
4
+ version: 1.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Russell Davies
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2015-08-03 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: indentation
@@ -16,238 +15,202 @@ dependencies:
16
15
  requirements:
17
16
  - - "~>"
18
17
  - !ruby/object:Gem::Version
19
- version: '0.1'
18
+ version: '0'
20
19
  type: :runtime
21
20
  prerelease: false
22
21
  version_requirements: !ruby/object:Gem::Requirement
23
22
  requirements:
24
23
  - - "~>"
25
24
  - !ruby/object:Gem::Version
26
- version: '0.1'
25
+ version: '0'
27
26
  - !ruby/object:Gem::Dependency
28
27
  name: json
29
28
  requirement: !ruby/object:Gem::Requirement
30
29
  requirements:
31
- - - "~>"
30
+ - - ">="
32
31
  - !ruby/object:Gem::Version
33
- version: '1.8'
32
+ version: '2.7'
33
+ - - "<"
34
+ - !ruby/object:Gem::Version
35
+ version: '3'
34
36
  type: :runtime
35
37
  prerelease: false
36
38
  version_requirements: !ruby/object:Gem::Requirement
37
39
  requirements:
38
- - - "~>"
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ version: '2.7'
43
+ - - "<"
39
44
  - !ruby/object:Gem::Version
40
- version: '1.8'
45
+ version: '3'
41
46
  - !ruby/object:Gem::Dependency
42
- name: mysql
47
+ name: mysql2
43
48
  requirement: !ruby/object:Gem::Requirement
44
49
  requirements:
45
- - - "~>"
50
+ - - ">="
46
51
  - !ruby/object:Gem::Version
47
- version: '2.9'
52
+ version: 0.5.7
53
+ - - "<"
54
+ - !ruby/object:Gem::Version
55
+ version: '0.6'
48
56
  type: :runtime
49
57
  prerelease: false
50
58
  version_requirements: !ruby/object:Gem::Requirement
51
59
  requirements:
52
- - - "~>"
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: 0.5.7
63
+ - - "<"
53
64
  - !ruby/object:Gem::Version
54
- version: '2.9'
65
+ version: '0.6'
55
66
  - !ruby/object:Gem::Dependency
56
67
  name: pg
57
68
  requirement: !ruby/object:Gem::Requirement
58
69
  requirements:
59
- - - "~>"
70
+ - - ">="
71
+ - !ruby/object:Gem::Version
72
+ version: '1.5'
73
+ - - "<"
60
74
  - !ruby/object:Gem::Version
61
- version: '0.17'
75
+ version: '2'
62
76
  type: :runtime
63
77
  prerelease: false
64
78
  version_requirements: !ruby/object:Gem::Requirement
65
79
  requirements:
66
- - - "~>"
80
+ - - ">="
67
81
  - !ruby/object:Gem::Version
68
- version: '0.17'
82
+ version: '1.5'
83
+ - - "<"
84
+ - !ruby/object:Gem::Version
85
+ version: '2'
69
86
  - !ruby/object:Gem::Dependency
70
87
  name: sequel
71
88
  requirement: !ruby/object:Gem::Requirement
72
89
  requirements:
73
- - - "~>"
90
+ - - ">="
91
+ - !ruby/object:Gem::Version
92
+ version: '5.80'
93
+ - - "<"
74
94
  - !ruby/object:Gem::Version
75
- version: '4.22'
95
+ version: '6'
76
96
  type: :runtime
77
97
  prerelease: false
78
98
  version_requirements: !ruby/object:Gem::Requirement
79
99
  requirements:
80
- - - "~>"
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ version: '5.80'
103
+ - - "<"
81
104
  - !ruby/object:Gem::Version
82
- version: '4.22'
105
+ version: '6'
83
106
  - !ruby/object:Gem::Dependency
84
107
  name: sqlite3
85
108
  requirement: !ruby/object:Gem::Requirement
86
109
  requirements:
87
- - - "~>"
110
+ - - ">="
88
111
  - !ruby/object:Gem::Version
89
- version: '1.3'
112
+ version: '1.7'
113
+ - - "<"
114
+ - !ruby/object:Gem::Version
115
+ version: '3'
90
116
  type: :runtime
91
117
  prerelease: false
92
118
  version_requirements: !ruby/object:Gem::Requirement
93
119
  requirements:
94
- - - "~>"
120
+ - - ">="
95
121
  - !ruby/object:Gem::Version
96
- version: '1.3'
122
+ version: '1.7'
123
+ - - "<"
124
+ - !ruby/object:Gem::Version
125
+ version: '3'
97
126
  - !ruby/object:Gem::Dependency
98
127
  name: thor
99
128
  requirement: !ruby/object:Gem::Requirement
100
129
  requirements:
101
- - - "~>"
130
+ - - ">="
131
+ - !ruby/object:Gem::Version
132
+ version: '1.3'
133
+ - - "<"
102
134
  - !ruby/object:Gem::Version
103
- version: '0.19'
135
+ version: '2'
104
136
  type: :runtime
105
137
  prerelease: false
106
138
  version_requirements: !ruby/object:Gem::Requirement
107
139
  requirements:
108
- - - "~>"
109
- - !ruby/object:Gem::Version
110
- version: '0.19'
111
- - !ruby/object:Gem::Dependency
112
- name: bundler
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - "~>"
140
+ - - ">="
116
141
  - !ruby/object:Gem::Version
117
- version: '1.10'
118
- type: :development
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - "~>"
142
+ version: '1.3'
143
+ - - "<"
123
144
  - !ruby/object:Gem::Version
124
- version: '1.10'
145
+ version: '2'
125
146
  - !ruby/object:Gem::Dependency
126
- name: coveralls
147
+ name: bundler
127
148
  requirement: !ruby/object:Gem::Requirement
128
149
  requirements:
129
- - - "~>"
130
- - !ruby/object:Gem::Version
131
- version: '0.8'
132
- type: :development
133
- prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - "~>"
150
+ - - ">="
137
151
  - !ruby/object:Gem::Version
138
- version: '0.8'
139
- - !ruby/object:Gem::Dependency
140
- name: hitimes
141
- requirement: !ruby/object:Gem::Requirement
142
- requirements:
143
- - - "~>"
152
+ version: 2.2.33
153
+ - - "<"
144
154
  - !ruby/object:Gem::Version
145
- version: '1.2'
155
+ version: '3'
146
156
  type: :development
147
157
  prerelease: false
148
158
  version_requirements: !ruby/object:Gem::Requirement
149
159
  requirements:
150
- - - "~>"
151
- - !ruby/object:Gem::Version
152
- version: '1.2'
153
- - !ruby/object:Gem::Dependency
154
- name: guard
155
- requirement: !ruby/object:Gem::Requirement
156
- requirements:
157
- - - "~>"
160
+ - - ">="
158
161
  - !ruby/object:Gem::Version
159
- version: '2.12'
160
- type: :development
161
- prerelease: false
162
- version_requirements: !ruby/object:Gem::Requirement
163
- requirements:
164
- - - "~>"
162
+ version: 2.2.33
163
+ - - "<"
165
164
  - !ruby/object:Gem::Version
166
- version: '2.12'
165
+ version: '3'
167
166
  - !ruby/object:Gem::Dependency
168
- name: guard-rspec
167
+ name: rake
169
168
  requirement: !ruby/object:Gem::Requirement
170
169
  requirements:
171
- - - "~>"
172
- - !ruby/object:Gem::Version
173
- version: '4.5'
174
- type: :development
175
- prerelease: false
176
- version_requirements: !ruby/object:Gem::Requirement
177
- requirements:
178
- - - "~>"
170
+ - - ">="
179
171
  - !ruby/object:Gem::Version
180
- version: '4.5'
181
- - !ruby/object:Gem::Dependency
182
- name: guard-rubocop
183
- requirement: !ruby/object:Gem::Requirement
184
- requirements:
185
- - - "~>"
172
+ version: '13.0'
173
+ - - "<"
186
174
  - !ruby/object:Gem::Version
187
- version: '1.2'
175
+ version: '14'
188
176
  type: :development
189
177
  prerelease: false
190
178
  version_requirements: !ruby/object:Gem::Requirement
191
179
  requirements:
192
- - - "~>"
193
- - !ruby/object:Gem::Version
194
- version: '1.2'
195
- - !ruby/object:Gem::Dependency
196
- name: rake
197
- requirement: !ruby/object:Gem::Requirement
198
- requirements:
199
- - - "~>"
180
+ - - ">="
200
181
  - !ruby/object:Gem::Version
201
- version: '10.1'
202
- type: :development
203
- prerelease: false
204
- version_requirements: !ruby/object:Gem::Requirement
205
- requirements:
206
- - - "~>"
182
+ version: '13.0'
183
+ - - "<"
207
184
  - !ruby/object:Gem::Version
208
- version: '10.1'
185
+ version: '14'
209
186
  - !ruby/object:Gem::Dependency
210
187
  name: rspec
211
188
  requirement: !ruby/object:Gem::Requirement
212
189
  requirements:
213
190
  - - "~>"
214
191
  - !ruby/object:Gem::Version
215
- version: '3.2'
192
+ version: '3'
216
193
  type: :development
217
194
  prerelease: false
218
195
  version_requirements: !ruby/object:Gem::Requirement
219
196
  requirements:
220
197
  - - "~>"
221
198
  - !ruby/object:Gem::Version
222
- version: '3.2'
223
- - !ruby/object:Gem::Dependency
224
- name: rubocop
225
- requirement: !ruby/object:Gem::Requirement
226
- requirements:
227
- - - ">="
228
- - !ruby/object:Gem::Version
229
- version: '0.19'
230
- type: :development
231
- prerelease: false
232
- version_requirements: !ruby/object:Gem::Requirement
233
- requirements:
234
- - - ">="
235
- - !ruby/object:Gem::Version
236
- version: '0.19'
199
+ version: '3'
237
200
  - !ruby/object:Gem::Dependency
238
201
  name: simplecov
239
202
  requirement: !ruby/object:Gem::Requirement
240
203
  requirements:
241
204
  - - "~>"
242
205
  - !ruby/object:Gem::Version
243
- version: '0.10'
206
+ version: '0'
244
207
  type: :development
245
208
  prerelease: false
246
209
  version_requirements: !ruby/object:Gem::Requirement
247
210
  requirements:
248
211
  - - "~>"
249
212
  - !ruby/object:Gem::Version
250
- version: '0.10'
213
+ version: '0'
251
214
  description: The Moosecastle CLI tool for Ansible-compatable dynamic inventory management.
252
215
  email:
253
216
  - russell@blakemere.ca
@@ -256,18 +219,18 @@ executables:
256
219
  extensions: []
257
220
  extra_rdoc_files: []
258
221
  files:
259
- - ".coveralls.yml"
222
+ - ".github/workflows/ci.yml"
260
223
  - ".gitignore"
261
- - ".rubocop.yml"
224
+ - BACKLOG.md
262
225
  - Gemfile
263
- - Guardfile
226
+ - Gemfile.lock
264
227
  - LICENSE.txt
265
228
  - README.md
266
229
  - Rakefile
267
230
  - bin/moose-inventory
268
- - config/dotfiles/coveralls.yml
269
- - config/dotfiles/gitignore
270
- - config/dotfiles/rubocop.yml
231
+ - docs/release/publishing.md
232
+ - docs/release/release-readiness.md
233
+ - docs/security-audit-2026-05-21.md
271
234
  - lib/moose_inventory.rb
272
235
  - lib/moose_inventory/cli/application.rb
273
236
  - lib/moose_inventory/cli/formatter.rb
@@ -299,9 +262,12 @@ files:
299
262
  - lib/moose_inventory/db/models.rb
300
263
  - lib/moose_inventory/version.rb
301
264
  - moose-inventory.gemspec
265
+ - scripts/check.sh
266
+ - scripts/ci/check_permissions.sh
267
+ - scripts/ci/check_security.sh
268
+ - scripts/ci/package_sanity.sh
302
269
  - scripts/files.rb
303
- - scripts/guard_quality.sh
304
- - scripts/guard_test.sh
270
+ - scripts/install_dependencies.sh
305
271
  - scripts/reports.sh
306
272
  - scripts/work-through.sh
307
273
  - spec/config/config.yml
@@ -339,7 +305,6 @@ homepage: https://github.com/RusDavies/moose-inventory
339
305
  licenses:
340
306
  - MIT
341
307
  metadata: {}
342
- post_install_message:
343
308
  rdoc_options: []
344
309
  require_paths:
345
310
  - lib
@@ -347,16 +312,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
347
312
  requirements:
348
313
  - - ">="
349
314
  - !ruby/object:Gem::Version
350
- version: '0'
315
+ version: '3.2'
351
316
  required_rubygems_version: !ruby/object:Gem::Requirement
352
317
  requirements:
353
318
  - - ">="
354
319
  - !ruby/object:Gem::Version
355
320
  version: '0'
356
321
  requirements: []
357
- rubyforge_project:
358
- rubygems_version: 2.2.3
359
- signing_key:
322
+ rubygems_version: 3.6.9
360
323
  specification_version: 4
361
324
  summary: Moose-tools inventory manager
362
325
  test_files:
data/.coveralls.yml DELETED
File without changes