Giter Site home page Giter Site logo

abigailajohn / nmstate Goto Github PK

View Code? Open in Web Editor NEW

This project forked from nmstate/nmstate

0.0 0.0 0.0 5.28 MB

Nmstate is a library with an accompanying command line tool that manages host networking settings in a declarative manner.

Home Page: https://nmstate.io

License: Apache License 2.0

Shell 1.29% Python 30.14% C 0.24% Go 0.32% Rust 67.55% Makefile 0.46%

nmstate's Introduction

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+:

  • Latest release: Latest release Copr build status
  • Git base: Git base Copr build status

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

nmstate's People

Contributors

cathay4t avatar eddev avatar ffmancera avatar tyll avatar qinqon avatar maiqueb avatar svetahbar avatar almusil avatar ihuguet avatar liangwen12year avatar nandan307 avatar adwait-thattey avatar phoracek avatar jlebon avatar elvgarrui avatar cgwalters avatar victorjdg avatar sudhanaruna avatar acardace avatar razaloc avatar celebdor avatar abigailajohn avatar elomscansio avatar jona42-ui avatar tomastomecek avatar thom311 avatar smyle10 avatar varesa avatar shreyagupta30 avatar pratyushsinha96 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.