Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
forked from nmstate/nmstate

A declarative network manager API for hosts

License

Apache-2.0, LGPL-2.1 licenses found

Licenses found

Apache-2.0
LICENSE
LGPL-2.1
LICENSE.LGPL
Notifications You must be signed in to change notification settings

ffmancera/nmstate

Nmstate: A Declarative Network API

A declarative network management API for hosts.

CI crates.io docs.rs Fedora Rawhide version

Copr build status, all repos are built for Fedora Linux and RHEL/CentOS Stream/EPEL 8+:

Nmstate is a library with an accompanying command line tool that manages host networking settings in a declarative manner. The networking state is described by a pre-defined schema. Reporting of current state and changes to it (desired state) both conform to the schema.

Nmstate is aimed to satisfy enterprise needs to manage host networking through a northbound declarative API and multi provider support on the southbound. NetworkManager acts as the main (and currently the only) provider supported.

Nmstate provides:

  • Rust crate -- nmstate
  • Command line tools -- cargo install nmstatectl
  • Python library -- libnmstate
  • Go binding
  • C binding

More document could be found at nmstate.io

The codes of nmstate are licensed under Apache 2.0 except the test codes in tests folder are licensed under LGPL 2.1+

State example:

Desired/Current state example (YAML):

---
dns:
 config:
 server:
 - 192.0.2.1
 search:
 - example.org
routes:
 config:
 - destination: 0.0.0.0/0
 next-hop-interface: eth1
 next-hop-address: 192.0.2.1
interfaces:
 - name: eth1
 type: ethernet
 description: Main-NIC
 state: up
 ipv4:
 enabled: true
 dhcp: false
 address:
 - ip: 192.0.2.9
 prefix-length: 24
 ipv6:
 enabled: false

Contact

Nmstate GitHub Issues pages for discussion.

Matrix room: #nmstate:fedora.im

Contributing

Yay! We are happy to accept new contributors to the Nmstate project. Please follow these instructions to contribute.

Installation

For Fedora 29+, sudo dnf install nmstate.

For other distribution, please see the install guide.

Documentation

Changelog

Please refer to CHANGELOG

About

A declarative network manager API for hosts

Resources

License

Apache-2.0, LGPL-2.1 licenses found

Licenses found

Apache-2.0
LICENSE
LGPL-2.1
LICENSE.LGPL

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Rust 66.0%
  • Python 31.6%
  • Shell 1.3%
  • Other 1.1%

AltStyle によって変換されたページ (->オリジナル) /