Skip to content

3.5 Git Repository Structure

The repository structure mirrors the Abhavtech technology domains, with clear separation between Terraform provisioning, Ansible configuration, and Python custom scripts.

Repository Structure

abhavtech-automation/
├── terraform/                  # Infrastructure provisioning
│   ├── cml-lab/               # CML topology definitions
│   ├── dnac/                  # DNA Center site/fabric provisioning
│   ├── ise/                   # ISE policy provisioning
│   ├── sdwan/                 # SD-WAN vManage configuration
│   ├── webex/                 # Webex locations, users, queues
│   └── modules/               # Reusable Terraform modules
├── ansible/                   # Device configuration
│   ├── inventory/             # Inventory files (lab, staging, prod)
│   ├── playbooks/             # Ansible playbooks
│   ├── roles/                 # Ansible roles
│   ├── templates/             # Jinja2 configuration templates
│   ├── vars/                  # Variable files
│   └── requirements.yml       # Galaxy collection dependencies
├── scripts/                   # Custom automation scripts
│   ├── python/                # Python scripts
│   │   ├── sdwan/            # vManage API scripts
│   │   ├── webex/            # Webex API scripts
│   │   └── vault_helper.py   # Vault integration
│   └── bash/                  # Shell scripts
├── docs/                      # Documentation
│   ├── diagrams/             # Network diagrams
│   ├── runbooks/             # Operational procedures
│   └── architecture/         # Design documents
├── .venv/                     # Python virtual environment (gitignored)
├── .gitignore                 # Files to exclude from Git
├── .pre-commit-config.yaml   # Pre-commit hook configuration
├── README.md                  # Project overview
└── requirements.txt           # Python package dependencies

Branching Strategy

  • main: Production-ready code
  • staging: Pre-production testing
  • lab: CML validation environment
  • feature/*: Individual feature development

Related Sections: - 3.6 Pre-Commit Hooks - Chapter 5: Git Workflow