- Home
- Demo Resources
- Overview
Overview
Demo resources are pre-configured Azure virtual machines deployable via Terraform. Each component is a standalone VM with purpose-built software installed and configured through cloud-init at first boot.
Selecting Components
Section titled “Selecting Components”Components are building blocks. Select them based on what your demo needs:
- Origin server provides vulnerable web applications that serve as targets for F5 XC security features. Most demos need this.
- Traffic generator produces attack and legitimate traffic against your demo environment. Needed when demonstrating WAF efficacy, bot detection, or API protection.
- CDN simulator places an NGINX-based CDN edge between clients and origin, injecting vendor-specific headers. Used for CDN integration demos.
Shared Prerequisites
Section titled “Shared Prerequisites”All components require:
- An Azure subscription with contributor access
- Terraform 1.5 or later
- Azure CLI authenticated (
az login) - An SSH key pair (default path
~/.ssh/id_ed25519.pub)
Deployment Pattern
Section titled “Deployment Pattern”Every component follows the same Terraform workflow:
- Clone the component repo
cd terraform/- Copy
terraform.tfvars.exampletoterraform.tfvarsand set required variables (subscription_idis required for all; some components have additional required inputs) terraform init && terraform plan && terraform apply- Verify via the component’s health check endpoint
Your deployer identifier is auto-resolved from your Azure AD account and embedded in all resource names (e.g., rg-origin-server-lab-rmordasiewicz).
Cross-Component Integration
Section titled “Cross-Component Integration”Components combine to create complete demo environments:
Traffic Generator ──► F5 XC HTTP LB (WAF/Bot/API/CSD) ──► Origin Server ▲ CDN SimulatorDeployment order:
- Origin server — deploy first, it hosts the applications that all other components target
- F5 XC HTTP load balancer — configure an origin pool pointing to the origin server’s public IP, then create an HTTP load balancer with WAF, Bot Defense, API Security, or Client-Side Defense policies
- Traffic generator and/or CDN simulator — deploy last, pointing at the F5 XC load balancer FQDN
Each component’s terraform variables reference the outputs of previously deployed components. See the component documentation for specific variable requirements.
Use the Azure pricing calculator for current cost estimates. Run terraform destroy when the lab is idle to stop charges.