oxidized 0.32.1 → 0.34.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 (127) hide show
  1. checksums.yaml +4 -4
  2. data/.github/ISSUE_TEMPLATE/bug_report.md +45 -0
  3. data/.github/ISSUE_TEMPLATE/feature_request.md +22 -0
  4. data/.github/ISSUE_TEMPLATE/support-request.md +39 -0
  5. data/.github/workflows/publishdocker.yml +35 -16
  6. data/.github/workflows/ruby.yml +4 -2
  7. data/.gitignore +2 -0
  8. data/.rubocop.yml +29 -8
  9. data/.rubocop_todo.yml +1 -60
  10. data/CHANGELOG.md +103 -2
  11. data/CONTRIBUTING.md +20 -10
  12. data/Dockerfile +37 -64
  13. data/README.md +47 -141
  14. data/Rakefile +9 -11
  15. data/docs/Configuration.md +236 -27
  16. data/docs/DeviceSimulation.md +19 -7
  17. data/docs/Docker.md +245 -0
  18. data/docs/Issues.md +27 -1
  19. data/docs/Model-Notes/EatonNetwork.md +18 -0
  20. data/docs/Model-Notes/HPEAruba.md +3 -2
  21. data/docs/ModelUnitTests.md +35 -25
  22. data/docs/Outputs.md +83 -2
  23. data/docs/Release.md +34 -24
  24. data/docs/Supported-OS-Types.md +7 -0
  25. data/docs/Troubleshooting.md +4 -13
  26. data/extra/device2yaml.rb +24 -9
  27. data/extra/rest_client.rb +3 -2
  28. data/extra/syslog.rb +8 -3
  29. data/lib/oxidized/cli.rb +7 -3
  30. data/lib/oxidized/config/vars.rb +22 -14
  31. data/lib/oxidized/config.rb +3 -2
  32. data/lib/oxidized/core.rb +30 -8
  33. data/lib/oxidized/hook/ciscosparkdiff.rb +11 -9
  34. data/lib/oxidized/hook/exec.rb +5 -4
  35. data/lib/oxidized/hook/githubrepo.rb +23 -17
  36. data/lib/oxidized/hook/noophook.rb +2 -2
  37. data/lib/oxidized/hook/slackdiff.rb +9 -8
  38. data/lib/oxidized/hook/xmppdiff.rb +9 -9
  39. data/lib/oxidized/hook.rb +10 -8
  40. data/lib/oxidized/input/cli.rb +8 -3
  41. data/lib/oxidized/input/exec.rb +1 -1
  42. data/lib/oxidized/input/ftp.rb +2 -2
  43. data/lib/oxidized/input/http.rb +6 -6
  44. data/lib/oxidized/input/input.rb +1 -0
  45. data/lib/oxidized/input/scp.rb +2 -2
  46. data/lib/oxidized/input/ssh.rb +21 -14
  47. data/lib/oxidized/input/telnet.rb +3 -3
  48. data/lib/oxidized/input/tftp.rb +1 -1
  49. data/lib/oxidized/job.rb +7 -4
  50. data/lib/oxidized/logger.rb +51 -0
  51. data/lib/oxidized/model/acos.rb +1 -0
  52. data/lib/oxidized/model/aos7.rb +9 -0
  53. data/lib/oxidized/model/aoscx.rb +2 -0
  54. data/lib/oxidized/model/aosw.rb +22 -17
  55. data/lib/oxidized/model/aricentiss.rb +2 -2
  56. data/lib/oxidized/model/asa.rb +3 -3
  57. data/lib/oxidized/model/awplus.rb +13 -10
  58. data/lib/oxidized/model/eatonnetwork.rb +65 -0
  59. data/lib/oxidized/model/edgecos.rb +2 -1
  60. data/lib/oxidized/model/edgeos.rb +7 -6
  61. data/lib/oxidized/model/edgeswitch.rb +3 -1
  62. data/lib/oxidized/model/efos.rb +41 -0
  63. data/lib/oxidized/model/eltex.rb +1 -1
  64. data/lib/oxidized/model/fabricos.rb +1 -1
  65. data/lib/oxidized/model/fastiron.rb +3 -1
  66. data/lib/oxidized/model/firelinuxos.rb +12 -3
  67. data/lib/oxidized/model/fortios.rb +5 -4
  68. data/lib/oxidized/model/gaiaos.rb +4 -4
  69. data/lib/oxidized/model/ingate.rb +47 -0
  70. data/lib/oxidized/model/ios.rb +16 -5
  71. data/lib/oxidized/model/ironware.rb +1 -1
  72. data/lib/oxidized/model/junos.rb +4 -0
  73. data/lib/oxidized/model/linksyssrw.rb +3 -3
  74. data/lib/oxidized/model/mlnxos.rb +14 -7
  75. data/lib/oxidized/model/model.rb +4 -3
  76. data/lib/oxidized/model/netgear.rb +8 -0
  77. data/lib/oxidized/model/nsxdfw.rb +2 -1
  78. data/lib/oxidized/model/nsxfirewall.rb +2 -1
  79. data/lib/oxidized/model/nxos.rb +2 -2
  80. data/lib/oxidized/model/openwrt.rb +6 -6
  81. data/lib/oxidized/model/powerconnect.rb +31 -10
  82. data/lib/oxidized/model/procurve.rb +3 -1
  83. data/lib/oxidized/model/qtech.rb +3 -1
  84. data/lib/oxidized/model/quantaos.rb +8 -6
  85. data/lib/oxidized/model/routeros.rb +3 -2
  86. data/lib/oxidized/model/saos10.rb +38 -0
  87. data/lib/oxidized/model/sixwind.rb +28 -0
  88. data/lib/oxidized/model/sonicos.rb +1 -1
  89. data/lib/oxidized/model/srosmd.rb +1 -1
  90. data/lib/oxidized/model/supermicro.rb +1 -1
  91. data/lib/oxidized/model/timos.rb +1 -1
  92. data/lib/oxidized/model/tmos.rb +1 -0
  93. data/lib/oxidized/model/tnsr.rb +53 -0
  94. data/lib/oxidized/model/trango.rb +3 -1
  95. data/lib/oxidized/model/unifiap.rb +144 -0
  96. data/lib/oxidized/model/vrp.rb +3 -1
  97. data/lib/oxidized/model/xos.rb +3 -1
  98. data/lib/oxidized/model/zhoneolt.rb +3 -1
  99. data/lib/oxidized/model/zynos.rb +3 -3
  100. data/lib/oxidized/node.rb +44 -27
  101. data/lib/oxidized/nodes.rb +8 -4
  102. data/lib/oxidized/output/file.rb +28 -0
  103. data/lib/oxidized/output/git.rb +148 -41
  104. data/lib/oxidized/output/gitcrypt.rb +18 -13
  105. data/lib/oxidized/output/http.rb +5 -4
  106. data/lib/oxidized/output/output.rb +14 -0
  107. data/lib/oxidized/source/http.rb +4 -2
  108. data/lib/oxidized/version.rb +6 -4
  109. data/lib/oxidized/worker.rb +13 -13
  110. data/lib/oxidized.rb +3 -24
  111. data/lib/refinements.rb +2 -0
  112. data/oxidized.gemspec +10 -8
  113. metadata +74 -41
  114. data/examples/podman-compose/Makefile +0 -103
  115. data/examples/podman-compose/README.md +0 -94
  116. data/examples/podman-compose/docker-compose.yml +0 -30
  117. data/examples/podman-compose/gitserver/.gitignore +0 -1
  118. data/examples/podman-compose/gitserver/Dockerfile +0 -14
  119. data/examples/podman-compose/model-simulation/Dockerfile-model +0 -13
  120. data/examples/podman-compose/model-simulation/asternos.sh +0 -36
  121. data/examples/podman-compose/oxidized-config/.gitignore +0 -10
  122. data/examples/podman-compose/oxidized-config/config +0 -46
  123. data/examples/podman-compose/oxidized-config/config_csv-file +0 -46
  124. data/examples/podman-compose/oxidized-config/config_csv-gitserver +0 -56
  125. data/examples/podman-compose/oxidized-config/router.db +0 -1
  126. data/examples/podman-compose/oxidized-ssh/.gitignore +0 -1
  127. data/examples/podman-compose/oxidized-ssh/README.md +0 -14
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a0ef1ef47a42a57f4d0b01e6a0201a604c9ff722c6b1f0452fa97d2352f0c55b
4
- data.tar.gz: 15717e0e5f7344a0449054d66c412bf77a8710e59e3db003195dd3bd2eb21ee3
3
+ metadata.gz: 0c03871264e842280577898104fee04193865836f6a36f9e271fc899723c0490
4
+ data.tar.gz: f63f80d3220f6112f5e20955d7f519628d86a358502b907ebe196ad85126fdc3
5
5
  SHA512:
6
- metadata.gz: 401435f585a12c13a81fd3c7a30f7190a83cf9d0a39fb417b9c80342a8dc78a0d570dac53f060fb54aed039989f579a113d4040e21405c81c25760d6a9720a4a
7
- data.tar.gz: ed46c959fccbbbabdd60aecdb2a517b2262f956cb184eee34bb85558a88805c25e743d45d45d3d7a90847f8132d7a4f891c00ff95c7cb32c873a4108029102bf
6
+ metadata.gz: 6f2a29dd10a0ecdfd43a5b4607e237a778ad7776d017d0c09f6cbe35bb01d2a20b1eefe733a995630355346b876ec0c15a504e72f6200a2362b5597da01ca0cf
7
+ data.tar.gz: 5030d36380278ad562d7242d090dcd12b73572b0c97d1ac9f0d6b654a3f530349923b8d83561fc2ccd2f7b68d1b4b503e0ba405a72589ad9bd916f50b74e7e8c
@@ -0,0 +1,45 @@
1
+ ---
2
+ name: Bug report
3
+ about: Create a report to help us improve oxidized
4
+ title: ''
5
+ labels: bug
6
+ assignees: ''
7
+
8
+ ---
9
+ <!-- Check the box [X] -->
10
+ - [ ] I have read and understood [docs/Issues.md](https://github.com/ytti/oxidized/blob/master/docs/Issues.md).
11
+
12
+ **Describe the bug**
13
+ A clear and concise description of what the bug is.
14
+
15
+ **To Reproduce**
16
+ Steps to reproduce the behavior:
17
+ 1. Configure '...'
18
+ 2. Use model '....'
19
+ 3. Run '....'
20
+ 4. See error
21
+
22
+ **Expected behavior**
23
+ A clear and concise description of what you expected to happen.
24
+
25
+ **Configuration**
26
+ ```
27
+ If applicable, publish your configuration.
28
+ ```
29
+
30
+ **Logs**
31
+ ```
32
+ If applicable, add logs to help explain your problem.
33
+ ```
34
+
35
+ **Running environment (please complete the following information):**
36
+ <!-- complete the following information and add further details if needed.
37
+ Always test the latest version of oxidized -->
38
+ - OS: [e.g. Debian Bookworm, official container version xxx, ...]
39
+ - oxidized version: [e.g. 0.32.2]
40
+ - oxidized-web version: [e.g. 0.15.1, if applicable]
41
+ - Manufacturer model an software version:
42
+ - oxidized model name:
43
+
44
+ **Additional context**
45
+ Add any other context about the problem here.
@@ -0,0 +1,22 @@
1
+ ---
2
+ name: Feature request
3
+ about: Suggest an idea for this project
4
+ title: ''
5
+ labels: feature request
6
+ assignees: ''
7
+
8
+ ---
9
+ <!-- Check the box [X] -->
10
+ - [ ] I have read and understood [docs/Issues.md](https://github.com/ytti/oxidized/blob/master/docs/Issues.md).
11
+
12
+ **Is your feature request related to a problem? Please describe.**
13
+ A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
14
+
15
+ **Describe the solution you'd like**
16
+ A clear and concise description of what you want to happen.
17
+
18
+ **Describe alternatives you've considered**
19
+ A clear and concise description of any alternative solutions or features you've considered.
20
+
21
+ **Additional context**
22
+ Add any other context about the feature request here.
@@ -0,0 +1,39 @@
1
+ ---
2
+ name: Support request
3
+ about: Ask for help
4
+ title: ''
5
+ labels: question
6
+ assignees: ''
7
+
8
+ ---
9
+ <!-- Check the box [X] -->
10
+ - [ ] I have read and understood [docs/Issues.md](https://github.com/ytti/oxidized/blob/master/docs/Issues.md).
11
+
12
+ **Describe the problem**
13
+ A clear and concise description of what your problem is.
14
+
15
+ **Expected behavior**
16
+ A clear and concise description of what you expected to happen.
17
+
18
+ **Configuration**
19
+ ```
20
+ If applicable, publish your configuration.
21
+ ```
22
+
23
+ **Logs**
24
+ ```
25
+ If applicable, add logs to help explain your problem.
26
+ ```
27
+
28
+ **Running environment (please complete the following information):**
29
+ <!-- complete the following information and add further details if needed.
30
+ Always test the latest version of oxidized -->
31
+ - OS: [e.g. Debian Bookworm, official container version xxx, ...]
32
+ - oxidized version: [e.g. 0.32.2]
33
+ - oxidized-web version: [e.g. 0.15.1, if applicable]
34
+ - Manufacturer model an software version:
35
+ - oxidized model name:
36
+
37
+ **Additional context**
38
+ Add any other context about the problem here.
39
+
@@ -2,24 +2,43 @@ name: Publish Docker
2
2
  on:
3
3
  push:
4
4
  branches: [ "master" ]
5
+ tags: [ "[0-9]+.[0-9]+.[0-9]+" ]
6
+
5
7
  jobs:
6
8
  build:
7
9
  if: github.repository_owner == 'ytti'
8
10
  runs-on: ubuntu-latest
9
11
  steps:
10
- - uses: actions/checkout@master
11
- with:
12
- fetch-depth: 0
13
- - name: Get Release Version
14
- id: get_version
15
- run: echo "release-version=$(git describe --tags)" >> $GITHUB_OUTPUT
16
- - name: Set up Docker Buildx
17
- uses: docker/setup-buildx-action@v3
18
- - name: Publish to Registry
19
- uses: elgohr/Publish-Docker-Github-Action@v5
20
- with:
21
- name: oxidized/oxidized
22
- username: ${{ secrets.DOCKER_USERNAME }}
23
- password: ${{ secrets.DOCKER_PASSWORD }}
24
- tags: "latest,${{ steps.get_version.outputs.release-version }}"
25
- platforms: linux/amd64,linux/arm64
12
+
13
+ - name: Define tags
14
+ id: meta
15
+ uses: docker/metadata-action@v5
16
+ with:
17
+ images: |
18
+ oxidized/oxidized
19
+ tags: |
20
+ type=semver,pattern={{version}}
21
+ type=sha,prefix=master-
22
+ flavor: |
23
+ latest=true
24
+
25
+ - name: Login to Docker Hub
26
+ uses: docker/login-action@v3
27
+ with:
28
+ username: ${{ secrets.DOCKER_USERNAME }}
29
+ password: ${{ secrets.DOCKER_PASSWORD }}
30
+
31
+ - name: Set up QEMU
32
+ uses: docker/setup-qemu-action@v3
33
+
34
+ - name: Set up Docker Buildx
35
+ uses: docker/setup-buildx-action@v3
36
+
37
+ - name: Build and push
38
+ uses: docker/build-push-action@v6
39
+ with:
40
+ platforms: linux/amd64,linux/arm64
41
+ push: true
42
+ tags: ${{ steps.meta.outputs.tags }}
43
+ build-args: |
44
+ BUILDKIT_CONTEXT_KEEP_GIT_DIR=true
@@ -19,8 +19,10 @@ jobs:
19
19
  runs-on: ubuntu-latest
20
20
  strategy:
21
21
  matrix:
22
- ruby-version: ['3.1', '3.2', '3.3', '3.4', 'ruby-head']
23
- continue-on-error: ${{ matrix.ruby-version == 'ruby-head' }}
22
+ ruby-version: ['3.1', '3.2', '3.3', '3.4']
23
+ # ruby-head disabled because of problem with bundler (2025-06-27)
24
+ # ruby-version: ['3.1', '3.2', '3.3', '3.4', 'ruby-head']
25
+ # continue-on-error: ${{ matrix.ruby-version == 'ruby-head' }}
24
26
 
25
27
  steps:
26
28
  - uses: actions/checkout@v4
data/.gitignore CHANGED
@@ -13,6 +13,7 @@
13
13
  Gemfile.lock
14
14
  .ruby-version
15
15
  .sass-cache/
16
+ .vscode/
16
17
 
17
18
  # Used by dotenv library to load environment variables.
18
19
  # .env
@@ -52,3 +53,4 @@ build-iPhoneSimulator/
52
53
 
53
54
  # unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
54
55
  .rvmrc
56
+ /.rake_tasks~
data/.rubocop.yml CHANGED
@@ -3,8 +3,6 @@ inherit_from: .rubocop_todo.yml
3
3
  plugins:
4
4
  - rubocop-rake
5
5
  - rubocop-minitest
6
-
7
- require:
8
6
  - rubocop-sequel
9
7
 
10
8
  AllCops:
@@ -16,6 +14,8 @@ AllCops:
16
14
  Gemspec/DevelopmentDependencies:
17
15
  EnforcedStyle: gemspec
18
16
 
17
+ # We prefer to use ”” by default and use ’’ to signal that interpolation is
18
+ # intentionally turned off, but we don't enforce it.
19
19
  Style/StringLiterals:
20
20
  Enabled: false
21
21
 
@@ -23,7 +23,13 @@ Style/FrozenStringLiteralComment:
23
23
  Enabled: false
24
24
 
25
25
  Layout/LineLength:
26
- Enabled: false
26
+ Enabled: true
27
+ IgnoreCopDirectives: false
28
+ Max: 120
29
+ # Too much models have long lines, which is unsafe to reduce without
30
+ # having an existing model unit test.
31
+ Exclude:
32
+ - lib/oxidized/model/*.rb
27
33
 
28
34
  # We do not enforce the cop in the models as it would not work with the
29
35
  # DSL style of the models
@@ -46,6 +52,7 @@ Layout/HashAlignment:
46
52
  EnforcedHashRocketStyle: table
47
53
  EnforcedColonStyle: table
48
54
 
55
+ # Explicitly allow the use of "not"
49
56
  Style/Not:
50
57
  Enabled: false
51
58
 
@@ -53,6 +60,9 @@ Style/Not:
53
60
  Style/CommandLiteral:
54
61
  EnforcedStyle: percent_x
55
62
 
63
+ Style/ConditionalAssignment:
64
+ Enabled: false
65
+
56
66
  Style/FormatString:
57
67
  EnforcedStyle: percent
58
68
 
@@ -75,9 +85,11 @@ Style/RegexpLiteral:
75
85
  EnforcedStyle: slashes
76
86
  AllowInnerSlashes: true
77
87
 
88
+ # Explicitly allow the use of rescue as a Modifier
78
89
  Style/RescueModifier:
79
90
  Enabled: false
80
91
 
92
+ # Intentionally left deactivated as used in the models
81
93
  Style/SymbolProc:
82
94
  Enabled: false
83
95
 
@@ -85,19 +97,22 @@ Style/Documentation:
85
97
  Enabled: false
86
98
 
87
99
  Style/ParallelAssignment:
88
- Enabled: false
100
+ Enabled: true
89
101
 
90
102
  Metrics/MethodLength:
91
103
  Max: 50
92
104
 
93
105
  Metrics/AbcSize:
94
- Max: 28
106
+ Enabled: false
95
107
 
96
108
  Metrics/ClassLength:
97
- Max: 200
109
+ Enabled: false
110
+
111
+ Metrics/PerceivedComplexity:
112
+ Enabled: false
98
113
 
99
- ## Metrics/CyclomaticComplexity:
100
- ## Max: 7
114
+ Metrics/CyclomaticComplexity:
115
+ Enabled: false
101
116
 
102
117
  # The BlockLength metric does not apply to unit tests. They are in nature
103
118
  # long and not very pretty
@@ -109,5 +124,11 @@ Metrics/BlockLength:
109
124
  Metrics/ParameterLists:
110
125
  Max: 6
111
126
 
127
+ # Used in the models
112
128
  Lint/EmptyBlock:
113
129
  Enabled: false
130
+
131
+ # Disable the cop as string concatenation is widely used in oxidized
132
+ Style/StringConcatenation:
133
+ Enabled: false
134
+
data/.rubocop_todo.yml CHANGED
@@ -1,58 +1,12 @@
1
1
  # This configuration was generated by
2
2
  # `rubocop --auto-gen-config`
3
- # on 2025-02-17 10:13:53 UTC using RuboCop version 1.72.1.
3
+ # on 2025-07-15 08:50:44 UTC using RuboCop version 1.78.0.
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
- # Offense count: 30
10
- # Configuration parameters: AllowedMethods, AllowedPatterns, CountRepeatedAttributes, Max.
11
- Metrics/AbcSize:
12
- Enabled: false
13
-
14
- # Offense count: 17
15
- # Configuration parameters: AllowedMethods, AllowedPatterns.
16
- Metrics/CyclomaticComplexity:
17
- Max: 12
18
-
19
- # Offense count: 14
20
- # Configuration parameters: AllowedMethods, AllowedPatterns.
21
- Metrics/PerceivedComplexity:
22
- Max: 12
23
-
24
- # Offense count: 1
25
- Naming/ConstantName:
26
- Exclude:
27
- - 'extra/rest_client.rb'
28
-
29
- # Offense count: 1
30
- # This cop supports unsafe autocorrection (--autocorrect-all).
31
- # Configuration parameters: EnforcedStyleForLeadingUnderscores.
32
- # SupportedStylesForLeadingUnderscores: disallowed, required, optional
33
- Naming/MemoizedInstanceVariableName:
34
- Exclude:
35
- - 'lib/refinements.rb'
36
-
37
- # Offense count: 2
38
- Rake/DuplicateTask:
39
- Exclude:
40
- - 'Rakefile'
41
-
42
9
  # Offense count: 1
43
- Security/Eval:
44
- Exclude:
45
- - 'Rakefile'
46
-
47
- # Offense count: 1
48
- # This cop supports unsafe autocorrection (--autocorrect-all).
49
- # Configuration parameters: EnforcedStyle.
50
- # SupportedStyles: nested, compact
51
- Style/ClassAndModuleChildren:
52
- Exclude:
53
- - 'lib/oxidized/config/vars.rb'
54
-
55
- # Offense count: 2
56
10
  Style/ClassVars:
57
11
  Exclude:
58
12
  - 'lib/oxidized.rb'
@@ -65,20 +19,7 @@ Style/DoubleNegation:
65
19
  Exclude:
66
20
  - 'lib/oxidized/hook/exec.rb'
67
21
 
68
- # Offense count: 3
69
- Style/OpenStructUse:
70
- Exclude:
71
- - 'lib/oxidized/hook.rb'
72
- - 'lib/oxidized/node.rb'
73
- - 'spec/hook/githubrepo_spec.rb'
74
-
75
22
  # Offense count: 33
76
23
  # This cop supports unsafe autocorrection (--autocorrect-all).
77
24
  Style/SlicingWithRange:
78
25
  Enabled: false
79
-
80
- # Offense count: 94
81
- # This cop supports unsafe autocorrection (--autocorrect-all).
82
- # Configuration parameters: Mode.
83
- Style/StringConcatenation:
84
- Enabled: false
data/CHANGELOG.md CHANGED
@@ -4,8 +4,109 @@ All notable changes to this project will be documented in this file.
4
4
 
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
6
6
 
7
- ## [0.32.0 2025-02-20]
8
- This minor release fixes a javascript issue in oxidized-web, which is included
7
+ ## [0.34.0 - 2025-07-15]
8
+ :warning: This release introduces a [new logging system](docs/Configuration.md#logging),
9
+ based on [semantic logger](https://logger.rocketjob.io/). The old configuration
10
+ (`log`, `syslog`) is still supported but obsolete and will be removed in a
11
+ future release, so be sure to migrate your configureation.
12
+
13
+ ### Added
14
+ - add iosxr support to SyslogMonitor (@deesel)
15
+ - add junos: support show chassis cluster when SRX series (@shigechika)
16
+ - add nxos: support for complete hardware inventory (@garryshtern)
17
+ - ssh: support 'newline "string"' cfg block method to allow defining \r\n newline (@ytti)
18
+ - model for Netgate TNSR (@Vantomas)
19
+ - efos: New model for Brocade Enhanced Fabric OS. Fixes #3477 (@sorano, @cetjcm, @robertcheramy)
20
+ - output/file, output/git: clean node configurations which are not listed in the
21
+ source anymore. Fixes: #1805 (@robertcheramy)
22
+ - sixwind: New model to support 6WIND Virtual Service Router (@hcaldicott)
23
+ - model for saos10 (@penfold1972)
24
+
25
+ ### Changed
26
+ - remove uri in commit-archive location for EdgeOS. Fixed #3525 (@systeembeheerder)
27
+ - acos: remove free storage amount from show version. Fixes #3492 (@991jo)
28
+ - Housekeeping in the code: Maximal line length: 120 char + Rubocop fixes (@robertcheramy)
29
+ - spec/model/data uses # instead of : as a separator in the filename, so we can
30
+ git clone under Windows. Fixes: #3481 (@robertcheramy)
31
+ - logging: rework of the logging system, using Semantic Logger (@robertcheramy)
32
+
33
+ ### Fixed
34
+ - nxos: ignore bootflash size and permission errors (@rouven0)
35
+ - githubrepo: explicitly tell when Rugged isn't installed with ssh support (@robertcheramy)
36
+ - ironware: mask temperatures with more than two digits (@merelissdgr)
37
+ - add content-type header for PUT request in rest client (@deesel)
38
+ - docker: do not remove git. Fixes #3482 (@robertcheramy)
39
+ - awplus: fix skip password when enable=true (@shigechika)
40
+ - aosw: fix secret parsing (@rouven0)
41
+ - mlnxos: handle ANSI-ESC codes and pager requests. The prompt has been
42
+ reengineered, open an issue if you experience timeouts. Fixes #3469 (@robertcheramy)
43
+ - Update installation instructions on Rocky Linux 9. Fixes #3368 (@robertcheramy)
44
+ - awplus: fix enable password when supplied (@sgsimpson)
45
+ - Fix CodeQL scanning alerts on regular expressions (Issue #3513) in node.rb (alert 40),
46
+ asa (alerts 5 and 6), sonicos (4, 11), quantaos (9, 10), eltex (7), zynos (18, 19),
47
+ AricentISS (15) and aosw (36)
48
+ - fabricos: remove power supply input voltage from `chassisShow` output (@hops)
49
+ - netgear: include running-config in config output (@bradleywehmeier)
50
+ - tmos: remove deprecated secrets (@rouven0)
51
+ - log an error when no suitable input is found for a node. Fixes: #3346 (@robertcheramy)
52
+ - firelinuxos: fix timeout on syntax error. Fixes #3393, #3502 (@robertcheramy)
53
+
54
+
55
+ ## [0.33.0 - 2025-03-26]
56
+ This release changes the way to configure oxidized-web. The old `rest`
57
+ configuration is still supported but deprecated. The new configuration works
58
+ with oxidized-web 0.16.0 or later.
59
+ See [docs/Configuration.md](/docs/Configuration.md#oxidized-web-RESTful-API-and-web-interface).
60
+
61
+ The docker container includes
62
+ [security fixes to ruby-rake](https://ubuntu.com/security/notices/USN-7366-1),
63
+ so be sure to update to the latest version.
64
+
65
+ ### Added
66
+ - unifiap: new model for Unifi APs, switches, and AirOS APs (@clifcox)
67
+ - github: Issue templates for bugs, feature requests and support requests (@robertcheramy)
68
+ - model for Ingate Operating System (@thanegill)
69
+ - model for Easton Gigabit Network Card (@thanegill)
70
+
71
+ ### Changed
72
+ - fortios: support for FortiADC (@electrocret)
73
+ - output/git: cache commit log to improve performance of oxidized-web. Fixes #3121 (@robertcheramy)
74
+ - input/http: digest auth handles special characters in passwords by itself (no need to url encode them manually) (@einglasvollkakao)
75
+ - changed the configuration for oxidized-web from rest: to extensions.oxidized-web (@robertcheramy)
76
+ - netgear: add pager-handler workaround, fixes: #2394 and #3341 (@candlerb, @syn-bit)
77
+ - Output#version (git/gitcrypt) returns a Time object in its hash for more flexibility in oxidized-web (@robertcheramy)
78
+ - ios: hide secret key of aaa radius (@martinberg, @robertcheramy)
79
+ - container: update to phusion/baseimage:noble-1.0.1 (@robertcheramy)
80
+
81
+ ### Fixed
82
+ - powerconnect: Mask the changing temperature issue for non-stacked switches. Fixes #2088 (@clifcox)
83
+ - Fix frozen string literals (@robertcheramy)
84
+ - powerconnect: Cleanup login/logout logic. Fixes #3437 (@clifcox)
85
+ - aos7: remove extra lines occuring when `show hardware-info` runs slow (@rouven0)
86
+ - srosmd: add ignore regex for 64-bit system uptime (@emiliaaah)
87
+ - removed some rubocop warnings (@robertcheramy)
88
+
89
+
90
+ ## [0.32.2 – 2025-02-27]
91
+ This patch release mainly fixes the docker building process, wich resulted in
92
+ 0.32.1 not beeing built.
93
+
94
+ ### Changed
95
+ - docker image: updated github CI to explicitly build tag versions (@robertcheramy)
96
+ - docker image: update rake build_container to match the tags of GitHub CI (@robertcheramy)
97
+
98
+ ### Fixed
99
+ - powerconnect: restore last line of command output, and remove spurious CR characters. Fixes #2692 (@clifcox)
100
+ - powerconnect: Remove undesirable inserted blank lines during pagination. Fixes #3413 (@clifcox)
101
+ - docker image: remove ubuntu user introduced in noble. Fixes #3336 (@robertcheramy)
102
+ - docker image: correct rights under /home/oxidized. Fixes #3336 (@robertcheramy)
103
+ - docker image: revert the use of GEM_HOME. Fixes #3331 (@robertcheramy)
104
+ - docker image: improve the documentation. Fixes #3336 (@robertcheramy)
105
+ - docker image: remove examples/podman-compose as this is better documented in docs/Docker.md (@robertcheramy)
106
+
107
+
108
+ ## [0.32.1 – 2025-02-20]
109
+ This patch release fixes a javascript issue in oxidized-web, which is included
9
110
  in the Docker container of oxidized.
10
111
 
11
112
  ### Fixed
data/CONTRIBUTING.md CHANGED
@@ -1,6 +1,15 @@
1
1
  # Oxidized - Contributing Guide
2
2
  You can contribute to [Oxidized](https://github.com/ytti/oxidized/) in many ways, and first of all we'd like to thank you for taking your time to improve this great project!
3
3
 
4
+ > ## Legal Notice
5
+ > When submitting content to this project, you must agree that you have authored 100%
6
+ > of the content, that you have the necessary rights to the content and that the
7
+ > content you contribute may be provided under the project license.
8
+ >
9
+ > If you are employed, you probably need the permission from your employer to
10
+ > contribute to open source projects.
11
+
12
+
4
13
  ## Contribute as a user
5
14
  A great place for users to get involved is the [GitHub issues](https://github.com/ytti/oxidized/issues).
6
15
  Through the issues, you can interact with maintainers and other users. You can open an issue
@@ -9,13 +18,6 @@ if you need help, but you can also help other users by reviewing their issues an
9
18
  Before writing an issue, please read our documentation on
10
19
  [how to write good issues](/docs/Issues.md).
11
20
 
12
- > ## Legal Notice
13
- > When submitting content to this project, you must agree that you have authored 100%
14
- > of the content, that you have the necessary rights to the content and that the
15
- > content you contribute may be provided under the project license.
16
- >
17
- > If you are employed, you probably need the permission from your employer to
18
- > contribute to open source projects.
19
21
 
20
22
  ## Contribute some content
21
23
  Content contributions are always welcome. You do not need to be a maintainer for this.
@@ -25,6 +27,7 @@ enhancements :-)
25
27
  Contributions can be submitted through pull requests in github. For a full explanation how to
26
28
  contribute some content, see [How to contribute content](#how-to-contribute-content).
27
29
 
30
+
28
31
  ## Help Needed
29
32
 
30
33
  As things stand right now, `oxidized` is maintained by a few people. A great
@@ -167,10 +170,17 @@ git push -u origin 1234-your-branch-name
167
170
  You can push as often as you wish. If you already opened a pull request, your pushed commits will automatically get updated there.
168
171
 
169
172
  ### Open a pull request
170
- Go to your github repository, and github will propose to create a pull request and will guide you.
173
+ Go to your github repository, and github will propose to create a pull request
174
+ and will guide you.
175
+
176
+ We are happy that you are contributing to Oxidized. If something is not as it
177
+ should be, a maintainer will probably ask you to change it when reviewing the
178
+ pull request. And if your pull request breaks something, this can be fixed, so
179
+ don't be shy, submit your code ;-)
171
180
 
172
- We are happy that you are contributing to Oxidized. If something is not as it should be, a maintainer
173
- will probably ask you to change it when reviewing the pull request. And if your pull request breaks something, this can be fixed, so don't be shy, submit your code ;-)
181
+ Note: if the github CI fail on your pull request, fix the problems.
182
+ A pull request with failed CI won't be merged into master, so maintainers may
183
+ only review pull requests that have passed the CIs.
174
184
 
175
185
  ### Delete the branch from your repository
176
186
  When the pull request has been merged into main, github will ask if you want to delete your branch. Clean up and delete it, so that you can keep your fork clean and ready for new contributions.