oxidized 0.34.3 → 0.36.0

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 (126) hide show
  1. checksums.yaml +4 -4
  2. data/.coderabbit.yaml +21 -0
  3. data/.github/workflows/codeql.yml +4 -4
  4. data/.github/workflows/publishdocker.yml +88 -15
  5. data/.github/workflows/ruby.yml +2 -4
  6. data/.github/workflows/stale.yml +1 -1
  7. data/.rubocop.yml +14 -2
  8. data/.rubocop_todo.yml +21 -2
  9. data/CHANGELOG.md +86 -1
  10. data/Dockerfile +74 -66
  11. data/README.md +4 -5
  12. data/Rakefile +21 -3
  13. data/docs/Configuration.md +122 -1
  14. data/docs/Creating-Models.md +209 -28
  15. data/docs/Docker.md +2 -1
  16. data/docs/Inputs.md +29 -0
  17. data/docs/Model-Notes/APC.md +72 -0
  18. data/docs/Model-Notes/ExaLink.md +43 -0
  19. data/docs/Model-Notes/Fortinet.md +75 -0
  20. data/docs/Model-Notes/IvantiConnectSecure.md +59 -0
  21. data/docs/Model-Notes/TrueNAS.md +19 -0
  22. data/docs/ModelUnitTests.md +23 -0
  23. data/docs/Outputs.md +18 -4
  24. data/docs/Release.md +1 -1
  25. data/docs/Ruby-API.md +134 -1
  26. data/docs/Supported-OS-Types.md +22 -8
  27. data/docs/Troubleshooting.md +1 -1
  28. data/extra/device2yaml.rb +2 -3
  29. data/extra/hooks/modelrules.rb +55 -0
  30. data/extra/hooks/modelrulesadvanced.rb +168 -0
  31. data/extra/hooks/srcipmap.rb +54 -0
  32. data/extra/oxidized.runit +1 -1
  33. data/lib/oxidized/core.rb +2 -1
  34. data/lib/oxidized/hook/githubrepo.rb +2 -1
  35. data/lib/oxidized/hook.rb +56 -8
  36. data/lib/oxidized/input/exec.rb +0 -4
  37. data/lib/oxidized/input/ftp.rb +0 -13
  38. data/lib/oxidized/input/http.rb +47 -15
  39. data/lib/oxidized/input/input.rb +33 -13
  40. data/lib/oxidized/input/scp.rb +11 -65
  41. data/lib/oxidized/input/ssh.rb +12 -62
  42. data/lib/oxidized/input/sshbase.rb +107 -0
  43. data/lib/oxidized/input/telnet.rb +2 -6
  44. data/lib/oxidized/input/tftp.rb +7 -3
  45. data/lib/oxidized/model/adva.rb +1 -1
  46. data/lib/oxidized/model/airfiber.rb +1 -1
  47. data/lib/oxidized/model/aoscx.rb +32 -45
  48. data/lib/oxidized/model/aosw.rb +11 -12
  49. data/lib/oxidized/model/apc_aos.rb +4 -0
  50. data/lib/oxidized/model/apcaos.rb +39 -0
  51. data/lib/oxidized/model/arubainstant.rb +29 -26
  52. data/lib/oxidized/model/asa.rb +7 -7
  53. data/lib/oxidized/model/asternos.rb +1 -1
  54. data/lib/oxidized/model/axos.rb +1 -1
  55. data/lib/oxidized/model/comtrol.rb +1 -1
  56. data/lib/oxidized/model/comware.rb +3 -1
  57. data/lib/oxidized/model/cumulus.rb +2 -7
  58. data/lib/oxidized/model/defacto.rb +26 -0
  59. data/lib/oxidized/model/dslcommands.rb +93 -0
  60. data/lib/oxidized/model/dslsetup.rb +102 -0
  61. data/lib/oxidized/model/eatonnetwork.rb +5 -0
  62. data/lib/oxidized/model/efos.rb +5 -5
  63. data/lib/oxidized/model/eltex.rb +1 -1
  64. data/lib/oxidized/model/enterasys800.rb +1 -1
  65. data/lib/oxidized/model/exalink.rb +36 -0
  66. data/lib/oxidized/model/fabricos.rb +1 -1
  67. data/lib/oxidized/model/fastiron.rb +2 -2
  68. data/lib/oxidized/model/firelinuxos.rb +1 -3
  69. data/lib/oxidized/model/fortigate.rb +160 -0
  70. data/lib/oxidized/model/fortios.rb +28 -69
  71. data/lib/oxidized/model/fsos.rb +2 -4
  72. data/lib/oxidized/model/garderos.rb +1 -6
  73. data/lib/oxidized/model/h3c.rb +1 -1
  74. data/lib/oxidized/model/ios.rb +21 -15
  75. data/lib/oxidized/model/ironware.rb +6 -4
  76. data/lib/oxidized/model/ivanti.rb +54 -0
  77. data/lib/oxidized/model/macros.rb +60 -0
  78. data/lib/oxidized/model/mlnxos.rb +14 -17
  79. data/lib/oxidized/model/model.rb +89 -98
  80. data/lib/oxidized/model/ndms.rb +6 -0
  81. data/lib/oxidized/model/netgear.rb +6 -3
  82. data/lib/oxidized/model/netonix.rb +1 -1
  83. data/lib/oxidized/model/netscaler.rb +1 -1
  84. data/lib/oxidized/model/nxos.rb +9 -9
  85. data/lib/oxidized/model/onefinity.rb +1 -1
  86. data/lib/oxidized/model/opnsense.rb +8 -0
  87. data/lib/oxidized/model/outputs.rb +5 -0
  88. data/lib/oxidized/model/perle.rb +41 -0
  89. data/lib/oxidized/model/pfsense.rb +8 -0
  90. data/lib/oxidized/model/saos10.rb +1 -1
  91. data/lib/oxidized/model/siklu.rb +1 -1
  92. data/lib/oxidized/model/siklumhtg.rb +1 -1
  93. data/lib/oxidized/model/sixwind.rb +1 -1
  94. data/lib/oxidized/model/slxos.rb +1 -1
  95. data/lib/oxidized/model/smartbyte.rb +48 -0
  96. data/lib/oxidized/model/sonicos.rb +1 -1
  97. data/lib/oxidized/model/speedtouch.rb +1 -1
  98. data/lib/oxidized/model/telco.rb +1 -1
  99. data/lib/oxidized/model/tnsr.rb +7 -3
  100. data/lib/oxidized/model/trango.rb +1 -1
  101. data/lib/oxidized/model/truenas.rb +10 -1
  102. data/lib/oxidized/model/ucs.rb +1 -1
  103. data/lib/oxidized/model/voltaire.rb +1 -1
  104. data/lib/oxidized/model/voss.rb +3 -0
  105. data/lib/oxidized/model/vyatta.rb +1 -1
  106. data/lib/oxidized/model/vyos.rb +36 -0
  107. data/lib/oxidized/model/zhoneolt.rb +1 -1
  108. data/lib/oxidized/model/zynoscli.rb +1 -1
  109. data/lib/oxidized/node.rb +31 -24
  110. data/lib/oxidized/nodes.rb +2 -0
  111. data/lib/oxidized/output/file.rb +7 -1
  112. data/lib/oxidized/output/git.rb +11 -1
  113. data/lib/oxidized/output/gitcrypt.rb +1 -1
  114. data/lib/oxidized/output/http.rb +12 -3
  115. data/lib/oxidized/source/csv.rb +5 -0
  116. data/lib/oxidized/source/http.rb +10 -2
  117. data/lib/oxidized/source/jsonfile.rb +5 -0
  118. data/lib/oxidized/source/sql.rb +5 -0
  119. data/lib/oxidized/version.rb +2 -2
  120. data/lib/oxidized/worker.rb +36 -15
  121. data/lib/refinements.rb +18 -0
  122. data/oxidized.gemspec +28 -25
  123. metadata +98 -71
  124. data/docs/Model-Notes/APC_AOS.md +0 -65
  125. data/docs/Model-Notes/FortiOS.md +0 -44
  126. data/lib/oxidized/model/timos.rb +0 -10
metadata CHANGED
@@ -1,16 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: oxidized
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.34.3
4
+ version: 0.36.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Saku Ytti
8
8
  - Samer Abdel-Hafez
9
9
  - Anton Aksola
10
- autorequire:
11
10
  bindir: bin
12
11
  cert_chain: []
13
- date: 2025-08-05 00:00:00.000000000 Z
12
+ date: 1980-01-02 00:00:00.000000000 Z
14
13
  dependencies:
15
14
  - !ruby/object:Gem::Dependency
16
15
  name: asetus
@@ -82,20 +81,6 @@ dependencies:
82
81
  - - "~>"
83
82
  - !ruby/object:Gem::Version
84
83
  version: '1.4'
85
- - !ruby/object:Gem::Dependency
86
- name: net-scp
87
- requirement: !ruby/object:Gem::Requirement
88
- requirements:
89
- - - "~>"
90
- - !ruby/object:Gem::Version
91
- version: '4.1'
92
- type: :runtime
93
- prerelease: false
94
- version_requirements: !ruby/object:Gem::Requirement
95
- requirements:
96
- - - "~>"
97
- - !ruby/object:Gem::Version
98
- version: '4.1'
99
84
  - !ruby/object:Gem::Dependency
100
85
  name: net-ssh
101
86
  requirement: !ruby/object:Gem::Requirement
@@ -158,14 +143,14 @@ dependencies:
158
143
  requirements:
159
144
  - - "~>"
160
145
  - !ruby/object:Gem::Version
161
- version: 4.17.0
146
+ version: '4.17'
162
147
  type: :runtime
163
148
  prerelease: false
164
149
  version_requirements: !ruby/object:Gem::Requirement
165
150
  requirements:
166
151
  - - "~>"
167
152
  - !ruby/object:Gem::Version
168
- version: 4.17.0
153
+ version: '4.17'
169
154
  - !ruby/object:Gem::Dependency
170
155
  name: slop
171
156
  requirement: !ruby/object:Gem::Requirement
@@ -186,200 +171,226 @@ dependencies:
186
171
  requirements:
187
172
  - - "~>"
188
173
  - !ruby/object:Gem::Version
189
- version: 0.3.0
174
+ version: '0.3'
190
175
  type: :runtime
191
176
  prerelease: false
192
177
  version_requirements: !ruby/object:Gem::Requirement
193
178
  requirements:
194
179
  - - "~>"
195
180
  - !ruby/object:Gem::Version
196
- version: 0.3.0
181
+ version: '0.3'
197
182
  - !ruby/object:Gem::Dependency
198
183
  name: syslog_protocol
199
184
  requirement: !ruby/object:Gem::Requirement
200
185
  requirements:
201
186
  - - "~>"
202
187
  - !ruby/object:Gem::Version
203
- version: 0.9.2
188
+ version: '0.9'
204
189
  type: :runtime
205
190
  prerelease: false
206
191
  version_requirements: !ruby/object:Gem::Requirement
207
192
  requirements:
208
193
  - - "~>"
209
194
  - !ruby/object:Gem::Version
210
- version: 0.9.2
195
+ version: '0.9'
211
196
  - !ruby/object:Gem::Dependency
212
- name: bundler
197
+ name: minitest
213
198
  requirement: !ruby/object:Gem::Requirement
214
199
  requirements:
215
- - - "~>"
200
+ - - ">="
201
+ - !ruby/object:Gem::Version
202
+ version: '5.18'
203
+ - - "<"
216
204
  - !ruby/object:Gem::Version
217
- version: '2.2'
205
+ version: '7'
218
206
  type: :development
219
207
  prerelease: false
220
208
  version_requirements: !ruby/object:Gem::Requirement
221
209
  requirements:
222
- - - "~>"
210
+ - - ">="
223
211
  - !ruby/object:Gem::Version
224
- version: '2.2'
212
+ version: '5.18'
213
+ - - "<"
214
+ - !ruby/object:Gem::Version
215
+ version: '7'
225
216
  - !ruby/object:Gem::Dependency
226
- name: git
217
+ name: mocha
227
218
  requirement: !ruby/object:Gem::Requirement
228
219
  requirements:
229
220
  - - ">="
230
221
  - !ruby/object:Gem::Version
231
- version: '2.0'
222
+ version: '2.1'
232
223
  - - "<"
233
224
  - !ruby/object:Gem::Version
234
- version: 3.2.0
225
+ version: '4'
235
226
  type: :development
236
227
  prerelease: false
237
228
  version_requirements: !ruby/object:Gem::Requirement
238
229
  requirements:
239
230
  - - ">="
240
231
  - !ruby/object:Gem::Version
241
- version: '2.0'
232
+ version: '2.1'
242
233
  - - "<"
243
234
  - !ruby/object:Gem::Version
244
- version: 3.2.0
235
+ version: '4'
245
236
  - !ruby/object:Gem::Dependency
246
- name: minitest
237
+ name: pry
247
238
  requirement: !ruby/object:Gem::Requirement
248
239
  requirements:
249
240
  - - "~>"
250
241
  - !ruby/object:Gem::Version
251
- version: 5.25.4
242
+ version: '0.15'
252
243
  type: :development
253
244
  prerelease: false
254
245
  version_requirements: !ruby/object:Gem::Requirement
255
246
  requirements:
256
247
  - - "~>"
257
248
  - !ruby/object:Gem::Version
258
- version: 5.25.4
249
+ version: '0.15'
259
250
  - !ruby/object:Gem::Dependency
260
- name: mocha
251
+ name: rake
261
252
  requirement: !ruby/object:Gem::Requirement
262
253
  requirements:
263
254
  - - "~>"
264
255
  - !ruby/object:Gem::Version
265
- version: '2.1'
256
+ version: '13.0'
266
257
  type: :development
267
258
  prerelease: false
268
259
  version_requirements: !ruby/object:Gem::Requirement
269
260
  requirements:
270
261
  - - "~>"
271
262
  - !ruby/object:Gem::Version
272
- version: '2.1'
263
+ version: '13.0'
273
264
  - !ruby/object:Gem::Dependency
274
- name: pry
265
+ name: rubocop
275
266
  requirement: !ruby/object:Gem::Requirement
276
267
  requirements:
277
268
  - - "~>"
278
269
  - !ruby/object:Gem::Version
279
- version: 0.15.0
270
+ version: 1.86.0
280
271
  type: :development
281
272
  prerelease: false
282
273
  version_requirements: !ruby/object:Gem::Requirement
283
274
  requirements:
284
275
  - - "~>"
285
276
  - !ruby/object:Gem::Version
286
- version: 0.15.0
277
+ version: 1.86.0
287
278
  - !ruby/object:Gem::Dependency
288
- name: rake
279
+ name: rubocop-minitest
289
280
  requirement: !ruby/object:Gem::Requirement
290
281
  requirements:
291
282
  - - "~>"
292
283
  - !ruby/object:Gem::Version
293
- version: '13.0'
284
+ version: 0.39.1
294
285
  type: :development
295
286
  prerelease: false
296
287
  version_requirements: !ruby/object:Gem::Requirement
297
288
  requirements:
298
289
  - - "~>"
299
290
  - !ruby/object:Gem::Version
300
- version: '13.0'
291
+ version: 0.39.1
301
292
  - !ruby/object:Gem::Dependency
302
- name: rubocop
293
+ name: rubocop-rake
303
294
  requirement: !ruby/object:Gem::Requirement
304
295
  requirements:
305
296
  - - "~>"
306
297
  - !ruby/object:Gem::Version
307
- version: 1.79.1
298
+ version: 0.7.0
308
299
  type: :development
309
300
  prerelease: false
310
301
  version_requirements: !ruby/object:Gem::Requirement
311
302
  requirements:
312
303
  - - "~>"
313
304
  - !ruby/object:Gem::Version
314
- version: 1.79.1
305
+ version: 0.7.0
315
306
  - !ruby/object:Gem::Dependency
316
- name: rubocop-minitest
307
+ name: rubocop-sequel
317
308
  requirement: !ruby/object:Gem::Requirement
318
309
  requirements:
319
310
  - - "~>"
320
311
  - !ruby/object:Gem::Version
321
- version: 0.38.0
312
+ version: 0.4.0
322
313
  type: :development
323
314
  prerelease: false
324
315
  version_requirements: !ruby/object:Gem::Requirement
325
316
  requirements:
326
317
  - - "~>"
327
318
  - !ruby/object:Gem::Version
328
- version: 0.38.0
319
+ version: 0.4.0
329
320
  - !ruby/object:Gem::Dependency
330
- name: rubocop-rake
321
+ name: simplecov
331
322
  requirement: !ruby/object:Gem::Requirement
332
323
  requirements:
333
324
  - - "~>"
334
325
  - !ruby/object:Gem::Version
335
- version: 0.7.0
326
+ version: '0.22'
336
327
  type: :development
337
328
  prerelease: false
338
329
  version_requirements: !ruby/object:Gem::Requirement
339
330
  requirements:
340
331
  - - "~>"
341
332
  - !ruby/object:Gem::Version
342
- version: 0.7.0
333
+ version: '0.22'
343
334
  - !ruby/object:Gem::Dependency
344
- name: rubocop-sequel
335
+ name: git
336
+ requirement: !ruby/object:Gem::Requirement
337
+ requirements:
338
+ - - ">="
339
+ - !ruby/object:Gem::Version
340
+ version: '2.0'
341
+ - - "<"
342
+ - !ruby/object:Gem::Version
343
+ version: '5'
344
+ type: :development
345
+ prerelease: false
346
+ version_requirements: !ruby/object:Gem::Requirement
347
+ requirements:
348
+ - - ">="
349
+ - !ruby/object:Gem::Version
350
+ version: '2.0'
351
+ - - "<"
352
+ - !ruby/object:Gem::Version
353
+ version: '5'
354
+ - !ruby/object:Gem::Dependency
355
+ name: net-scp
345
356
  requirement: !ruby/object:Gem::Requirement
346
357
  requirements:
347
358
  - - "~>"
348
359
  - !ruby/object:Gem::Version
349
- version: 0.4.0
360
+ version: '4.1'
350
361
  type: :development
351
362
  prerelease: false
352
363
  version_requirements: !ruby/object:Gem::Requirement
353
364
  requirements:
354
365
  - - "~>"
355
366
  - !ruby/object:Gem::Version
356
- version: 0.4.0
367
+ version: '4.1'
357
368
  - !ruby/object:Gem::Dependency
358
- name: simplecov
369
+ name: net-tftp
359
370
  requirement: !ruby/object:Gem::Requirement
360
371
  requirements:
361
372
  - - "~>"
362
373
  - !ruby/object:Gem::Version
363
- version: 0.22.0
374
+ version: 0.1.0
364
375
  type: :development
365
376
  prerelease: false
366
377
  version_requirements: !ruby/object:Gem::Requirement
367
378
  requirements:
368
379
  - - "~>"
369
380
  - !ruby/object:Gem::Version
370
- version: 0.22.0
381
+ version: 0.1.0
371
382
  - !ruby/object:Gem::Dependency
372
383
  name: oxidized-web
373
384
  requirement: !ruby/object:Gem::Requirement
374
385
  requirements:
375
- - - "~>"
386
+ - - ">="
376
387
  - !ruby/object:Gem::Version
377
388
  version: 0.17.1
378
389
  type: :development
379
390
  prerelease: false
380
391
  version_requirements: !ruby/object:Gem::Requirement
381
392
  requirements:
382
- - - "~>"
393
+ - - ">="
383
394
  - !ruby/object:Gem::Version
384
395
  version: 0.17.1
385
396
  - !ruby/object:Gem::Dependency
@@ -391,7 +402,7 @@ dependencies:
391
402
  version: 5.63.0
392
403
  - - "<"
393
404
  - !ruby/object:Gem::Version
394
- version: 5.96.0
405
+ version: '6'
395
406
  type: :development
396
407
  prerelease: false
397
408
  version_requirements: !ruby/object:Gem::Requirement
@@ -401,7 +412,7 @@ dependencies:
401
412
  version: 5.63.0
402
413
  - - "<"
403
414
  - !ruby/object:Gem::Version
404
- version: 5.96.0
415
+ version: '6'
405
416
  description: software to fetch configuration from network devices and store them
406
417
  email:
407
418
  - saku@ytti.fi
@@ -413,6 +424,7 @@ extensions: []
413
424
  extra_rdoc_files: []
414
425
  files:
415
426
  - ".codeclimate.yml"
427
+ - ".coderabbit.yaml"
416
428
  - ".github/ISSUE_TEMPLATE/bug_report.md"
417
429
  - ".github/ISSUE_TEMPLATE/feature_request.md"
418
430
  - ".github/ISSUE_TEMPLATE/support-request.md"
@@ -443,17 +455,19 @@ files:
443
455
  - docs/Inputs.md
444
456
  - docs/Issues.md
445
457
  - docs/Model-Notes/ADVA.md
446
- - docs/Model-Notes/APC_AOS.md
458
+ - docs/Model-Notes/APC.md
447
459
  - docs/Model-Notes/AireOS.md
448
460
  - docs/Model-Notes/ArbOS.md
449
461
  - docs/Model-Notes/Comware.md
450
462
  - docs/Model-Notes/Cumulus.md
451
463
  - docs/Model-Notes/EOS.md
452
464
  - docs/Model-Notes/EatonNetwork.md
465
+ - docs/Model-Notes/ExaLink.md
453
466
  - docs/Model-Notes/FSOS.md
454
- - docs/Model-Notes/FortiOS.md
467
+ - docs/Model-Notes/Fortinet.md
455
468
  - docs/Model-Notes/HPEAruba.md
456
469
  - docs/Model-Notes/IOS.md
470
+ - docs/Model-Notes/IvantiConnectSecure.md
457
471
  - docs/Model-Notes/JunOS.md
458
472
  - docs/Model-Notes/LenovoNOS.md
459
473
  - docs/Model-Notes/LinksysSRW.md
@@ -467,6 +481,7 @@ files:
467
481
  - docs/Model-Notes/RouterOS.md
468
482
  - docs/Model-Notes/SikluMHTG.md
469
483
  - docs/Model-Notes/SmartAX-Huawei.md
484
+ - docs/Model-Notes/TrueNAS.md
470
485
  - docs/Model-Notes/VRP-Huawei.md
471
486
  - docs/Model-Notes/Viptela.md
472
487
  - docs/Model-Notes/XGS4600-Zyxel.md
@@ -480,6 +495,9 @@ files:
480
495
  - extra/auto-reload-config.runit
481
496
  - extra/device2yaml.rb
482
497
  - extra/gitdiff-msteams.sh
498
+ - extra/hooks/modelrules.rb
499
+ - extra/hooks/modelrulesadvanced.rb
500
+ - extra/hooks/srcipmap.rb
483
501
  - extra/nagios_check_failing_nodes.rb
484
502
  - extra/oxidized-report-git-commits
485
503
  - extra/oxidized-ubuntu.haproxy
@@ -516,6 +534,7 @@ files:
516
534
  - lib/oxidized/input/input.rb
517
535
  - lib/oxidized/input/scp.rb
518
536
  - lib/oxidized/input/ssh.rb
537
+ - lib/oxidized/input/sshbase.rb
519
538
  - lib/oxidized/input/telnet.rb
520
539
  - lib/oxidized/input/tftp.rb
521
540
  - lib/oxidized/job.rb
@@ -539,6 +558,7 @@ files:
539
558
  - lib/oxidized/model/aoscx.rb
540
559
  - lib/oxidized/model/aosw.rb
541
560
  - lib/oxidized/model/apc_aos.rb
561
+ - lib/oxidized/model/apcaos.rb
542
562
  - lib/oxidized/model/arbos.rb
543
563
  - lib/oxidized/model/aricentiss.rb
544
564
  - lib/oxidized/model/arubainstant.rb
@@ -572,10 +592,13 @@ files:
572
592
  - lib/oxidized/model/cumulus.rb
573
593
  - lib/oxidized/model/datacom.rb
574
594
  - lib/oxidized/model/dcnos.rb
595
+ - lib/oxidized/model/defacto.rb
575
596
  - lib/oxidized/model/dellx.rb
576
597
  - lib/oxidized/model/dlink.rb
577
598
  - lib/oxidized/model/dlinknextgen.rb
578
599
  - lib/oxidized/model/dnos.rb
600
+ - lib/oxidized/model/dslcommands.rb
601
+ - lib/oxidized/model/dslsetup.rb
579
602
  - lib/oxidized/model/eatonnetwork.rb
580
603
  - lib/oxidized/model/eciapollo.rb
581
604
  - lib/oxidized/model/edgecos.rb
@@ -587,6 +610,7 @@ files:
587
610
  - lib/oxidized/model/enterasys800.rb
588
611
  - lib/oxidized/model/enterprise_sonic.rb
589
612
  - lib/oxidized/model/eos.rb
613
+ - lib/oxidized/model/exalink.rb
590
614
  - lib/oxidized/model/f5os.rb
591
615
  - lib/oxidized/model/fabricos.rb
592
616
  - lib/oxidized/model/fastiron.rb
@@ -594,6 +618,7 @@ files:
594
618
  - lib/oxidized/model/firebrick.rb
595
619
  - lib/oxidized/model/firelinuxos.rb
596
620
  - lib/oxidized/model/firewareos.rb
621
+ - lib/oxidized/model/fortigate.rb
597
622
  - lib/oxidized/model/fortios.rb
598
623
  - lib/oxidized/model/fortiwlc.rb
599
624
  - lib/oxidized/model/fsos.rb
@@ -619,12 +644,14 @@ files:
619
644
  - lib/oxidized/model/ipos.rb
620
645
  - lib/oxidized/model/ironware.rb
621
646
  - lib/oxidized/model/isam.rb
647
+ - lib/oxidized/model/ivanti.rb
622
648
  - lib/oxidized/model/junos.rb
623
649
  - lib/oxidized/model/kornfeldos.rb
624
650
  - lib/oxidized/model/lancom.rb
625
651
  - lib/oxidized/model/lenovonos.rb
626
652
  - lib/oxidized/model/linksyssrw.rb
627
653
  - lib/oxidized/model/linuxgeneric.rb
654
+ - lib/oxidized/model/macros.rb
628
655
  - lib/oxidized/model/masteros.rb
629
656
  - lib/oxidized/model/mimosab11.rb
630
657
  - lib/oxidized/model/ml66.rb
@@ -654,6 +681,7 @@ files:
654
681
  - lib/oxidized/model/outputs.rb
655
682
  - lib/oxidized/model/panos.rb
656
683
  - lib/oxidized/model/panos_api.rb
684
+ - lib/oxidized/model/perle.rb
657
685
  - lib/oxidized/model/pfsense.rb
658
686
  - lib/oxidized/model/planet.rb
659
687
  - lib/oxidized/model/powerconnect.rb
@@ -674,6 +702,7 @@ files:
674
702
  - lib/oxidized/model/sixwind.rb
675
703
  - lib/oxidized/model/slxos.rb
676
704
  - lib/oxidized/model/smartax.rb
705
+ - lib/oxidized/model/smartbyte.rb
677
706
  - lib/oxidized/model/smartcs.rb
678
707
  - lib/oxidized/model/sonicos.rb
679
708
  - lib/oxidized/model/speedtouch.rb
@@ -684,7 +713,6 @@ files:
684
713
  - lib/oxidized/model/swos.rb
685
714
  - lib/oxidized/model/tdre.rb
686
715
  - lib/oxidized/model/telco.rb
687
- - lib/oxidized/model/timos.rb
688
716
  - lib/oxidized/model/tmos.rb
689
717
  - lib/oxidized/model/tnsr.rb
690
718
  - lib/oxidized/model/tplink.rb
@@ -698,6 +726,7 @@ files:
698
726
  - lib/oxidized/model/voss.rb
699
727
  - lib/oxidized/model/vrp.rb
700
728
  - lib/oxidized/model/vyatta.rb
729
+ - lib/oxidized/model/vyos.rb
701
730
  - lib/oxidized/model/weos.rb
702
731
  - lib/oxidized/model/xos.rb
703
732
  - lib/oxidized/model/yamaha.rb
@@ -732,7 +761,6 @@ licenses:
732
761
  - Apache-2.0
733
762
  metadata:
734
763
  rubygems_mfa_required: 'true'
735
- post_install_message:
736
764
  rdoc_options: []
737
765
  require_paths:
738
766
  - lib
@@ -740,15 +768,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
740
768
  requirements:
741
769
  - - ">="
742
770
  - !ruby/object:Gem::Version
743
- version: '3.1'
771
+ version: '3.0'
744
772
  required_rubygems_version: !ruby/object:Gem::Requirement
745
773
  requirements:
746
774
  - - ">="
747
775
  - !ruby/object:Gem::Version
748
776
  version: '0'
749
777
  requirements: []
750
- rubygems_version: 3.3.15
751
- signing_key:
778
+ rubygems_version: 3.6.7
752
779
  specification_version: 4
753
780
  summary: feeble attempt at rancid
754
781
  test_files: []
@@ -1,65 +0,0 @@
1
- # APC AOS Configuration
2
-
3
- The configuration of APC Network Management Cards can be downloaded using FTP
4
- and SCP.
5
-
6
- To download with SCP, you need a
7
- [patch](https://github.com/net-ssh/net-scp/pull/71) to
8
- [Net::SCP](https://github.com/net-ssh/net-scp, which has been included
9
- upstream, but there is currently no new release of Net::SCP and its authors are
10
- unresponsive.
11
-
12
- To temporarily solve this,
13
- [@robertcheramy forked Net::SCP](https://github.com/robertcheramy/net-scp). You
14
- can build or download the gem there. This gem is already included in the
15
- oxidized container image (in the release coming after 0.31.0).
16
-
17
-
18
- ## Can I collect more information than just the configuration?
19
- APC OS does not have the ability to show the config.ini within an SSH-session.
20
- As oxidized can only get the configuration with one input type at a time, it is
21
- not possible to fetch config.ini via FTP/SCP and get the output of
22
- some commands via SSH at the same time. Feature request #3334 has been opened
23
- to support multiple inputs in oxidized.
24
-
25
- A ticket has been opened with APC support in order to enable "cat config.ini"
26
- within an SSH-session, but APC is not willing to support this.
27
-
28
-
29
- ## How do I activate FTP/SCP input?
30
- In order to download the configuration with FTP or SCP, you have to activate it
31
- as an input in the oxidized configuration. If you do not activate the input,
32
- oxidized will fail for the node with a
33
- [rather unspecific error](https://github.com/ytti/oxidized/issues/3346)
34
- (`WARN -- : /apc status fail, retry attempt 1`).
35
-
36
- The configuration can be done either globally or only for the model apc_aos.
37
-
38
- The global configuration would look like this. Note that Oxidized will try every
39
- input type in the given order until it succeeds, or it will report a failure.
40
- ```yaml
41
- input:
42
- default: ssh, ftp, scp
43
- ```
44
-
45
- Configuration for activating the FTP input for apc_aos only:
46
- ```yaml
47
- input:
48
- default: ssh
49
- models:
50
- apc_aos:
51
- input: ftp
52
- ```
53
-
54
- You can also set specific username and password for apc_aos only:
55
- ```yaml
56
- username: default-user
57
- password: default-password
58
- input:
59
- default: ssh
60
- models:
61
- apc_aos:
62
- username: apc-user
63
- password: apc-password
64
- input: ftp
65
- ```
@@ -1,44 +0,0 @@
1
- # FortiOS Configuration
2
-
3
- ## Create user oxidized with ED25519 public key
4
- You can use a user/password for retrieving the configuration or use a SSH public key:
5
-
6
- ```text
7
- config system admin
8
- edit oxidized
9
- set trusthost1 192.0.2.1 255.255.255.255
10
- set accprofile "super_admin_readonly"
11
- set ssh-public-key1 "ssh-ed25519 AAAAThisIsJustAnExampleKey_UseYourOxidizedPUBLICKEY oxidized@librenms"
12
- end
13
- ```
14
-
15
-
16
- ## Configuration changes / hiding passwords
17
- Fortigate reencrypts its passwords every time the configuration is shown.
18
- This produces a lot of config changes.
19
- If you don't want to have a new version every time the configuration is
20
- downloaded, you can hide all secrets. Beware that you won't have a full backup,
21
- as all passwords will be replaced with <configuration removed>
22
-
23
- ```yaml
24
- models:
25
- fortios:
26
- vars:
27
- remove_secret: true
28
- ```
29
-
30
- ## config vs. full config
31
- On fortios, you can get a configuration without default values (`show .`) or
32
- including all the default values (`show full-configuration`).
33
-
34
- The full configuration can be quite long and produce time-outs.
35
- Beginning with oxidized 0.30.1, the default is to get the short configuration.
36
-
37
- If you need the full configuration, you can activate it in oxidized config file:
38
- ```yaml
39
- models:
40
- fortios:
41
- vars:
42
- fullconfig: true
43
- ```
44
-
@@ -1,10 +0,0 @@
1
- # Backward compatibility shim for deprecated model `timos`.
2
- # Migrate your source from `timos` to `sros`.
3
-
4
- require_relative 'sros'
5
-
6
- TiMOS = SROS
7
-
8
- logger.warn "Using deprecated model timos, use sros instead."
9
-
10
- # Deprecated