oxidized 0.29.1 → 0.30.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/codeql.yml +4 -4
- data/.github/workflows/publishdocker.yml +3 -0
- data/.github/workflows/ruby.yml +1 -1
- data/.github/workflows/stale.yml +4 -1
- data/.rubocop.yml +6 -3
- data/.rubocop_todo.yml +10 -93
- data/CHANGELOG.md +66 -4
- data/CONTRIBUTING.md +174 -0
- data/Dockerfile +12 -1
- data/README.md +18 -36
- data/bin/oxidized +2 -5
- data/docs/Hooks.md +37 -1
- data/docs/Model-Notes/APC_AOS.md +52 -0
- data/docs/Model-Notes/FSOS.md +11 -0
- data/docs/Model-Notes/FortiOS.md +28 -0
- data/docs/Model-Notes/README.md +1 -20
- data/docs/Model-Notes/XGS4600-Zyxel.md +5 -0
- data/docs/Ruby-API.md +1 -1
- data/docs/Sources.md +13 -0
- data/docs/Supported-OS-Types.md +178 -270
- data/docs/Troubleshooting.md +16 -0
- data/examples/podman-compose/Makefile +61 -0
- data/examples/podman-compose/README.md +58 -0
- data/examples/podman-compose/docker-compose.yml +21 -0
- data/examples/podman-compose/model-simulation/Dockerfile-model +13 -0
- data/examples/podman-compose/model-simulation/asternos.sh +34 -0
- data/examples/podman-compose/oxidized-config/.gitignore +8 -0
- data/examples/podman-compose/oxidized-config/config +46 -0
- data/examples/podman-compose/oxidized-config/router.db +1 -0
- data/examples/podman-compose/oxidized-ssh/README.md +14 -0
- data/extra/rest_client.rb +2 -2
- data/extra/syslog.rb +2 -2
- data/lib/oxidized/cli.rb +6 -4
- data/lib/oxidized/config.rb +17 -14
- data/lib/oxidized/core.rb +22 -3
- data/lib/oxidized/hook.rb +3 -3
- data/lib/oxidized/input/exec.rb +1 -1
- data/lib/oxidized/input/ftp.rb +2 -2
- data/lib/oxidized/input/http.rb +32 -8
- data/lib/oxidized/input/input.rb +1 -1
- data/lib/oxidized/input/scp.rb +52 -0
- data/lib/oxidized/input/ssh.rb +10 -7
- data/lib/oxidized/input/telnet.rb +3 -2
- data/lib/oxidized/input/tftp.rb +1 -1
- data/lib/oxidized/jobs.rb +11 -1
- data/lib/oxidized/manager.rb +6 -6
- data/lib/oxidized/model/acos.rb +1 -1
- data/lib/oxidized/model/addpack.rb +26 -0
- data/lib/oxidized/model/adtran.rb +5 -1
- data/lib/oxidized/model/adva.rb +2 -2
- data/lib/oxidized/model/aoscx.rb +2 -1
- data/lib/oxidized/model/apc_aos.rb +2 -1
- data/lib/oxidized/model/aricentiss.rb +7 -0
- data/lib/oxidized/model/asternos.rb +22 -0
- data/lib/oxidized/model/asyncos.rb +2 -2
- data/lib/oxidized/model/awplus.rb +2 -2
- data/lib/oxidized/model/bdcom.rb +1 -0
- data/lib/oxidized/model/c4cmts.rb +1 -2
- data/lib/oxidized/model/ciscosma.rb +1 -1
- data/lib/oxidized/model/ciscosmb.rb +6 -1
- data/lib/oxidized/model/comware.rb +2 -2
- data/lib/oxidized/model/cumulus.rb +1 -1
- data/lib/oxidized/model/dellx.rb +1 -1
- data/lib/oxidized/model/dlink.rb +4 -2
- data/lib/oxidized/model/dlinknextgen.rb +51 -0
- data/lib/oxidized/model/dnos.rb +3 -0
- data/lib/oxidized/model/edgecos.rb +1 -1
- data/lib/oxidized/model/eltex.rb +2 -0
- data/lib/oxidized/model/enterasys800.rb +1 -1
- data/lib/oxidized/model/eos.rb +1 -1
- data/lib/oxidized/model/firebrick.rb +2 -2
- data/lib/oxidized/model/firewareos.rb +1 -1
- data/lib/oxidized/model/fortios.rb +9 -2
- data/lib/oxidized/model/fsos.rb +44 -0
- data/lib/oxidized/model/ios.rb +1 -1
- data/lib/oxidized/model/iosxr.rb +2 -2
- data/lib/oxidized/model/junos.rb +3 -2
- data/lib/oxidized/model/mimosab11.rb +34 -0
- data/lib/oxidized/model/ml66.rb +33 -0
- data/lib/oxidized/model/model.rb +3 -3
- data/lib/oxidized/model/netgear.rb +1 -1
- data/lib/oxidized/model/netscaler.rb +1 -1
- data/lib/oxidized/model/nxos.rb +4 -3
- data/lib/oxidized/model/ocnos.rb +42 -0
- data/lib/oxidized/model/onefinity.rb +18 -0
- data/lib/oxidized/model/openbsd.rb +1 -1
- data/lib/oxidized/model/opengear.rb +36 -1
- data/lib/oxidized/model/opnsense.rb +1 -1
- data/lib/oxidized/model/panos.rb +2 -0
- data/lib/oxidized/model/pfsense.rb +1 -0
- data/lib/oxidized/model/procurve.rb +3 -1
- data/lib/oxidized/model/rgos.rb +33 -0
- data/lib/oxidized/model/routeros.rb +10 -8
- data/lib/oxidized/model/slxos.rb +2 -2
- data/lib/oxidized/model/sonicos.rb +18 -17
- data/lib/oxidized/model/sros.rb +3 -3
- data/lib/oxidized/model/tplink.rb +4 -3
- data/lib/oxidized/model/truenas.rb +2 -1
- data/lib/oxidized/model/vrp.rb +3 -1
- data/lib/oxidized/model/vyatta.rb +6 -0
- data/lib/oxidized/model/zynos.rb +67 -3
- data/lib/oxidized/model/zynosadsl.rb +14 -0
- data/lib/oxidized/model/zynosgs.rb +2 -0
- data/lib/oxidized/model/zynosmgs.rb +32 -0
- data/lib/oxidized/node.rb +7 -7
- data/lib/oxidized/nodes.rb +17 -12
- data/lib/oxidized/output/file.rb +1 -1
- data/lib/oxidized/output/git.rb +5 -3
- data/lib/oxidized/output/gitcrypt.rb +4 -3
- data/lib/oxidized/signals.rb +44 -0
- data/lib/oxidized/source/csv.rb +1 -1
- data/lib/oxidized/source/http.rb +26 -5
- data/lib/oxidized/source/source.rb +2 -2
- data/lib/oxidized/source/sql.rb +3 -3
- data/lib/oxidized/version.rb +2 -2
- data/lib/oxidized/worker.rb +8 -1
- data/lib/oxidized.rb +3 -2
- data/lib/refinements.rb +1 -1
- data/oxidized.gemspec +6 -3
- metadata +77 -9
data/README.md
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
|
|
10
10
|
Oxidized is a network device configuration backup tool. It's a RANCID replacement!
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
It is light and extensible and supports over 130 operating system types.
|
|
13
13
|
|
|
14
14
|
Feature highlights:
|
|
15
15
|
|
|
@@ -17,13 +17,13 @@ Feature highlights:
|
|
|
17
17
|
* Restful API to a move node immediately to head-of-queue (GET/POST /node/next/[NODE])
|
|
18
18
|
* Syslog udp+file example to catch config change events (IOS/JunOS) and trigger a config fetch
|
|
19
19
|
* Will signal which IOS/JunOS user made the change, can then be used by output modules (via POST)
|
|
20
|
-
* The `git` output module uses this info - 'git blame' will show who changed each line
|
|
20
|
+
* The `git` output module uses this info - 'git blame' will show who changed each line
|
|
21
21
|
* Restful API to reload list of nodes (GET /reload)
|
|
22
22
|
* Restful API to fetch configurations (/node/fetch/[NODE] or /node/fetch/group/[NODE])
|
|
23
23
|
* Restful API to show list of nodes (GET /nodes)
|
|
24
24
|
* Restful API to show list of version for a node (/node/version[NODE]) and diffs
|
|
25
25
|
|
|
26
|
-
Check out the [Oxidized TREX 2014 presentation](http://youtu.be/kBQ_CTUuqeU
|
|
26
|
+
Check out the [Oxidized TREX 2014 presentation](http://youtu.be/kBQ_CTUuqeU?t=3h) video on YouTube!
|
|
27
27
|
|
|
28
28
|
> :warning: [Maintainer Wanted!](#help-needed) :warning:
|
|
29
29
|
>
|
|
@@ -38,6 +38,7 @@ Check out the [Oxidized TREX 2014 presentation](http://youtu.be/kBQ_CTUuqeU#t=3h
|
|
|
38
38
|
* [FreeBSD](#freebsd)
|
|
39
39
|
* [Build from Git](#build-from-git)
|
|
40
40
|
* [Docker](#running-with-docker)
|
|
41
|
+
* [Podman-Compose](#running-with-podman-compose)
|
|
41
42
|
* [Installing Ruby 2.3 using RVM](#installing-ruby-23-using-rvm)
|
|
42
43
|
3. [Initial Configuration](#configuration)
|
|
43
44
|
4. [Configuration](docs/Configuration.md)
|
|
@@ -67,7 +68,8 @@ Check out the [Oxidized TREX 2014 presentation](http://youtu.be/kBQ_CTUuqeU#t=3h
|
|
|
67
68
|
* [Hook: ciscosparkdiff](docs/Hooks.md#hook-type-ciscosparkdiff)
|
|
68
69
|
5. [Creating and Extending Models](docs/Creating-Models.md)
|
|
69
70
|
6. [Help](#help)
|
|
70
|
-
7. [
|
|
71
|
+
7. [Help Needed](#help-needed)
|
|
72
|
+
8. [Ruby API](docs/Ruby-API.md#ruby-api)
|
|
71
73
|
* [Input](docs/Ruby-API.md#input)
|
|
72
74
|
* [Output](docs/Ruby-API.md#output)
|
|
73
75
|
* [Source](docs/Ruby-API.md#source)
|
|
@@ -87,7 +89,7 @@ add-apt-repository universe
|
|
|
87
89
|
Install the dependencies:
|
|
88
90
|
|
|
89
91
|
```shell
|
|
90
|
-
apt-get install ruby ruby-dev libsqlite3-dev libssl-dev pkg-config cmake libssh2-1-dev libicu-dev zlib1g-dev g++
|
|
92
|
+
apt-get install ruby ruby-dev libsqlite3-dev libssl-dev pkg-config cmake libssh2-1-dev libicu-dev zlib1g-dev g++ libyaml-dev
|
|
91
93
|
```
|
|
92
94
|
|
|
93
95
|
Finally, install the gems:
|
|
@@ -171,7 +173,7 @@ rake install
|
|
|
171
173
|
|
|
172
174
|
### Running with Docker
|
|
173
175
|
|
|
174
|
-
Currently, Docker Hub automatically builds the master branch as [oxidized/oxidized](https://hub.docker.com/r/oxidized/oxidized/), you can make use of this container or build your own.
|
|
176
|
+
Currently, Docker Hub automatically builds the master branch for linux/amd64 and linux/arm64 platforms as [oxidized/oxidized](https://hub.docker.com/r/oxidized/oxidized/), you can make use of this container or build your own.
|
|
175
177
|
|
|
176
178
|
To build your own, clone git repo:
|
|
177
179
|
|
|
@@ -255,6 +257,10 @@ If you need to use an internal CA (e.g. to connect to an private github instance
|
|
|
255
257
|
docker run -v /etc/oxidized:/home/oxidized/.config/oxidized -v /path/to/MY-CA.crt:/usr/local/share/ca-certificates/MY-CA.crt -p 8888:8888/tcp -e UPDATE_CA_CERTIFICATES=true -t oxidized/oxidized:latest
|
|
256
258
|
```
|
|
257
259
|
|
|
260
|
+
### Running with podman-compose
|
|
261
|
+
Under [examples/podman-compose](examples/podman-compose), you will find a complete
|
|
262
|
+
example of how to integrate the container into a docker-compose.yml file.
|
|
263
|
+
|
|
258
264
|
### Installing Ruby 2.3 using RVM
|
|
259
265
|
|
|
260
266
|
Install Ruby 2.3 build dependencies
|
|
@@ -391,38 +397,14 @@ If you need help with Oxidized then we have a few methods you can use to get in
|
|
|
391
397
|
|
|
392
398
|
## Help Needed
|
|
393
399
|
|
|
394
|
-
As things stand right now, `oxidized` is maintained by
|
|
395
|
-
|
|
396
|
-
helped further the software, however contributions are not the same as ongoing
|
|
397
|
-
owner- and maintainer-ship. It appears that many companies use the software to
|
|
398
|
-
manage their network infrastructure, this is great news! But without additional
|
|
399
|
-
help to maintain the software and put out releases, the future of oxidized
|
|
400
|
-
might be less bright. The current pace of development and the much needed
|
|
401
|
-
refactoring simply are not sustainable if they are to be driven by a single
|
|
402
|
-
person.
|
|
403
|
-
|
|
404
|
-
## Maintainers
|
|
405
|
-
|
|
406
|
-
If you would like to be a maintainer for Oxidized then please read through the below and see if it's something you would like to help with. It's not a requirement that you can tick all the boxes below but it helps :)
|
|
407
|
-
|
|
408
|
-
* Triage on issues, review pull requests and help answer any questions from users.
|
|
409
|
-
* Above average knowledge of the Ruby programming language.
|
|
410
|
-
* Professional experience with both oxidized and some other config backup tool (like rancid).
|
|
411
|
-
* Ability to keep a cool head, and enjoy interaction with end users! :)
|
|
412
|
-
* A desire and passion to help drive `oxidized` towards its `1.x.x` stage of life
|
|
413
|
-
* Help refactor the code
|
|
414
|
-
* Rework the core infrastructure
|
|
415
|
-
* Permission from your employer to contribute to open source projects
|
|
416
|
-
|
|
417
|
-
## YES, I WANT TO HELP
|
|
418
|
-
|
|
419
|
-
Awesome! Simply send an e-mail to Saku Ytti at <saku@ytti.fi>.
|
|
400
|
+
As things stand right now, `oxidized` is maintained by very few people.
|
|
401
|
+
We would appreciate more individuals and companies getting involved in Oxidized.
|
|
420
402
|
|
|
421
|
-
|
|
403
|
+
Beyond software development, documentation or maintenance of Oxidized, you could
|
|
404
|
+
become a model maintainer, which can be done with little burden and would be a
|
|
405
|
+
big help to the community.
|
|
422
406
|
|
|
423
|
-
|
|
424
|
-
post](http://brson.github.io/2017/04/05/minimally-nice-maintainer) on what it
|
|
425
|
-
means to be a maintainer.
|
|
407
|
+
Interested? Have a look at [CONTRIBUTING.md](CONTRIBUTING.md).
|
|
426
408
|
|
|
427
409
|
## License and Copyright
|
|
428
410
|
|
data/bin/oxidized
CHANGED
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
#!/usr/bin/env ruby
|
|
2
2
|
|
|
3
|
-
# FIX ME, killing oxidized needs -9
|
|
4
|
-
trap("INT") { exit } # sinatra will otherwise steal this from us
|
|
5
|
-
|
|
6
3
|
begin
|
|
7
4
|
require_relative '../lib/oxidized/cli'
|
|
8
5
|
Oxidized::CLI.new.run
|
|
9
|
-
rescue StandardError =>
|
|
10
|
-
warn
|
|
6
|
+
rescue StandardError => e
|
|
7
|
+
warn e
|
|
11
8
|
debug = Oxidized.config.debug rescue true
|
|
12
9
|
raise if debug
|
|
13
10
|
|
data/docs/Hooks.md
CHANGED
|
@@ -46,7 +46,7 @@ Exec hook recognizes the following configuration keys:
|
|
|
46
46
|
* `async`: Execute the command in an asynchronous fashion. The main thread by default will wait for the hook command execution to complete. Set this to `true` for long running commands so node configuration pulls are not blocked. Default: `false`
|
|
47
47
|
* `cmd`: command to run.
|
|
48
48
|
|
|
49
|
-
###
|
|
49
|
+
### Exec Hook configuration example
|
|
50
50
|
|
|
51
51
|
```yaml
|
|
52
52
|
hooks:
|
|
@@ -62,6 +62,42 @@ hooks:
|
|
|
62
62
|
timeout: 120
|
|
63
63
|
```
|
|
64
64
|
|
|
65
|
+
### Exec Hook configuration example to send mail
|
|
66
|
+
|
|
67
|
+
To send mail you need the package `msmtp` (It is pre-installed with the docker container)
|
|
68
|
+
|
|
69
|
+
You then need to update the `~/.msmtprc` file to contain your SMTP credentials like this:
|
|
70
|
+
|
|
71
|
+
*Note: In the docker container the file is in /home/oxidized/.config/oxidized/.msmtprc so you can create the file if it doesn't exist in your oxidized config folder.*
|
|
72
|
+
|
|
73
|
+
```cfg
|
|
74
|
+
# Default settings
|
|
75
|
+
defaults
|
|
76
|
+
auth on
|
|
77
|
+
tls on
|
|
78
|
+
# Outlook SMTP
|
|
79
|
+
account mainaccount
|
|
80
|
+
host smtp.office365.com
|
|
81
|
+
port 587
|
|
82
|
+
from user@domain.com
|
|
83
|
+
user user@domain.com
|
|
84
|
+
password edit-password
|
|
85
|
+
|
|
86
|
+
account default : mainaccount
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
For non docker users this file should have the 600 permission, using: `chmod 600 .msmtprc` and the owner of the file should be the owner of oxidized `chown oxidized:oxidized .msmtprc`
|
|
90
|
+
|
|
91
|
+
Then, you can configure Hooks to send mail like this:
|
|
92
|
+
|
|
93
|
+
```yaml
|
|
94
|
+
hooks:
|
|
95
|
+
send_mail_hook:
|
|
96
|
+
type: exec
|
|
97
|
+
events: [node_fail]
|
|
98
|
+
cmd: '/usr/bin/echo -e "Subject: [Oxidized] Error on node $OX_NODE_NAME \n\nThe device $OX_NODE_NAME has not been backed-up, reason: \n\n$OX_EVENT: $OX_ERR_REASON" | msmtp destination@domain.com'
|
|
99
|
+
```
|
|
100
|
+
|
|
65
101
|
## Hook type: githubrepo
|
|
66
102
|
|
|
67
103
|
Note: You must not use the same name as any local repo configured under output. Make sure your 'git' output has a unique name that does not match your remote_repo.
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# APC AOS Configuration
|
|
2
|
+
|
|
3
|
+
Currently, the configuration of APC Network Management Cards can be downloaded with FTP only.
|
|
4
|
+
|
|
5
|
+
A download of the configuration with SCP is [work in progress](https://github.com/ytti/oxidized/issues/1802).
|
|
6
|
+
As the APC has an unusual behavior (the connection is closed without an exit-status), this has to be
|
|
7
|
+
[fixed](https://github.com/net-ssh/net-scp/pull/71) upstream in [Net::SCP](https://github.com/net-ssh/net-scp).
|
|
8
|
+
As soon as there is a release of Net::SCP supporting the behavior of APC OS, we will activate SCP in oxidized.
|
|
9
|
+
|
|
10
|
+
## Can I collect more information than just the configuration?
|
|
11
|
+
APC OS does not have the ability to show the config.ini within an SSH-session. As oxidized can only get the
|
|
12
|
+
configuration with one input type at a time, it is not possible to fetch config.ini via FTP/SCP and get the output of
|
|
13
|
+
some commands via SSH at the same time.
|
|
14
|
+
|
|
15
|
+
A ticket has been opened with APC support in order to support "cat config.ini" within an SSH-session, but
|
|
16
|
+
the chances it will be supported at some time are not very good, and older versions will still not support it.
|
|
17
|
+
|
|
18
|
+
## How do I activate FTP input?
|
|
19
|
+
In order to download the configuration with FTP (and in the future with SCP), you have to activate it as an
|
|
20
|
+
input in the oxidized configuration. If you do not activate the input, oxidized will fail for the node with
|
|
21
|
+
a rather unspecific error (`WARN -- : /apc status fail, retry attempt 1`).
|
|
22
|
+
|
|
23
|
+
The configuration can be done either globally or only for the model apc_aos.
|
|
24
|
+
|
|
25
|
+
The global configuration would look like this. Note that Oxidized will try every input type in the given order
|
|
26
|
+
until it succeeds, or it will report a failure.
|
|
27
|
+
```yaml
|
|
28
|
+
input:
|
|
29
|
+
default: ssh, ftp, scp
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Configuration for activating the FTP input for apc_aos only:
|
|
33
|
+
```yaml
|
|
34
|
+
input:
|
|
35
|
+
default: ssh
|
|
36
|
+
models:
|
|
37
|
+
apc_aos:
|
|
38
|
+
input: ftp
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
You can also set specific username and password for apc_aos only:
|
|
42
|
+
```yaml
|
|
43
|
+
username: default-user
|
|
44
|
+
password: default-password
|
|
45
|
+
input:
|
|
46
|
+
default: ssh
|
|
47
|
+
models:
|
|
48
|
+
apc_aos:
|
|
49
|
+
username: apc-user
|
|
50
|
+
password: apc-password
|
|
51
|
+
input: ftp
|
|
52
|
+
```
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Fiberstore (fs.com) FSOS notes
|
|
2
|
+
|
|
3
|
+
This has been tested against the following models and OS versions
|
|
4
|
+
|
|
5
|
+
|Model |OS Version and Build |
|
|
6
|
+
|--------------------|------------------------------|
|
|
7
|
+
|S3400-48T4SP |Version 2.0.2J Build 81736 |
|
|
8
|
+
|S3400-48T4SP |Version 2.0.2J Build 95262 |
|
|
9
|
+
|S3400-48T6SP |Version 2.2.0F Build 109661 |
|
|
10
|
+
|
|
11
|
+
Back to [Model-Notes](README.md)
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# FortiOS Configuration
|
|
2
|
+
|
|
3
|
+
Create user oxidized with ED25519 public key
|
|
4
|
+
|
|
5
|
+
```text
|
|
6
|
+
config system admin
|
|
7
|
+
edit oxidized
|
|
8
|
+
set trusthost1 192.0.2.1 255.255.255.255
|
|
9
|
+
set accprofile "super_admin_readonly"
|
|
10
|
+
set ssh-public-key1 "ssh-ed25519 AAAAThisIsJustAnExmapleKey_UseYourOxidizedPUBLICKEY oxidized@librenms"
|
|
11
|
+
end
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
Fortigate procdues a lot of config changes. I recommend filtering using
|
|
16
|
+
|
|
17
|
+
```yaml
|
|
18
|
+
models:
|
|
19
|
+
fortios:
|
|
20
|
+
vars:
|
|
21
|
+
remove_secret: true
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
Oxidized can now retrieve your configuration!
|
|
27
|
+
|
|
28
|
+
Back to [Model-Notes](README.md)
|
data/docs/Model-Notes/README.md
CHANGED
|
@@ -2,25 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
This directory contains implementation notes and caveats to assist you in your oxidized deployment.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
Vendor | Model |Updated
|
|
8
|
-
----------------|-----------------|----------------
|
|
9
|
-
3COM|[Comware](Comware.md)|15 Feb 2018
|
|
10
|
-
AireOS|[AireOS](AireOS.md)|29 Nov 2017
|
|
11
|
-
Arbor Networks|[ArbOS](ArbOS.md)|27 Feb 2018
|
|
12
|
-
Arista|[EOS](EOS.md)|05 Feb 2018
|
|
13
|
-
Cumulus|[Cumulus](Cumulus.md)|11 Jun 2018
|
|
14
|
-
Huawei|[VRP](VRP-Huawei.md)|17 Nov 2017
|
|
15
|
-
Huawei|[SmartAX series](SmartAX-Huawei.md)|21 Jan 2019
|
|
16
|
-
Cisco IOS|[IOS](IOS.md)|29 Mar 2019
|
|
17
|
-
Juniper|[MX/QFX/EX/SRX/J Series](JunOS.md)|18 Jan 2018
|
|
18
|
-
Netgear|[Netgear](Netgear.md)|11 Apr 2018
|
|
19
|
-
Nokia|[Nokia ISAM](Nokia.md)|22 Aug 2018
|
|
20
|
-
Dell/EMC|[Dell EMC Networking OS10](OS10.md)|07 Dec 2021
|
|
21
|
-
Viptela|[Viptela](Viptela.md)|1 Jul 2018
|
|
22
|
-
Zyxel|[XGS4600 Series](XGS4600-Zyxel.md)|1 Feb 2018
|
|
23
|
-
Linux|[LinuxGeneric](LinuxGeneric.md)|10 Jun 2019
|
|
24
|
-
Lenovo|[Lenovo Network OS](LenovoNOS.md)|5 Apr 2022
|
|
5
|
+
The model notes are linked from the [list of supported OS types](/docs/Supported-OS-Types.md).
|
|
25
6
|
|
|
26
7
|
If you discover additional caveats or problems please make sure to consult the [GitHub issues for oxidized](https://github.com/ytti/oxidized/issues) known issues.
|
|
@@ -5,6 +5,11 @@
|
|
|
5
5
|
FTP access is only possible as admin, other users can login but cannot pull the files.
|
|
6
6
|
For the XGS4600 series the config file is _config_ and not _config-0_
|
|
7
7
|
|
|
8
|
+
To enable FTP backup, uncomment the following line in _oxidized/lib/oxidized/model/zynos.rb_
|
|
9
|
+
```text
|
|
10
|
+
# cmd 'config-0'
|
|
11
|
+
```
|
|
12
|
+
|
|
8
13
|
The following line in _oxidized/lib/oxidized/model/zynos.rb_ will need changing
|
|
9
14
|
|
|
10
15
|
```text
|
data/docs/Ruby-API.md
CHANGED
data/docs/Sources.md
CHANGED
|
@@ -187,3 +187,16 @@ source:
|
|
|
187
187
|
scheme: https
|
|
188
188
|
secure: false
|
|
189
189
|
```
|
|
190
|
+
|
|
191
|
+
HTTP source also supports pagination. Two settings must be enabled. (`pagination` as a bool and `pagination_key_name` as a string)
|
|
192
|
+
The `pagination_key_name` setting is the key name that an api returns to find the url of the next page.
|
|
193
|
+
|
|
194
|
+
**Disclaimer**: currently only tested with netbox as the source
|
|
195
|
+
|
|
196
|
+
```yaml
|
|
197
|
+
source:
|
|
198
|
+
default: http
|
|
199
|
+
http:
|
|
200
|
+
pagination: true
|
|
201
|
+
pagination_key_name: 'next'
|
|
202
|
+
```
|