Observed since 20 Oct, 18:08 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
Safe network configuration manager for edge deployments with automatic rollback
Safe network configuration manager for edge deployments with automatic rollback protection.
The netplan tool in Ubuntu 20.04 and 24.04 has critical bugs that fail to properly restore:
netplan tryThis causes production issues in edge environments where physical access is difficult or impossible.
ACE Network Manager provides:
# Install with UV
uv pip install ace-network-manager
# Or from source
git clone https://github.com/aceiot/ace-network-manager
cd ace-network-manager
uv sync
uv run ace-network-manager --version
# Apply a new network configuration (5 minute timeout)
sudo ace-network-manager apply /etc/netplan/00-new-config.yaml
# Confirm the configuration is working
sudo ace-network-manager confirm
# Or manually rollback if something went wrong
sudo ace-network-manager rollback
# Check current status
ace-network-manager status
Type-safe Pydantic models catch errors before applying:
.0 or .255)All models are fully type-hinted to prevent human errors during development!
Backups are stored in human-readable format:
/var/lib/ace-network-manager/backups/
2024-10-30-143022-550e8400/
metadata.json
00-installer-config.yaml
checksums.sha256
latest -> 2024-10-30-143022-550e8400/
State is tracked with JSON semaphore files that survive reboots:
{
"state_id": "550e8400-e29b-41d4-a716-446655440000",
"status": "pending",
"timeout_at": "2024-10-30T14:35:22.123456Z",
"backup_path": "/var/lib/ace-network-manager/backups/...",
...
}
NEW! Prepare a copy of the current network configuration for editing:
ace-network-manager prepare [OPTIONS]
Options:
-o, --output PATH Output file path (default: ./netplan-config-<timestamp>.yaml)
--source-dir PATH Source netplan directory (default: /etc/netplan)
--validate/--no-validate Validate configuration (default: validate)
Examples:
# Copy current config to local directory with timestamp
ace-network-manager prepare
# Copy to specific file
ace-network-manager prepare -o my-network-config.yaml
NEW! Validate a netplan configuration file without applying it:
ace-network-manager validate CONFIG_FILE
Performs comprehensive validation including:
- YAML syntax checking
- Schema validation
- Gateway in subnet verification
- Duplicate subnet detection
- 10+ common network configuration error checks
Example:
ace-network-manager validate /path/to/config.yaml
Apply a new network configuration with rollback protection:
ace-network-manager apply [OPTIONS] CONFIG_FILE
Options:
--timeout INTEGER Seconds until auto-rollback (default: 300)
--skip-connectivity-check Skip network validation (dangerous!)
Confirm that a pending configuration is working correctly:
ace-network-manager confirm [OPTIONS]
Options:
--state-id TEXT Specific state to confirm (default: latest)
Manually roll back to a previous configuration:
ace-network-manager rollback [OPTIONS]
Options:
--state-id TEXT State to roll back (default: latest pending)
--backup PATH Specific backup file to restore
Show current status of network configuration management:
ace-network-manager status [OPTIONS]
Options:
--json Output as JSON
NetworkConfigManager (orchestrator)
StateTracker (semaphore files, cross-reboot persistence)
BackupManager (timestamped backups with checksums)
TimeoutWatcher (async monitoring, automatic rollback)
NetplanBackend (validation, apply, connectivity checks)
SystemdIntegration (boot-time restoration service)
# Clone and install dependencies
git clone https://github.com/aceiot/ace-network-manager
cd ace-network-manager
uv sync --dev
# Run linting
uv run ruff check src/
# Run type checking
uv run pyrefly src/
# Run tests
uv run pytest tests/ -v
# Unit tests
uv run pytest tests/unit/ -v
# Integration tests (requires systemd)
uv run pytest tests/integration/ -v -m requires_systemd
# Coverage
uv run pytest tests/ --cov=ace_network_manager --cov-report=html
prepare and validateMIT
Developed by ACE IoT Solutions for safe network management in edge deployments.
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.3.3 | 9 Nov 2025 | 4 |
This describes our collected data; it is not a security assessment.
Shared repository data · GitHub
Observed since 20 Oct, 18:08 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:6c6afa76364edef21c78d8a6ed08e594e730365ea2d3c3f403e6832d7f4e1514