Developer guide
This guide is for contributors who want to extend, debug, or maintain the AVD pipeline — adding device roles, transform outputs, schema fields, or fixing pipeline issues. It assumes familiarity with Python, GraphQL, and Infrahub generators/transforms.
Start here​
- Architecture Overview — system components, data model hierarchy, and the generator pipeline at a glance.
- AVD Pipeline → Overview — the two-phase pipeline (hostvars → structured config) and the PyAVD version target.
Reference​
- Schemas — every YAML schema file and the kinds it defines.
- Generators — the generator framework, file structure, and per-generator behaviour.
- Transforms — Python and Jinja2 transforms, queries, and content types.
- Checks — proposed-change validation checks, including CloudVision configuration validation.
AVD pipeline​
The AVD pipeline is the technically distinguishing piece of this solution and has its own sub-section:
- Overview — two-phase pipeline + PyAVD version pin.
- Hostvars Reference — the PyAVD-compatible structure produced per device role.
- Transforms —
avd_eos_config,avd_fabric_doc,avd_device_doc. - AvdArtifact & File Storage — the
AvdArtifactnode, child file nodes, checksum-based change detection. - Role Mapping — Infrahub roles → AVD device types.
- Extending the Pipeline — worked examples for new roles, new transform outputs, new hostvar fields.
- Debugging the Pipeline — intermediate-file inspection, single-generator re-runs, common failure modes.
Looking for the operator guides?​
If you want to use the system to provision fabrics and view configurations without modifying code, start with Quick Start and the how-to guides.