oxidized 0.28.0 → 0.29.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|