chore: adopt the NAPALM driver standard
driver / standard (pull_request) Successful in 15s
driver / lint (pull_request) Successful in 11s
driver / types (pull_request) Successful in 44s
driver / test (3.10) (pull_request) Successful in 46s
driver / test (3.11) (pull_request) Successful in 45s
driver / test (3.12) (pull_request) Successful in 42s
driver / test (3.13) (pull_request) Successful in 38s
driver / lowest (pull_request) Successful in 22s
driver / security (pull_request) Successful in 45s
driver / build (pull_request) Successful in 22s
CI / driver (pull_request) Successful in 5m30s
driver / publish (pull_request) Skipped
driver / standard (pull_request) Successful in 15s
driver / lint (pull_request) Successful in 11s
driver / types (pull_request) Successful in 44s
driver / test (3.10) (pull_request) Successful in 46s
driver / test (3.11) (pull_request) Successful in 45s
driver / test (3.12) (pull_request) Successful in 42s
driver / test (3.13) (pull_request) Successful in 38s
driver / lowest (pull_request) Successful in 22s
driver / security (pull_request) Successful in 45s
driver / build (pull_request) Successful in 22s
CI / driver (pull_request) Successful in 5m30s
driver / publish (pull_request) Skipped
- CI moves to .gitea/workflows/ci.yml and calls the shared driver workflow of NAPALM/driver-standard; .github/ is gone. - requires-python >=3.10 (napalm-device-types needs it), LICENSE file, py.typed, setuptools>=77 with the SPDX license string, Issues and Changelog links on git.netork.io, napalm-device-types>=4.21.1 from PyPI, floors on the dev extra. - mypy strict for the whole package, no module exempt: optional_args is dict[str, Any] | None. - tests/quality_baseline.json records get_facts and get_route_to, over complexity 10. Coverage floor 95 % (measured 95.67 %). - CHANGELOG.md in Keep a Changelog form; the README says no host output is recorded yet, links napalm-device-types in the NAPALM org and pypsrp on PyPI.
This commit is contained in:
1 parent
989e826b34
commit
d43d697700
9 files changed
+288
-67
No files matched your search
@@ -1,10 +1,21 @@
|
||||
# napalm-windows
|
||||
|
||||
NAPALM driver for Windows Server 2016+ and Windows 10/11, part of the netOrk
|
||||
driver family built on [`napalm-device-types`](https://git.netork.io/christianmanivong/napalm-device-types).
|
||||
driver family built on [`napalm-device-types`](https://git.netork.io/NAPALM/napalm-device-types).
|
||||
|
||||
Driver name: `windows` · Role: `OSDriver` · Transport: PowerShell Remoting
|
||||
(PSRP) over WinRM via [`pypsrp`](https://github.com/jborean93/pypsrp).
|
||||
(PSRP) over WinRM via [`pypsrp`](https://pypi.org/project/pypsrp/).
|
||||
|
||||
## Tested against
|
||||
|
||||
Not recorded yet: the fixtures under `tests/fixtures/synthetic/` are the JSON the scripts
|
||||
are designed to emit, not output recorded from a host.
|
||||
|
||||
## Install
|
||||
|
||||
```bash
|
||||
pip install napalm-windows
|
||||
```
|
||||
|
||||
## How it works
|
||||
|
||||
@@ -58,13 +69,17 @@ remote UAC strips the admin token. Domain accounts are not affected.
|
||||
| `winrm_auth` | `negotiate` | pypsrp auth protocol (`negotiate`, `ntlm`, `kerberos`, `credssp`, `basic`) |
|
||||
| `ssl_verify` | `True` | validate the WinRM certificate |
|
||||
|
||||
## Tests and fixtures
|
||||
## Development
|
||||
|
||||
The rules are in [STANDARDS.md](https://git.netork.io/NAPALM/driver-standard/src/branch/main/STANDARDS.md).
|
||||
|
||||
```bash
|
||||
pip install -e ".[dev]"
|
||||
pytest
|
||||
python -m venv .venv && .venv/bin/pip install -e ".[dev]"
|
||||
.venv/bin/pytest --cov
|
||||
```
|
||||
|
||||
## Tests and fixtures
|
||||
|
||||
`tests/fixtures/synthetic/` holds the JSON the scripts are *designed* to emit.
|
||||
To record the real thing from a host:
|
||||
|
||||
@@ -74,3 +89,7 @@ python tools/harvest.py <host> <user> <label> [--port 5985] [--insecure]
|
||||
|
||||
Output lands in `tools/harvest-out/` (gitignored); scrub it before copying
|
||||
anything into `tests/`.
|
||||
|
||||
## License
|
||||
|
||||
Apache-2.0, see [LICENSE](LICENSE).
|
||||
Reference in new issue
Block a user