https://github.com/netascode/terraform-iosxe-evpn-example
Building a Cisco Catalyst 9000 EVPN Fabric using Terraform
https://github.com/netascode/terraform-iosxe-evpn-example
catalyst cisco evpn iac ios-xe iosxe overlay terraform underlay
Last synced: 6 days ago
JSON representation
Building a Cisco Catalyst 9000 EVPN Fabric using Terraform
- Host: GitHub
- URL: https://github.com/netascode/terraform-iosxe-evpn-example
- Owner: netascode
- Created: 2022-05-16T15:45:19.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2023-07-14T14:22:09.000Z (almost 3 years ago)
- Last Synced: 2026-01-30T15:13:38.867Z (4 months ago)
- Topics: catalyst, cisco, evpn, iac, ios-xe, iosxe, overlay, terraform, underlay
- Language: HCL
- Homepage:
- Size: 3.91 KB
- Stars: 1
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Cisco Catalyst 9000 EVPN Terraform Example
This example demonstrates how the [IOS-XE Terraform Provider](https://registry.terraform.io/providers/netascode/iosxe/latest/docs) can be used to build a Catalyst 9000 EVPN Fabric. It currently supports underlay and overlay configuration, but no access interfaces.
It uses the following Terrafrom Modules:
- [EVPN OSPF Underlay Module](https://registry.terraform.io/modules/netascode/evpn-ospf-underlay/iosxe/latest)
- [EVPN Overlay Module](https://registry.terraform.io/modules/netascode/evpn-overlay/iosxe/latest)
The configuration is derived from a set of yaml files in the `data` [directory](https://github.com/netascode/terraform-iosxe-evpn-example/tree/main/data).
To point this to your own Cat9k fabric, update the `data/inventory.yaml` file accordingly.
```yaml
---
fabric:
inventory:
spines:
- name: SPINE-1
url: https://10.1.1.1
- name: SPINE-2
url: https://10.1.1.2
leafs:
- name: LEAF-1
url: https://10.1.1.3
- name: LEAF-2
url: https://10.1.1.4
```
Credentials can either be provided via environment variables:
```shell
export IOSXE_USERNAME=admin
export IOSXE_PASSWORD=Cisco123
```
Or by updating the provider configuration in `main.tf`:
```terraform
provider "iosxe" {
username = admin
password = Cisco123
devices = local.devices
}
```