chore: initial import from KNEL/PFVCluster@041d311 [#769]
Split per O&M lane work order. Full history: KNEL/PFVCluster. shellcheck debt fixed in librenms-agent (quoting, arithmetic, backticks); fixes upstream ntp-server.sh bug: input_wakeups reported PACKETSENDFAILURES instead of INPUTWAKEUPS. mysql.sh (PHP-in-.sh) exempt per house rule. https://projects.knownelement.com/issues/769#note-4152
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
---
|
||||
username: 'oxidized'
|
||||
password: 'see ~/.creds/oxidized.env'
|
||||
model: powerconnect
|
||||
interval: 3600
|
||||
use_syslog: false
|
||||
debug: false
|
||||
threads: 30
|
||||
timeout: 20
|
||||
retries: 3
|
||||
prompt: !ruby/regexp /([\w.@-]+[#>]\s?)n/
|
||||
rest: 0.0.0.0:8888
|
||||
next_adds_job: false
|
||||
models: {}
|
||||
pid: /home/oxidized/.config/oxidized/pid
|
||||
log: /home/oxidized/.config/oxidized/logs/log
|
||||
snmp: false
|
||||
groups: {}
|
||||
models: {}
|
||||
resolve_dns: true
|
||||
interval: 3600
|
||||
output:
|
||||
default: git
|
||||
git:
|
||||
user: oxidized
|
||||
email: oxidized@tsys-librenms.knel.net
|
||||
repo: /home/oxidized/.config/oxidized/git-repos
|
||||
source:
|
||||
default: csv
|
||||
csv:
|
||||
file: /home/oxidized/.config/oxidized/router.db
|
||||
delimiter: !ruby/regexp /:/
|
||||
map:
|
||||
name: 0
|
||||
model: 1
|
||||
username: 2
|
||||
password: 3
|
||||
gpg: false
|
||||
@@ -0,0 +1,12 @@
|
||||
services:
|
||||
oxidized:
|
||||
image: oxidized/oxidized:0.30.1
|
||||
container_name: oam-oxidized
|
||||
environment:
|
||||
- OXIDIZED_CONFIG=/home/oxidized/.config/oxidized/config
|
||||
- TZ=America/Chicago
|
||||
volumes:
|
||||
- /opt/oam/oxidized/config:/home/oxidized/.config/oxidized
|
||||
ports:
|
||||
- "8083:8888"
|
||||
restart: unless-stopped
|
||||
@@ -0,0 +1,7 @@
|
||||
#!/usr/bin/env bash
|
||||
# Oxidized post-push hook: auto-push to Gitea after each config change
|
||||
# Mounted into container at /home/oxidized/.config/oxidized/hooks/checkout/git-push.sh
|
||||
set -euo pipefail
|
||||
cd "$1"
|
||||
export GIT_SSH_COMMAND="ssh -o StrictHostKeyChecking=accept-new -i /home/oxidized/.config/oxidized/.ssh/id_ed25519"
|
||||
git push origin master 2>&1 || true
|
||||
@@ -0,0 +1,4 @@
|
||||
pfv-r5-core-01.knel.net:powerconnect:oxidized:xAlZI3j7m8Bkgf0p
|
||||
pfv-r3-tor-mgmt-01.knel.net:powerconnect:oxidized:xAlZI3j7m8Bkgf0p
|
||||
pfv-r3-tor-stor-01.knel.net:powerconnect:oxidized:xAlZI3j7m8Bkgf0p
|
||||
pfv-r6-mgmt-01.knel.net:powerconnect:oxidized:xAlZI3j7m8Bkgf0p
|
||||
@@ -0,0 +1,90 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
# Deploy Oxidized on tsys-librenms
|
||||
# Part of OAM platform [#337]
|
||||
# Network device config backup/versioning
|
||||
|
||||
echo "=== Setting up Oxidized ==="
|
||||
|
||||
mkdir -p /opt/oam/oxidized/{config,git-repos,logs}
|
||||
|
||||
# Config file
|
||||
cat > /opt/oam/oxidized/config/config <<'CFGEOF'
|
||||
---
|
||||
username: 'CHANGE_ME'
|
||||
password: 'CHANGE_ME'
|
||||
model: powerconnect
|
||||
interval: 3600
|
||||
use_syslog: false
|
||||
debug: false
|
||||
threads: 30
|
||||
timeout: 20
|
||||
retries: 3
|
||||
prompt: !ruby/regexp /([\w.@-]+[#>]\s?)n/
|
||||
rest: 0.0.0.0:8888
|
||||
next_adds_job: false
|
||||
pid: /home/oxidized/.config/oxidized/pid
|
||||
log: /home/oxidized/.config/oxidized/logs/log
|
||||
snmp: false
|
||||
resolve_dns: true
|
||||
interval: 3600
|
||||
output:
|
||||
default: git
|
||||
git:
|
||||
user: oxidized
|
||||
email: oxidized@tsys-librenms.knel.net
|
||||
repo: /home/oxidized/.config/oxidized/git-repos
|
||||
source:
|
||||
default: csv
|
||||
csv:
|
||||
file: /home/oxidized/.config/oxidized/router.db
|
||||
delimiter: !ruby/regexp /:/
|
||||
map:
|
||||
name: 0
|
||||
model: 1
|
||||
username: 2
|
||||
password: 3
|
||||
gpg: false
|
||||
CFGEOF
|
||||
|
||||
# Router DB (device list)
|
||||
cat > /opt/oam/oxidized/config/router.db <<'DBEOF'
|
||||
pfv-r5-core-01.knel.net:powerconnect:CHANGE_ME:CHANGE_ME
|
||||
pfv-r3-tor-mgmt-01.knel.net:powerconnect:CHANGE_ME:CHANGE_ME
|
||||
pfv-r3-tor-stor-01.knel.net:powerconnect:CHANGE_ME:CHANGE_ME
|
||||
pfv-r6-mgmt-01.knel.net:powerconnect:CHANGE_ME:CHANGE_ME
|
||||
DBEOF
|
||||
|
||||
# Docker compose
|
||||
cat > /opt/oam/oxidized/docker-compose.yml <<'DCEOF'
|
||||
services:
|
||||
oxidized:
|
||||
image: oxidized/oxidized:0.30.1
|
||||
container_name: oam-oxidized
|
||||
environment:
|
||||
- TZ=America/Chicago
|
||||
volumes:
|
||||
- /opt/oam/oxidized/config:/home/oxidized/.config/oxidized
|
||||
ports:
|
||||
- "8083:8888"
|
||||
restart: unless-stopped
|
||||
DCEOF
|
||||
|
||||
echo "=== Pulling Oxidized image ==="
|
||||
cd /opt/oam/oxidized && timeout 120 docker compose pull 2>&1
|
||||
|
||||
echo "=== Starting Oxidized ==="
|
||||
cd /opt/oam/oxidized && docker compose up -d 2>&1
|
||||
|
||||
echo "=== Status ==="
|
||||
docker ps --filter name=oam-oxidized --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
|
||||
|
||||
echo ""
|
||||
echo "=== IMPORTANT ==="
|
||||
echo "Oxidized deployed with placeholder credentials (CHANGE_ME)."
|
||||
echo "Update /opt/oam/oxidized/config/router.db with real switch credentials"
|
||||
echo "(username:password per device) to enable config backups."
|
||||
echo "Then restart: cd /opt/oam/oxidized && docker compose restart"
|
||||
echo ""
|
||||
echo "=== Oxidized REST API: http://tsys-librenms.knel.net:8083 ==="
|
||||
Reference in New Issue
Block a user