Skip to content

hypersdk/netctl

Repository files navigation

netctl

Network configuration CLI for Linux

CI Release License Rust

Quick start · Enterprise · Releases


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.

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/hypersdk/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/hypersdk/netctl.

Enterprise

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.

License

Document Purpose
LICENSE Apache-2.0 — source code
ZYVOR-COMPANY-TERMS.md Zyvor brand / distribution

Enterprise: sales@zyvor.dev · General: info@zyvor.dev.

Related

netevd · cloud-netconfig · hypersdk

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors