Skip to content

Repository files navigation

netctl

CI Release License Rust

netctl — async network configuration for Linux

Network configuration CLI for Linux.

📖 User docs — installation, declarative apply, and troubleshooting.

Async-first network configuration manager with a systemctl-style interface. Integrates with systemd-networkd, systemd-resolved, and systemd-hostnamed over D-Bus, and uses netlink for link, address, and route operations.

Contents

Features

  • Link, address, route, DNS, and hostname management
  • Declarative YAML/TOML apply, profiles, backup/restore, diff, and doctor diagnostics
  • JSON output, watch mode, TUI, shell completions, and dry-run previews

Installation

git clone https://github.com/zyvorai/netctl.git
cd netctl
cargo build --release
sudo cp target/release/netctl /usr/local/bin/

Pre-built binaries: GitHub Releases.

Docker:

docker build -t netctl:latest .
docker run --rm netctl:latest --help

Static musl build:

cargo install cross
cross build --release --target x86_64-unknown-linux-musl

Quick start

sudo netctl show
sudo netctl link set eth0 state up
sudo netctl addr add eth0 192.168.1.100/24
netctl show --json

Declarative apply:

sudo netctl apply config/network-config.example.yaml

Configuration samples

File Description
config/network-config.example.yaml YAML network profile
config/network-config.example.toml TOML network profile

Architecture

Workspace crates: netctl (CLI), netctl-core, netctl-netlink, netctl-dbus, netctl-config, netctl-types.

Development

cargo test --workspace
cargo fmt --all -- --check
cargo clippy --workspace -- -D warnings

Troubleshooting

  • Network changes require root or CAP_NET_ADMIN.
  • D-Bus features need systemd-networkd, systemd-resolved, and systemd-hostnamed running.
  • Debian/Ubuntu build deps: sudo apt install libdbus-1-dev pkg-config

Contributing

Issues and PRs: github.com/zyvorai/netctl.

Enterprise

Community Edition (this repo) Enterprise (zyvor.dev)
Support GitHub Issues SLA, sales@zyvor.dev, professional services
Scope CLI and declarative apply Supported rollouts with netevd and cloud-netconfig
Platform netctl Full Zyvor networking and migration stack
Features Link/address/route/DNS/hostname management, declarative YAML/TOML apply, doctor diagnostics, TUI, shell completions Same feature set, operated at fleet scale with SLA-backed support
Demo zyvor.dev/demo
ROI zyvor.dev/roi
Pricing zyvor.dev/pricing
Contact zyvor.dev/contact · sales@zyvor.dev

Community Edition covers CLI usage and declarative apply. Enterprise SLAs and the full stack with netevd and cloud-netconfig → contact Zyvor (not GitHub Issues). Details: docs/enterprise.md.

Support the project

netctl Community Edition is free and open source, maintained by Susant Sahani · Zyvor AI Labs

License

Open source (Apache-2.0)

This repository is licensed under the Apache License, Version 2.0. You may use, modify, and run it for personal, lab, and commercial production use at no charge, subject to Apache-2.0 (preserve notices / NOTICE where required).

Enterprise

Production support, SLAs, and Zyvor Enterprise products are licensed separately. Contact sales@zyvor.dev or see zyvor.dev.

Related

netevd · cloud-netconfig · zyvorai

About

No description, website, or topics provided.

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages