oxidized 0.28.0 → 0.29.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.
- checksums.yaml +4 -4
- data/.github/workflows/publishdocker.yml +8 -1
- data/.github/workflows/ruby.yml +42 -0
- data/.rubocop.yml +30 -10
- data/.rubocop_todo.yml +95 -41
- data/CHANGELOG.md +139 -2
- data/Dockerfile +13 -9
- data/README.md +66 -32
- data/Rakefile +2 -0
- data/docs/Configuration.md +49 -7
- data/docs/Creating-Models.md +10 -4
- data/docs/Hooks.md +35 -6
- data/docs/Model-Notes/ADVA.md +12 -0
- data/docs/Model-Notes/Cumulus.md +7 -1
- data/docs/Model-Notes/IOS.md +36 -0
- data/docs/Model-Notes/JunOS.md +3 -3
- data/docs/Model-Notes/LenovoNOS.md +29 -0
- data/docs/Model-Notes/LinksysSRW.md +15 -0
- data/docs/Model-Notes/Nokia.md +3 -0
- data/docs/Model-Notes/OS10.md +33 -0
- data/docs/Model-Notes/PanOS_API.md +28 -0
- data/docs/Model-Notes/README.md +2 -0
- data/docs/Sources.md +18 -0
- data/docs/Supported-OS-Types.md +51 -6
- data/docs/Troubleshooting.md +1 -1
- data/extra/gitdiff-msteams.sh +91 -0
- data/extra/nagios_check_failing_nodes.rb +6 -9
- data/extra/oxidized-report-git-commits +71 -14
- data/extra/oxidized.init +2 -5
- data/extra/oxidized.logrotate +1 -0
- data/extra/oxidized.runit +4 -1
- data/extra/oxidized.service +5 -8
- data/extra/rest_client.rb +1 -1
- data/extra/syslog.rb +2 -2
- data/lib/oxidized/cli.rb +1 -1
- data/lib/oxidized/config/vars.rb +5 -2
- data/lib/oxidized/config.rb +6 -3
- data/lib/oxidized/core.rb +1 -1
- data/lib/oxidized/hook/exec.rb +6 -6
- data/lib/oxidized/hook/githubrepo.rb +42 -11
- data/lib/oxidized/hook/slackdiff.rb +2 -2
- data/lib/oxidized/hook/xmppdiff.rb +45 -25
- data/lib/oxidized/hook.rb +4 -8
- data/lib/oxidized/input/exec.rb +1 -1
- data/lib/oxidized/input/input.rb +1 -0
- data/lib/oxidized/input/ssh.rb +23 -20
- data/lib/oxidized/input/telnet.rb +52 -44
- data/lib/oxidized/job.rb +1 -0
- data/lib/oxidized/jobs.rb +11 -6
- data/lib/oxidized/manager.rb +1 -0
- data/lib/oxidized/model/acmepacket.rb +38 -0
- data/lib/oxidized/model/adtran.rb +5 -3
- data/lib/oxidized/model/adva.rb +66 -0
- data/lib/oxidized/model/airfiber.rb +1 -1
- data/lib/oxidized/model/aoscx.rb +96 -0
- data/lib/oxidized/model/aosw.rb +1 -1
- data/lib/oxidized/model/asa.rb +2 -0
- data/lib/oxidized/model/awplus.rb +1 -1
- data/lib/oxidized/model/bdcom.rb +49 -0
- data/lib/oxidized/model/cambiumepmp.rb +17 -0
- data/lib/oxidized/model/casa.rb +4 -1
- data/lib/oxidized/model/ciscoce.rb +12 -0
- data/lib/oxidized/model/ciscosmb.rb +2 -0
- data/lib/oxidized/model/comware.rb +16 -1
- data/lib/oxidized/model/cumulus.rb +58 -44
- data/lib/oxidized/model/dellx.rb +1 -3
- data/lib/oxidized/model/dlink.rb +2 -1
- data/lib/oxidized/model/edgecos.rb +22 -2
- data/lib/oxidized/model/edgeswitch.rb +4 -4
- data/lib/oxidized/model/eltex.rb +48 -0
- data/lib/oxidized/model/enterasys.rb +18 -3
- data/lib/oxidized/model/enterasys800.rb +29 -0
- data/lib/oxidized/model/eos.rb +2 -1
- data/lib/oxidized/model/fabricos.rb +1 -1
- data/lib/oxidized/model/fastiron.rb +3 -2
- data/lib/oxidized/model/fortios.rb +24 -11
- data/lib/oxidized/model/fortiwlc.rb +24 -0
- data/lib/oxidized/model/gaiaos.rb +40 -3
- data/lib/oxidized/model/h3c.rb +40 -0
- data/lib/oxidized/model/hatteras.rb +2 -2
- data/lib/oxidized/model/hios.rb +38 -0
- data/lib/oxidized/model/hpebladesystem.rb +1 -1
- data/lib/oxidized/model/ios.rb +13 -10
- data/lib/oxidized/model/iosxe.rb +1 -1
- data/lib/oxidized/model/ironware.rb +8 -4
- data/lib/oxidized/model/junos.rb +5 -1
- data/lib/oxidized/model/lancom.rb +23 -0
- data/lib/oxidized/model/lenovonos.rb +82 -0
- data/lib/oxidized/model/linksyssrw.rb +71 -0
- data/lib/oxidized/model/mlnxos.rb +2 -0
- data/lib/oxidized/model/model.rb +29 -3
- data/lib/oxidized/model/necix.rb +30 -0
- data/lib/oxidized/model/netgear.rb +5 -2
- data/lib/oxidized/model/netscaler.rb +38 -1
- data/lib/oxidized/model/nodegrid.rb +23 -0
- data/lib/oxidized/model/nxos.rb +3 -2
- data/lib/oxidized/model/openbsd.rb +9 -0
- data/lib/oxidized/model/opengear.rb +1 -1
- data/lib/oxidized/model/opnsense.rb +12 -4
- data/lib/oxidized/model/panos_api.rb +71 -0
- data/lib/oxidized/model/pfsense.rb +12 -7
- data/lib/oxidized/model/powerconnect.rb +1 -3
- data/lib/oxidized/model/procurve.rb +2 -2
- data/lib/oxidized/model/purityos.rb +8 -1
- data/lib/oxidized/model/quantaos.rb +1 -5
- data/lib/oxidized/model/routeros.rb +15 -2
- data/lib/oxidized/model/slxos.rb +1 -0
- data/lib/oxidized/model/smartcs.rb +40 -0
- data/lib/oxidized/model/sonicos.rb +9 -1
- data/lib/oxidized/model/srosmd.rb +97 -0
- data/lib/oxidized/model/stoneos.rb +6 -2
- data/lib/oxidized/model/supermicro.rb +1 -1
- data/lib/oxidized/model/swos.rb +9 -0
- data/lib/oxidized/model/timos.rb +1 -1
- data/lib/oxidized/model/tmos.rb +2 -1
- data/lib/oxidized/model/tplink.rb +2 -0
- data/lib/oxidized/model/trango.rb +11 -11
- data/lib/oxidized/model/truenas.rb +20 -0
- data/lib/oxidized/model/vrp.rb +1 -1
- data/lib/oxidized/model/xos.rb +4 -3
- data/lib/oxidized/model/yamaha.rb +57 -0
- data/lib/oxidized/model/zteolt.rb +52 -0
- data/lib/oxidized/model/zy1308.rb +11 -0
- data/lib/oxidized/node/stats.rb +1 -0
- data/lib/oxidized/node.rb +16 -11
- data/lib/oxidized/nodes.rb +7 -6
- data/lib/oxidized/output/file.rb +2 -1
- data/lib/oxidized/output/git.rb +4 -3
- data/lib/oxidized/output/gitcrypt.rb +5 -8
- data/lib/oxidized/output/http.rb +2 -0
- data/lib/oxidized/source/csv.rb +1 -0
- data/lib/oxidized/source/http.rb +4 -0
- data/lib/oxidized/source/source.rb +7 -2
- data/lib/oxidized/source/sql.rb +15 -5
- data/lib/oxidized/string.rb +9 -3
- data/lib/oxidized/version.rb +2 -2
- data/lib/oxidized/worker.rb +5 -5
- data/oxidized.gemspec +22 -16
- metadata +116 -29
- data/.travis.yml +0 -10
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 7dfae187ce90fc83fde6d62b7044eac15ca5a803aa05f2064d99ffe04aea938d
|
|
4
|
+
data.tar.gz: d5de2f1a1770c966168ed3385623376f5d335461a6c9403a1ef44bfcbc504a57
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: '0515586ff98c993834c1aaf40638e8078fb55fa44b120ceffd0c7164216b4307eb6b39145fbff0aeb0d11519f3ee10d2fb82fea73498e243808f2e0eda130e39'
|
|
7
|
+
data.tar.gz: 6afbfb306289a65a8c89799a87b920880547c06e0372f56bbbbafd5b4e85d13d452de5e1593eb2c13320d830a04159dd1046ec4c93e0a20ee7bca2669ac79b53
|
|
@@ -2,12 +2,19 @@ name: Publish Docker
|
|
|
2
2
|
on: [push]
|
|
3
3
|
jobs:
|
|
4
4
|
build:
|
|
5
|
+
if: github.repository_owner == 'ytti'
|
|
5
6
|
runs-on: ubuntu-latest
|
|
6
7
|
steps:
|
|
7
8
|
- uses: actions/checkout@master
|
|
9
|
+
with:
|
|
10
|
+
fetch-depth: 0
|
|
11
|
+
- name: Get Release Version
|
|
12
|
+
id: get_version
|
|
13
|
+
run: echo "release-version=$(git describe --tags)" >> $GITHUB_OUTPUT
|
|
8
14
|
- name: Publish to Registry
|
|
9
|
-
uses: elgohr/Publish-Docker-Github-Action@
|
|
15
|
+
uses: elgohr/Publish-Docker-Github-Action@v5
|
|
10
16
|
with:
|
|
11
17
|
name: oxidized/oxidized
|
|
12
18
|
username: ${{ secrets.DOCKER_USERNAME }}
|
|
13
19
|
password: ${{ secrets.DOCKER_PASSWORD }}
|
|
20
|
+
tags: "latest,${{ steps.get_version.outputs.release-version }}"
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# This workflow uses actions that are not certified by GitHub.
|
|
2
|
+
# They are provided by a third-party and are governed by
|
|
3
|
+
# separate terms of service, privacy policy, and support
|
|
4
|
+
# documentation.
|
|
5
|
+
# This workflow will download a prebuilt Ruby version, install dependencies and run tests with Rake
|
|
6
|
+
# For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby
|
|
7
|
+
|
|
8
|
+
name: CI
|
|
9
|
+
|
|
10
|
+
on: [ push, pull_request ]
|
|
11
|
+
# push:
|
|
12
|
+
# branches: [ master ]
|
|
13
|
+
# pull_request:
|
|
14
|
+
# branches: [ master ]
|
|
15
|
+
|
|
16
|
+
jobs:
|
|
17
|
+
test:
|
|
18
|
+
|
|
19
|
+
runs-on: ubuntu-latest
|
|
20
|
+
strategy:
|
|
21
|
+
matrix:
|
|
22
|
+
ruby-version: ['3.0', '3.1', '3.2']
|
|
23
|
+
|
|
24
|
+
steps:
|
|
25
|
+
- uses: actions/checkout@v3
|
|
26
|
+
- name: Set up Ruby
|
|
27
|
+
# To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
|
|
28
|
+
# change this to (see https://github.com/ruby/setup-ruby#versioning):
|
|
29
|
+
uses: ruby/setup-ruby@v1
|
|
30
|
+
with:
|
|
31
|
+
ruby-version: ${{ matrix.ruby-version }}
|
|
32
|
+
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
|
|
33
|
+
- name: rubocop
|
|
34
|
+
uses: reviewdog/action-rubocop@v2
|
|
35
|
+
with:
|
|
36
|
+
rubocop_version: gemfile
|
|
37
|
+
rubocop_extensions: rubocop-minitest:gemfile rubocop-rake:gemfile
|
|
38
|
+
reporter: github-pr-review
|
|
39
|
+
- name: Run tests
|
|
40
|
+
run: bundle exec rake
|
|
41
|
+
- uses: codecov/codecov-action@v3
|
|
42
|
+
if: ${{ always() }}
|
data/.rubocop.yml
CHANGED
|
@@ -2,22 +2,29 @@ inherit_from: .rubocop_todo.yml
|
|
|
2
2
|
|
|
3
3
|
# Do not attempt to police vendored code
|
|
4
4
|
AllCops:
|
|
5
|
-
|
|
5
|
+
NewCops: enable
|
|
6
|
+
TargetRubyVersion: 3.0
|
|
6
7
|
Exclude:
|
|
7
8
|
- 'vendor/**/*'
|
|
8
9
|
|
|
9
|
-
StringLiterals:
|
|
10
|
+
Style/StringLiterals:
|
|
10
11
|
Enabled: false
|
|
11
12
|
|
|
12
13
|
Style/FrozenStringLiteralComment:
|
|
13
14
|
Enabled: false
|
|
14
15
|
|
|
15
|
-
LineLength:
|
|
16
|
+
Layout/LineLength:
|
|
16
17
|
Enabled: false
|
|
17
18
|
|
|
18
19
|
Lint/AmbiguousRegexpLiteral:
|
|
19
20
|
Enabled: false
|
|
20
21
|
|
|
22
|
+
Lint/RaiseException:
|
|
23
|
+
Enabled: true
|
|
24
|
+
|
|
25
|
+
Lint/StructNewOverride:
|
|
26
|
+
Enabled: true
|
|
27
|
+
|
|
21
28
|
# Stick to verbose until https://bugs.ruby-lang.org/issues/10177 is closed.
|
|
22
29
|
Style/PreferredHashMethods:
|
|
23
30
|
EnforcedStyle: verbose
|
|
@@ -60,14 +67,27 @@ Style/Documentation:
|
|
|
60
67
|
Style/ParallelAssignment:
|
|
61
68
|
Enabled: false
|
|
62
69
|
|
|
70
|
+
Metrics/MethodLength:
|
|
71
|
+
Max: 45
|
|
72
|
+
|
|
63
73
|
## Metrics/AbcSize:
|
|
64
74
|
## Max: 28
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
## Metrics/ClassLength:
|
|
70
|
-
## Max: 140
|
|
71
|
-
##
|
|
75
|
+
|
|
76
|
+
Metrics/ClassLength:
|
|
77
|
+
Max: 200
|
|
78
|
+
|
|
72
79
|
## Metrics/CyclomaticComplexity:
|
|
73
80
|
## Max: 7
|
|
81
|
+
|
|
82
|
+
Metrics/BlockLength:
|
|
83
|
+
Max: 150
|
|
84
|
+
|
|
85
|
+
Metrics/ParameterLists:
|
|
86
|
+
Max: 6
|
|
87
|
+
|
|
88
|
+
Lint/EmptyBlock:
|
|
89
|
+
Enabled: false
|
|
90
|
+
|
|
91
|
+
require:
|
|
92
|
+
- rubocop-rake
|
|
93
|
+
- rubocop-minitest
|
data/.rubocop_todo.yml
CHANGED
|
@@ -1,51 +1,33 @@
|
|
|
1
1
|
# This configuration was generated by
|
|
2
2
|
# `rubocop --auto-gen-config`
|
|
3
|
-
# on
|
|
3
|
+
# on 2023-04-03 06:53:54 UTC using RuboCop version 1.48.1.
|
|
4
4
|
# The point is for the user to remove these configuration records
|
|
5
5
|
# one by one as the offenses are removed from the code base.
|
|
6
6
|
# Note that changes in the inspected code, or installation of new
|
|
7
7
|
# versions of RuboCop, may require this file to be generated again.
|
|
8
8
|
|
|
9
9
|
# Offense count: 3
|
|
10
|
-
# Configuration parameters: AllowComments.
|
|
10
|
+
# Configuration parameters: AllowComments, AllowNil.
|
|
11
11
|
Lint/SuppressedException:
|
|
12
12
|
Exclude:
|
|
13
13
|
- 'lib/oxidized/input/ssh.rb'
|
|
14
14
|
- 'lib/oxidized/input/telnet.rb'
|
|
15
15
|
- 'lib/oxidized/nodes.rb'
|
|
16
16
|
|
|
17
|
-
# Offense count:
|
|
17
|
+
# Offense count: 62
|
|
18
|
+
# Configuration parameters: AllowedMethods, AllowedPatterns, CountRepeatedAttributes.
|
|
18
19
|
Metrics/AbcSize:
|
|
19
|
-
Max:
|
|
20
|
+
Max: 92
|
|
20
21
|
|
|
21
|
-
# Offense count:
|
|
22
|
-
# Configuration parameters:
|
|
23
|
-
# ExcludedMethods: refine
|
|
24
|
-
Metrics/BlockLength:
|
|
25
|
-
Max: 142
|
|
26
|
-
|
|
27
|
-
# Offense count: 6
|
|
28
|
-
# Configuration parameters: CountComments.
|
|
29
|
-
Metrics/ClassLength:
|
|
30
|
-
Max: 196
|
|
31
|
-
|
|
32
|
-
# Offense count: 11
|
|
22
|
+
# Offense count: 16
|
|
23
|
+
# Configuration parameters: AllowedMethods, AllowedPatterns.
|
|
33
24
|
Metrics/CyclomaticComplexity:
|
|
34
|
-
Max:
|
|
35
|
-
|
|
36
|
-
# Offense count: 61
|
|
37
|
-
# Configuration parameters: CountComments, ExcludedMethods.
|
|
38
|
-
Metrics/MethodLength:
|
|
39
|
-
Max: 41
|
|
40
|
-
|
|
41
|
-
# Offense count: 1
|
|
42
|
-
# Configuration parameters: CountKeywordArgs.
|
|
43
|
-
Metrics/ParameterLists:
|
|
44
|
-
Max: 6
|
|
25
|
+
Max: 12
|
|
45
26
|
|
|
46
|
-
# Offense count:
|
|
27
|
+
# Offense count: 13
|
|
28
|
+
# Configuration parameters: AllowedMethods, AllowedPatterns.
|
|
47
29
|
Metrics/PerceivedComplexity:
|
|
48
|
-
Max:
|
|
30
|
+
Max: 12
|
|
49
31
|
|
|
50
32
|
# Offense count: 1
|
|
51
33
|
Naming/AccessorMethodName:
|
|
@@ -70,8 +52,8 @@ Naming/MemoizedInstanceVariableName:
|
|
|
70
52
|
Exclude:
|
|
71
53
|
- 'lib/oxidized/string.rb'
|
|
72
54
|
|
|
73
|
-
# Offense count:
|
|
74
|
-
#
|
|
55
|
+
# Offense count: 9
|
|
56
|
+
# This cop supports safe autocorrection (--autocorrect).
|
|
75
57
|
# Configuration parameters: PreferredName.
|
|
76
58
|
Naming/RescuedExceptionsVariableName:
|
|
77
59
|
Exclude:
|
|
@@ -82,23 +64,25 @@ Naming/RescuedExceptionsVariableName:
|
|
|
82
64
|
- 'lib/oxidized/config.rb'
|
|
83
65
|
- 'lib/oxidized/node.rb'
|
|
84
66
|
- 'lib/oxidized/nodes.rb'
|
|
85
|
-
- 'lib/oxidized/output/git.rb'
|
|
86
|
-
- 'lib/oxidized/output/gitcrypt.rb'
|
|
87
67
|
- 'lib/oxidized/source/sql.rb'
|
|
88
68
|
|
|
69
|
+
# Offense count: 2
|
|
70
|
+
Rake/DuplicateTask:
|
|
71
|
+
Exclude:
|
|
72
|
+
- 'Rakefile'
|
|
73
|
+
|
|
89
74
|
# Offense count: 1
|
|
90
75
|
Security/Eval:
|
|
91
76
|
Exclude:
|
|
92
77
|
- 'Rakefile'
|
|
93
78
|
|
|
94
|
-
# Offense count:
|
|
95
|
-
#
|
|
96
|
-
# Configuration parameters:
|
|
79
|
+
# Offense count: 3
|
|
80
|
+
# This cop supports unsafe autocorrection (--autocorrect-all).
|
|
81
|
+
# Configuration parameters: EnforcedStyle.
|
|
97
82
|
# SupportedStyles: nested, compact
|
|
98
83
|
Style/ClassAndModuleChildren:
|
|
99
84
|
Exclude:
|
|
100
85
|
- 'lib/oxidized/config/vars.rb'
|
|
101
|
-
- 'lib/oxidized/input/telnet.rb'
|
|
102
86
|
- 'lib/oxidized/nodes.rb'
|
|
103
87
|
|
|
104
88
|
# Offense count: 2
|
|
@@ -106,15 +90,85 @@ Style/ClassVars:
|
|
|
106
90
|
Exclude:
|
|
107
91
|
- 'lib/oxidized.rb'
|
|
108
92
|
|
|
109
|
-
# Offense count:
|
|
93
|
+
# Offense count: 1
|
|
94
|
+
# This cop supports unsafe autocorrection (--autocorrect-all).
|
|
95
|
+
# Configuration parameters: EnforcedStyle.
|
|
96
|
+
# SupportedStyles: allowed_in_returns, forbidden
|
|
110
97
|
Style/DoubleNegation:
|
|
111
98
|
Exclude:
|
|
112
|
-
- 'lib/oxidized/cli.rb'
|
|
113
99
|
- 'lib/oxidized/hook/exec.rb'
|
|
114
100
|
|
|
115
|
-
# Offense count:
|
|
116
|
-
#
|
|
101
|
+
# Offense count: 1
|
|
102
|
+
# This cop supports unsafe autocorrection (--autocorrect-all).
|
|
103
|
+
Style/GlobalStdStream:
|
|
104
|
+
Exclude:
|
|
105
|
+
- 'lib/oxidized.rb'
|
|
106
|
+
|
|
107
|
+
# Offense count: 3
|
|
108
|
+
Style/OpenStructUse:
|
|
109
|
+
Exclude:
|
|
110
|
+
- 'lib/oxidized/hook.rb'
|
|
111
|
+
- 'lib/oxidized/node.rb'
|
|
112
|
+
- 'spec/hook/githubrepo_spec.rb'
|
|
113
|
+
|
|
114
|
+
# Offense count: 27
|
|
115
|
+
# This cop supports safe autocorrection (--autocorrect).
|
|
116
|
+
Style/RedundantRegexpCharacterClass:
|
|
117
|
+
Exclude:
|
|
118
|
+
- 'lib/oxidized/model/axos.rb'
|
|
119
|
+
- 'lib/oxidized/model/comtrol.rb'
|
|
120
|
+
- 'lib/oxidized/model/fabricos.rb'
|
|
121
|
+
- 'lib/oxidized/model/ironware.rb'
|
|
122
|
+
- 'lib/oxidized/model/mlnxos.rb'
|
|
123
|
+
- 'lib/oxidized/model/nxos.rb'
|
|
124
|
+
- 'lib/oxidized/model/slxos.rb'
|
|
125
|
+
- 'lib/oxidized/model/sonicos.rb'
|
|
126
|
+
- 'lib/oxidized/model/speedtouch.rb'
|
|
127
|
+
- 'lib/oxidized/model/telco.rb'
|
|
128
|
+
- 'lib/oxidized/model/ucs.rb'
|
|
129
|
+
- 'lib/oxidized/model/voltaire.rb'
|
|
130
|
+
- 'lib/oxidized/model/zhoneolt.rb'
|
|
131
|
+
- 'lib/oxidized/model/zynoscli.rb'
|
|
132
|
+
|
|
133
|
+
# Offense count: 37
|
|
134
|
+
# This cop supports safe autocorrection (--autocorrect).
|
|
135
|
+
Style/RedundantRegexpEscape:
|
|
136
|
+
Exclude:
|
|
137
|
+
- 'lib/oxidized/model/adva.rb'
|
|
138
|
+
- 'lib/oxidized/model/airfiber.rb'
|
|
139
|
+
- 'lib/oxidized/model/aosw.rb'
|
|
140
|
+
- 'lib/oxidized/model/c4cmts.rb'
|
|
141
|
+
- 'lib/oxidized/model/dellx.rb'
|
|
142
|
+
- 'lib/oxidized/model/eltex.rb'
|
|
143
|
+
- 'lib/oxidized/model/enterasys800.rb'
|
|
144
|
+
- 'lib/oxidized/model/netonix.rb'
|
|
145
|
+
- 'lib/oxidized/model/netscaler.rb'
|
|
146
|
+
- 'lib/oxidized/model/openbsd.rb'
|
|
147
|
+
- 'lib/oxidized/model/siklu.rb'
|
|
148
|
+
- 'lib/oxidized/model/slxos.rb'
|
|
149
|
+
- 'lib/oxidized/model/sonicos.rb'
|
|
150
|
+
- 'lib/oxidized/model/trango.rb'
|
|
151
|
+
|
|
152
|
+
# Offense count: 45
|
|
153
|
+
# This cop supports safe autocorrection (--autocorrect).
|
|
117
154
|
# Configuration parameters: EnforcedStyle, AllowInnerSlashes.
|
|
118
155
|
# SupportedStyles: slashes, percent_r, mixed
|
|
119
156
|
Style/RegexpLiteral:
|
|
120
157
|
Enabled: false
|
|
158
|
+
|
|
159
|
+
# Offense count: 31
|
|
160
|
+
# This cop supports unsafe autocorrection (--autocorrect-all).
|
|
161
|
+
Style/SlicingWithRange:
|
|
162
|
+
Enabled: false
|
|
163
|
+
|
|
164
|
+
# Offense count: 81
|
|
165
|
+
# This cop supports unsafe autocorrection (--autocorrect-all).
|
|
166
|
+
# Configuration parameters: Mode.
|
|
167
|
+
Style/StringConcatenation:
|
|
168
|
+
Enabled: false
|
|
169
|
+
|
|
170
|
+
# Offense count: 1
|
|
171
|
+
# This cop supports unsafe autocorrection (--autocorrect-all).
|
|
172
|
+
Style/ZeroLengthPredicate:
|
|
173
|
+
Exclude:
|
|
174
|
+
- 'lib/oxidized/core.rb'
|
data/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,140 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [0.29.0 - 2023-04-13]
|
|
10
|
+
|
|
11
|
+
- Ensure Docker Builds are tagged with latest and version (using `git describe --tags`) (@aschaber1)
|
|
12
|
+
- Upgrade Dockerfile baseimage to Ubuntu 22.04 and Ruby 3.0 (@aschaber1)
|
|
13
|
+
- Upgrade Ruby dependency to Ruby 3.0+ (@aschaber1)
|
|
14
|
+
- model for PanOS & Panorama via HTTP API (@pv2b, @sts)
|
|
15
|
+
- model for MikroTik SwOS devicse (@sm-nessus)
|
|
16
|
+
- model for TrueNAS devices (@neilschelly)
|
|
17
|
+
- model for Acme Packet devices (@ha36d)
|
|
18
|
+
- model for SmartCS devise (@yoshihito-tatano)
|
|
19
|
+
- Cumulus: added option to use NCLU as ia collecting method
|
|
20
|
+
- Update net-ssh to 7.0.1 (using `append_all_supported_algorithms: true`)
|
|
21
|
+
- Allow (config) (vlan-####) confirmation (y/n) and sftp questions in procurve prompt (@sorano)
|
|
22
|
+
- Added new model called `srosmd` to backup configuration fron Nokia SR OS devices running in the model-driven CLI mode, which has different syntax to existing `sros` model.
|
|
23
|
+
- fix: allow Netgear devices to finish SSH session correctly
|
|
24
|
+
- More pager handling for MIS5030Q (@glance-)
|
|
25
|
+
- Update logrotate example to allow logrotate service to start before any logs exist
|
|
26
|
+
- Mask NX-OS tacacs+ host keys (@0x4c6565)
|
|
27
|
+
- airfiber: prompt matching made case-insensitive to support AF5xHD (@noaheroufus)
|
|
28
|
+
- Cumulus: add support for dhcp-relay (@ohai89)
|
|
29
|
+
- Github Action: Support creating custom version tag in a release
|
|
30
|
+
- Add support for no enable password set on ironware
|
|
31
|
+
- change pfSense secret scrubbing to keep config as well-formed XML
|
|
32
|
+
- Add support for comware HPE Office Connect 1950
|
|
33
|
+
- Added model for Hirschmann Hios devices, next to alread present Hirschmann classic (@tijldeneut)
|
|
34
|
+
- (StoneOS) Prompt fix for long device names, '^H' handling and removal of ever-changing data (@dMailonG)
|
|
35
|
+
|
|
36
|
+
### Added
|
|
37
|
+
|
|
38
|
+
- install rugged with ssh in Dockerfile (@agrevtcev)
|
|
39
|
+
- allow to run as non-root user in Docker (@agrevtcev)
|
|
40
|
+
- Extend http source configurations to include read_timeout value
|
|
41
|
+
- model for bdcom-based fiberstore switches (@candlerb)
|
|
42
|
+
- enterasys800 model for enterasys 800-series fe/ge switches (@javichumellamo)
|
|
43
|
+
- add ES3526XA-V2 support in EdgeCOS model (@moisseev)
|
|
44
|
+
- model for eltex mes-series switches (@glaubway)
|
|
45
|
+
- model for zte c300 and c320 olt (@glaubway)
|
|
46
|
+
- model for LANCOM (@systeembeheerder)
|
|
47
|
+
- model for Aruba CX switches (@jmurphy5)
|
|
48
|
+
- model for FortiWLC WLAn Controller (@MrMarioMichel)
|
|
49
|
+
- model for NEC IX devices (@mikenowak)
|
|
50
|
+
- Added docs for Dell/EMC Networking OS10 devices (@davromaniak)
|
|
51
|
+
- model for Zyxel 1308 OLTs (@baldoarturo)
|
|
52
|
+
- model for Linksys SRW switches (@glance-)
|
|
53
|
+
- Added exec hook variables to retrieve verbose node's failure reason and type
|
|
54
|
+
- model for Cambium ePMP radios (@martydingo)
|
|
55
|
+
- Added GaiaOS support for virtual systems (@rwxd)
|
|
56
|
+
- Added new `group_map` configuration option (@mjbnz)
|
|
57
|
+
- Dockerfile rebased to phusion/baseimage-docker focal-1.2.0
|
|
58
|
+
- model for Lenovo Network OS (@seros1521)
|
|
59
|
+
- new option: use_max_threads
|
|
60
|
+
- model for ADVA devices (@stephrdev)
|
|
61
|
+
- model for YAMAHA NVR/RTX Series (@bluekirin55)
|
|
62
|
+
- model for ZPE Nodegrid OS (@euph333)
|
|
63
|
+
- model for H3C switches
|
|
64
|
+
- model for Cisco Catalyst Express switches (@unemongod)
|
|
65
|
+
- extended mysql source configuration to include tls options (@glaubway)
|
|
66
|
+
- updated rugged in gemspec for ruby 3.0 support (@firefishy)
|
|
67
|
+
- Added exec hook for MS Teams webhook (@systeembeheerder)
|
|
68
|
+
|
|
69
|
+
### Changed
|
|
70
|
+
|
|
71
|
+
- Better manage of the enable mode in edgeswitch.rb (@agabellini)
|
|
72
|
+
- Adds paging support to Enterasys B3/C3 (@piterpunk)
|
|
73
|
+
- Allows "Username" as username prompt in Brocade ICX-series devices (@piterpunk)
|
|
74
|
+
- Add show-sensitive flag on export command on Mikrotik RouterOS when remove_secret is off (@kedare)
|
|
75
|
+
- rubocop dependency now ~> 0.81.0, the last one with ruby 2.3 support
|
|
76
|
+
- change pfSense secret scrubbing to handle new format in 2.4.5+
|
|
77
|
+
- Dockerfile rebased to phusion/baseimage-docker bionic-1.0.0
|
|
78
|
+
- scrub PoE related messages from routeros config output (@pioto)
|
|
79
|
+
- support for d-link dgs-1100 series switches in dlink model (@glaubway)
|
|
80
|
+
- enterasys model now works with both ro and rw access (@sargon)
|
|
81
|
+
- restore including last configuration change IOS if the change is done by real user. Resolves #1921 (@raunz)
|
|
82
|
+
- Additional scrubbing for SonicOS v7 devices (@gerard780)
|
|
83
|
+
- improved Telnet support for enterasys (@jplitza)
|
|
84
|
+
- Include "show version" output for enterasys (@jplitza)
|
|
85
|
+
- xmppdiff now also shows diffs with only removed or only added lines (@jplitza)
|
|
86
|
+
- xmppdiff now persists its connection to the XMPP server and MUC (@jplitza)
|
|
87
|
+
- routeros no longer backups infos on available updates (@jplitza)
|
|
88
|
+
- avoid /humidity hardware field in tmos (F5) to be reported (@albsga)
|
|
89
|
+
- read all configurations in partition folder for tmos (F5) (@dalamanster)
|
|
90
|
+
- version information or OPNsense and PFsense models is now included as XML comments (@pv2b)
|
|
91
|
+
- netscaler, backup all partitions (@smallsam)
|
|
92
|
+
- only runs SSH proxy commands if the ssh_proxy configuration item has been defined (@jameskirsop)
|
|
93
|
+
- updated vrp.rb to correctly parse huawei devices
|
|
94
|
+
- asa: information about the configuration change time is deleted
|
|
95
|
+
- Extended groups configuration to support models vars within a group (@mjbnz)
|
|
96
|
+
- Extended `remote_repo` configuration to allow repo specific ssh keys (@mjbnz)
|
|
97
|
+
- sonicos: added scrubbing for hashed values (@televat0rs)
|
|
98
|
+
- nxos: Additional scrubbing for nxos device passwords (@derekivey)
|
|
99
|
+
- nxos: Fix password match to avoid stripping out the user role. (@derekivey)
|
|
100
|
+
- OpenBSD: Include bgpd, ospfd and ospf6d files (@woopstar)
|
|
101
|
+
- scrub often changing values in junos license output (@matejv)
|
|
102
|
+
- comware: support for enable(super) login password added (@delvta)
|
|
103
|
+
- use slack-ruby-client instead of slack-api for slackdiff hook (@0xmc)
|
|
104
|
+
- ios: Add support for RBAC in IOS model (@jameskirsop)
|
|
105
|
+
- hide unsupported-transceiver license key in Arista EOS (@davidc)
|
|
106
|
+
- edgecos: add support for FS S3900-48T6S-R (@cgsecurity)
|
|
107
|
+
|
|
108
|
+
### Fixed
|
|
109
|
+
|
|
110
|
+
- fixed an issue for IOSXR devices which can't allocate pty because of problem with forwarding agent.
|
|
111
|
+
- fixed an issue with the TrueNAS model where the configuration would come up blank when TrueNAS was also using it. (@neilschelly)
|
|
112
|
+
- fixed on issue where Oxidized could not pull config from Opengear devices #1899 (@rikard0)
|
|
113
|
+
- fixed an issue where Oxidized could not pull config from XOS-devices operating in stacked mode (@DarkCatapulter)
|
|
114
|
+
- fixed an issue where Oxidized could not pull config from XOS-devices that have not saved their configuration (@DarkCatapulter)
|
|
115
|
+
- improved scrubbing of show chassis in ironware model (@michaelpsomiadis)
|
|
116
|
+
- fixed snmp secret handling in netgear model (@CirnoT)
|
|
117
|
+
- generalise fortiOS to support new versions and VM based products e.g. FortiManager, FortiAnalyzer and FortiMail, which requires keyboard-interactive auth method. Includes trial-and-error cmd list to retrieve most infromative config. Fixes #2227. Moved 'system ha status' to 'config global' section to support clusters with virtual domains.
|
|
118
|
+
- filter next periodic save schedule time in xos model output (@sargon)
|
|
119
|
+
- Fix when auto-saved is configured on xos switches (@trappiz)
|
|
120
|
+
- fixed ArubaOS-CX enviroment/system inconsistent values #2297 (@raunz)
|
|
121
|
+
- further improvements to ArubaOS-CX environment values (@olemyhre)
|
|
122
|
+
- Update AirFiber prompt regex (@murrant)
|
|
123
|
+
- System time and running time are now stripped from tplink model output (@spike77453)
|
|
124
|
+
- <?xml... line is no longer improperly stripped from OPNsense and PFsense backups (@pv2b)
|
|
125
|
+
- fixed an issue where Oxidized timeouts in Brocade ICX-series devices (@piterpunk)
|
|
126
|
+
- fixed an issue where EOS config was truncated. Fixes #2038 (@jake2184 @fhibler)
|
|
127
|
+
- fixed missing output from routeros version command (@mjbnz)
|
|
128
|
+
- stopped `clear: true` from removing all commands (@mjbnz)
|
|
129
|
+
- Updated fastiron enable password prompt regex (@pepperoni-pi)
|
|
130
|
+
- fixed an issue where the pfsense model would not report errors in case it was unable to download the configuration e.g. due to insufficient permissions
|
|
131
|
+
- added a missing check for whether to send `enable` commands to Adtran devices (@repnop)
|
|
132
|
+
- fixed an issue where ADVA devices with a configured prompt != `ADVA-->` couldn't be polled (@momorientes)
|
|
133
|
+
- ensure local time and system up time are filtered for ADVA devices (@stephrdev)
|
|
134
|
+
- fixed an issue with FortiOS that didn't accurately match `set ca` lines #2567 (@neilschelly)
|
|
135
|
+
- removed unwanted current date from slxos model
|
|
136
|
+
- fixed secret handling for rip authentication in casa model #2648 (@grahamjohnston)
|
|
137
|
+
- stripped IoT-detect version for Fortigate devices
|
|
138
|
+
- Fix expect usage in models on telnet. Tested with Netgear GS108T. (@arrjay)
|
|
139
|
+
- Fix Sonicwall SonicOS "system-uptime" omission from log (@lazynooblet)
|
|
140
|
+
- purityos: at least v6.3.5 needs other terminal settings (@elliot64)
|
|
141
|
+
- purityos: remove purealerts and VEEAM snapshots from backed up config (@elliot64)
|
|
142
|
+
|
|
9
143
|
## [0.28.0 - 2020-05-18]
|
|
10
144
|
|
|
11
145
|
### Added
|
|
@@ -40,7 +174,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
|
|
|
40
174
|
- fortios model strips uptime even without remove_secrets (@jplitza)
|
|
41
175
|
- HP ProCurve now accepts ">" as apart of the prompt (@magnuslarsen)
|
|
42
176
|
- fix IOS SNMP notification community hiding for informs and v3 (@moisseev)
|
|
43
|
-
- fixed issue where the regex-pattern for XOS-prompts used invalid syntax (@
|
|
177
|
+
- fixed issue where the regex-pattern for XOS-prompts used invalid syntax (@DarkCatapulter)
|
|
178
|
+
- set terminal width in EdgeCOS model (@moisseev)
|
|
179
|
+
- suppress errors for commands that are not supported on some devices in EdgeCOS model (@moisseev)
|
|
180
|
+
- revert including command names in the output of the EdgeCOS model (@moisseev)
|
|
44
181
|
|
|
45
182
|
## [0.27.0] - 2019-10-27
|
|
46
183
|
|
|
@@ -392,7 +529,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
|
|
|
392
529
|
|
|
393
530
|
### Fixed
|
|
394
531
|
|
|
395
|
-
- debugging, tests (by
|
|
532
|
+
- debugging, tests (by @ElvinEfendi)
|
|
396
533
|
- nos, panos, acos, procurve, eos, edgeswitch, aosw, fortios updates
|
|
397
534
|
|
|
398
535
|
## [0.14.3] - 2016-05-25
|
data/Dockerfile
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
# Single-stage build of an oxidized container from phusion/baseimage-docker
|
|
2
|
-
FROM phusion/baseimage:0.
|
|
1
|
+
# Single-stage build of an oxidized container from phusion/baseimage-docker jammy-1.0.1, derived from Ubuntu 22.04 (Jammy Jellyfish)
|
|
2
|
+
FROM docker.io/phusion/baseimage:jammy-1.0.1
|
|
3
3
|
|
|
4
4
|
# set up dependencies for the build process
|
|
5
5
|
RUN apt-get -yq update \
|
|
6
|
-
&& apt-get -yq --no-install-recommends install
|
|
6
|
+
&& apt-get -yq --no-install-recommends install ruby3.0 ruby3.0-dev libssl3 bzip2 libssl-dev pkg-config make cmake libssh2-1 libssh2-1-dev git git-email libmailtools-perl g++ libffi-dev ruby-bundler libicu70 libicu-dev libsqlite3-0 libsqlite3-dev libmysqlclient21 libmysqlclient-dev libpq5 libpq-dev zlib1g-dev \
|
|
7
7
|
&& apt-get clean \
|
|
8
8
|
&& rm -rf /var/lib/apt/lists/*
|
|
9
9
|
|
|
10
10
|
# dependencies for hooks
|
|
11
|
-
RUN gem install aws-sdk slack-
|
|
11
|
+
RUN gem install --no-document aws-sdk slack-ruby-client xmpp4r cisco_spark
|
|
12
12
|
|
|
13
13
|
# dependencies for sources
|
|
14
|
-
RUN gem install gpgme sequel sqlite3 mysql2 pg
|
|
14
|
+
RUN gem install --no-document gpgme sequel sqlite3 mysql2 pg
|
|
15
15
|
|
|
16
16
|
# dependencies for inputs
|
|
17
|
-
RUN gem install net-tftp net-http-persistent mechanize
|
|
17
|
+
RUN gem install --no-document net-tftp net-http-persistent mechanize
|
|
18
18
|
|
|
19
19
|
# build and install oxidized
|
|
20
20
|
COPY . /tmp/oxidized/
|
|
@@ -22,20 +22,24 @@ WORKDIR /tmp/oxidized
|
|
|
22
22
|
|
|
23
23
|
# docker automated build gets shallow copy, but non-shallow copy cannot be unshallowed
|
|
24
24
|
RUN git fetch --unshallow || true
|
|
25
|
-
RUN rake install
|
|
25
|
+
RUN CMAKE_FLAGS='-DUSE_SSH=ON' rake install
|
|
26
26
|
|
|
27
27
|
# web interface
|
|
28
|
-
RUN gem install oxidized-web --no-
|
|
28
|
+
RUN gem install oxidized-web --no-document
|
|
29
29
|
|
|
30
30
|
# clean up
|
|
31
31
|
WORKDIR /
|
|
32
32
|
RUN rm -rf /tmp/oxidized
|
|
33
33
|
RUN apt-get -yq --purge autoremove ruby-dev pkg-config make cmake ruby-bundler libssl-dev libssh2-1-dev libicu-dev libsqlite3-dev libmysqlclient-dev libpq-dev zlib1g-dev
|
|
34
34
|
|
|
35
|
+
# add non-privileged user
|
|
36
|
+
ARG UID=30000
|
|
37
|
+
ARG GID=$UID
|
|
38
|
+
RUN groupadd -g "${GID}" -r oxidized && useradd -u "${UID}" -r -m -d /home/oxidized -g oxidized oxidized
|
|
39
|
+
|
|
35
40
|
# add runit services
|
|
36
41
|
COPY extra/oxidized.runit /etc/service/oxidized/run
|
|
37
42
|
COPY extra/auto-reload-config.runit /etc/service/auto-reload-config/run
|
|
38
43
|
COPY extra/update-ca-certificates.runit /etc/service/update-ca-certificates/run
|
|
39
44
|
|
|
40
|
-
VOLUME ["/root/.config/oxidized"]
|
|
41
45
|
EXPOSE 8888/tcp
|