feat: FreeBSD and OpenBSD drivers, read side
FreeBSDDriver (`freebsd`) and OpenBSDDriver (`openbsd`) on a shared BsdDriver, for the BSD VMs netOrk provisions and BSD hosts added by hand (NetOrk/netork#798). - SSH over exec channels (napalm-device-types' run_on_transport): no PTY, stdout and stderr apart, real exit codes; run_command()/open_stream() are public. Root through `sudo -S` with the password on stdin, or `sudo -n` without one. - Facts: hostname, release and running kernel (freebsd-version / uname), hardware from SMBIOS (kenv) or hw.* sysctls, uptime from kern.boottime. - Interfaces and addresses (ifconfig -a: ether/lladdr, hex netmasks, scoped IPv6), routes (netstat -rn, OpenBSD's abbreviated networks written out, host/broadcast/loopback entries left out), ARP (FreeBSD's sentences, OpenBSD's table), users and groups, processes (lstart read as one five-word field), cron jobs (system crontab and the login user's). - Parsers are pure functions, tested on output recorded from FreeBSD 15.1 (hand-installed and cloud image) and OpenBSD 7.9 (NetOrk/netork#793), with internal addresses replaced by documentation ranges.
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
# Changelog
|
||||
|
||||
All notable changes to this project will be documented in this file.
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
### Added
|
||||
- `FreeBSDDriver` (`freebsd`) and `OpenBSDDriver` (`openbsd`) on a shared
|
||||
`BsdDriver`: SSH over exec channels (no PTY, real exit codes), root through
|
||||
`sudo -S` with the password on stdin.
|
||||
- Read side (NetOrk/netork#798): facts (SMBIOS through `kenv` on FreeBSD,
|
||||
`hw.*` sysctls on OpenBSD; uptime from `kern.boottime`), interfaces and
|
||||
their addresses (`ifconfig -a`), routes (`netstat -rn`), ARP (`arp -an`),
|
||||
users and groups, processes (`ps … lstart`), cron jobs (system crontab and
|
||||
the login user's).
|
||||
- Parsers tested on output recorded from FreeBSD 15.1 (hand-installed and
|
||||
cloud image) and OpenBSD 7.9 (NetOrk/netork#793).
|
||||
Reference in New Issue
Block a user