Skip to content

Repository files navigation

Configuration Compliance Validator

Python CLI tool for validating router configuration compliance

Requirements

Choose one of the following:

  • Docker with Docker Compose
  • Podman with Compose support
  • Python 3.12+ and uv for local execution

Run with Docker Compose

Build the image:

docker compose build

Show CLI help:

docker compose run --rm ccv --help

Run validation with default options:

docker compose run --rm ccv validate

Run validation with explicit input/output paths:

docker compose run --rm ccv validate --inventory inventory/routers.yaml --rules rules/compliance_rules.yaml --output-dir reports

Run with Podman Compose

Build the image:

podman compose build

Show CLI help:

podman compose run --rm ccv --help

Run validation with default options:

podman compose run --rm ccv validate

Run validation with explicit input/output paths:

podman compose run --rm ccv validate --inventory inventory/routers.yaml --rules rules/compliance_rules.yaml --output-dir reports

Run locally with uv

Install dependencies:

uv sync

Show CLI help:

uv run ccv --help

Run validation with default options:

uv run ccv validate

Run validation with explicit input/output paths:

uv run ccv validate --inventory inventory/routers.yaml --rules rules/compliance_rules.yaml --output-dir reports

Inputs

  • inventory/routers.yaml — router inventory and config file mapping
  • rules/compliance_rules.yaml — YAML compliance rules
  • configs/ — exported router configuration files

Outputs

Validation generates:

  • reports/compliance_report.html
  • reports/compliance_report.csv

About

Python CLI tool for validating network device configuration compliance

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages