Infrahub demo-dc example
Welcome to the Infrahub demo-dc example. This repository showcases how Infrahub serves as an infrastructure data management platform for managing modern network infrastructure with design-driven automation. It demonstrates Infrahub's core capabilities including:
- Schema-driven data modeling
- Composable topology generation
- Version control for infrastructure data
- Automated configuration generation
- Validation workflows
Whether you're a network engineer exploring automation, a developer building on Infrahub, or an architect evaluating infrastructure management platforms, this bundle provides hands-on experience with real-world patterns and workflows.
Community contribution​
This demo repository is partially authored by the OpsMill community member tomek from this example: GitHub t0m3kz/infrahub-demo
Documentation guide​
This documentation is organized following the Diataxis framework to help you find exactly what you need:
Getting started​
| Page | Purpose |
|---|---|
| Installation guide | Step-by-step instructions to install and set up the demo environment on your system. Start here if this is your first time running the demo. |
Tutorials​
| Page | Purpose |
|---|---|
| User walkthrough | A complete hands-on tutorial that guides you through the end-user experience: creating topologies, managing branches, running generators, creating proposed changes, and validating configurations. Perfect for learning the workflow from start to finish. |
| Deploy a virtual lab with Containerlab | Learn how to deploy generated configurations to a virtual network lab using Containerlab. Extract device configurations and topology files from Infrahub, spin up virtual Arista cEOS switches, and test your data center fabric before production deployment. |
| Working with security management | Explore Infrahub's security management capabilities by examining firewall policies, security zones, and address objects. Learn how structured security data transforms into vendor-specific firewall configurations (Juniper JunOS) and how to modify policies safely using branches. |
| Cloud resource management | Manage multi-cloud infrastructure (AWS, GCP, Azure) with a vendor-agnostic schema. Load demo cloud data including accounts, regions, virtual networks, instances, and security groups. Learn how Infrahub serves as a unified inventory for cloud resources. |
| Using the service catalog | Learn how to use the Service Catalog web interface for simplified infrastructure provisioning. Enable the Streamlit application, navigate between branches, view existing infrastructure, and create new data centers through a guided form-based workflow that automates branch creation and generator execution. |
Guides​
| Page | Purpose |
|---|---|
| Developer guide | Technical deep-dive into how the demo works under the hood. Covers schema architecture, bootstrap scripts, generators, transforms, checks, and testing. Use this when extending functionality, troubleshooting issues, or understanding implementation details. |
| Using Infrahub Enterprise | Instructions for configuring the demo environment to use Infrahub Enterprise edition. Learn how to switch between Community and Enterprise editions, configure environment variables, and understand the differences between editions. |
Topics​
| Page | Purpose |
|---|---|
| Understanding the concepts | Explains the architectural patterns, design decisions, and core Infrahub concepts demonstrated in this project. Read this to understand the "why" behind design-driven automation, composable topologies, generators, and integration patterns. |
Quick start​
If you're ready to dive in:
- Follow the installation guide to set up your environment
- Walk through the user tutorial to create your first data center topology
- Deploy to a virtual lab with Containerlab to test configurations
- Try the Service Catalog for simplified infrastructure provisioning
- Explore the concepts to deepen your understanding
- Reference the developer guide when you're ready to extend or customize
What you'll learn​
Through this demo, you'll gain practical experience with:
- Schema-driven infrastructure modeling - Defining devices, networks, and services with flexible, extensible schemas
- Design-driven automation - Creating abstract topology designs that generators transform into concrete infrastructure
- Composable topologies - Building complex data center and POP architectures from reusable components
- Version control for data - Using branches and proposed changes to safely modify infrastructure
- Automated resource allocation - Generating IP prefixes, VLANs, and addressing from resource pools
- Configuration generation - Transforming structured data into device configurations via templates
- Data validation - Enforcing consistency with custom checks
- GitOps patterns - Managing infrastructure as code with full versioning and review workflows
Architecture at a glance​
The demo implements realistic network topologies including:
- Data center fabrics with spine-leaf architecture and VxLAN/EVPN overlay
- Point of presence (POP) networks with edge routers and peering connections
- Network segments with load balancers and service endpoints
- Security zones and policies with firewall rules and access control
- Cloud infrastructure with vendor-agnostic modeling for AWS, GCP, and Azure
- Resource pools for IP address, VLAN, and ASN allocation
- Multi-vendor support (Arista, Juniper, Cisco, and SONiC templates)
- Automated topology generation from abstract design definitions
Key features demonstrated​
Schema extensibility​
The demo includes comprehensive schemas for DCIM, IPAM, topology, routing, security, and load balancing. These schemas define not just object types, but relationships, constraints, and lifecycle behaviors.
Generators and automation​
When you create a topology design (for example, DC-3), generators automatically create all supporting objects including devices, interfaces, IP addresses, routing protocols, and BGP peer groups following best practices and business rules.
Branch-based workflows​
All changes happen in branches. Proposed changes provide diff views, run validation checks, and regenerate artifacts before merging to main.
Artifact generation​
Templates transform Infrahub data into deployable artifacts including device configurations, topology diagrams, and cabling matrices.
Community and support​
- Source code: GitHub repository
- Infrahub documentation: docs.infrahub.app
- Discord community: Discord
- OpsMill website: opsmill.com
Next steps​
Ready to get started? Head to the installation guide to set up your environment.