mechub sovereign network-security automation ← all projects
foundation v0.18.1 MIT

rustnetconf

Async NETCONF client and CLI for Rust

Async NETCONF client library for Rust with YANG code generation, vendor profiles, connection pooling and a Terraform-like CLI for declarative network config.

About

rustnetconf is a Rust network automation platform: an async NETCONF 1.0/1.1 client library (RFC 6241 over SSH per RFC 6242), YANG code generation and a CLI built on top of them.

It is built on tokio, russh and rustls: pure Rust, no OpenSSL, no libssh2. It is the NETCONF transport under rustez and rustjunosmcp.

Features

  • Async NETCONF client library
  • YANG model code generation for compile-time config validation
  • Terraform-like netconf CLI: plan, apply with confirmed-commit, confirm, rollback, get, validate
  • Connection pooling and vendor profiles
  • Connect through a jump host or your ~/.ssh/config, or over TLS (RFC 7589); event notifications (RFC 5277)

Quick start

Add the library

[dependencies]
rustnetconf = { git = "https://github.com/mechubsec/rustnetconf.git" }
tokio = { version = "1", features = ["full"] }

Use the CLI

netconf init
netconf plan spine-01
netconf apply spine-01

Full instructions in the README ↗