Python CLI tool for validating router configuration compliance
Choose one of the following:
- Docker with Docker Compose
- Podman with Compose support
- Python 3.12+ and
uvfor local execution
Build the image:
docker compose buildShow CLI help:
docker compose run --rm ccv --helpRun validation with default options:
docker compose run --rm ccv validateRun validation with explicit input/output paths:
docker compose run --rm ccv validate --inventory inventory/routers.yaml --rules rules/compliance_rules.yaml --output-dir reportsBuild the image:
podman compose buildShow CLI help:
podman compose run --rm ccv --helpRun validation with default options:
podman compose run --rm ccv validateRun validation with explicit input/output paths:
podman compose run --rm ccv validate --inventory inventory/routers.yaml --rules rules/compliance_rules.yaml --output-dir reportsInstall dependencies:
uv syncShow CLI help:
uv run ccv --helpRun validation with default options:
uv run ccv validateRun validation with explicit input/output paths:
uv run ccv validate --inventory inventory/routers.yaml --rules rules/compliance_rules.yaml --output-dir reportsinventory/routers.yaml— router inventory and config file mappingrules/compliance_rules.yaml— YAML compliance rulesconfigs/— exported router configuration files
Validation generates:
reports/compliance_report.htmlreports/compliance_report.csv