Commit Graph
20 Commits
Author SHA1 Message Date
Jose MartinezandClaude Sonnet 4.6 4a93967012 fix(bcn01-lab): use null default for radius_secret variable
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-05 07:51:24 +02:00
Jose MartinezandClaude Sonnet 4.6 29614e1dc4 feat(bcn01-lab): onboard BCN01-LAB site and extend module with WAN2 support
- Add sites/BCN01-LAB with full Meraki configuration: VLANs, SSIDs,
  switch ports, 802.1X policy, firewall rules, WAN uplinks and warm spare
- Extend modules/meraki-site to support wan2_* fields in mx_wan_uplinks

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-29 07:02:06 +02:00
Xavier Lario d1839fce7a temp fix: remove BCN01-LAB to commit just code 2026-04-21 10:26:00 +02:00
Xavier Lario 79ee5868ee revert last changes 2026-04-21 08:58:41 +02:00
Xavier Lario 55a6a98044 fix: pass meraki api key explicitly via provider block and TF_VAR 2026-04-20 16:43:24 +02:00
Xavier Lario 8ff53503db feat: multi-site scalability, locals refactor, README 2026-04-20 10:16:49 +02:00
Jose MartinezandClaude Sonnet 4.6 4e319962a8 fix: add virtual_ip2 for WAN2 in warm spare (WAN2 DHCP activo)
La API de Meraki exige virtual_ip2 cuando WAN2 está activo.
Se usa la IP DHCP actual del primary (10.212.169.132) como VIP WAN2.
Pendiente: hacer reserva DHCP para estabilizar esa IP.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-26 21:20:42 +01:00
Jose MartinezandClaude Sonnet 4.6 c171ebee5f fix: remove unsupported interfaces_wan1_enabled from device_management_interface
El campo no está expuesto en el provider CiscoDevNet/meraki v1.9.0.
Solo se usan los campos de IP estática soportados por el recurso.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-26 21:02:55 +01:00
Jose MartinezandClaude Sonnet 4.6 4a2eeb6c17 feat: add Warm Spare (HA) with VIP for MX appliances
Configura meraki_appliance_warm_spare con VIP flotante en WAN1:
  - Spare: BCN01-F04-MX02 (serial resuelto por nombre)
  - Uplink mode: virtual
  - VIP WAN1: 213.229.159.148

La IP de salida del tráfico será siempre la VIP (.148),
independientemente de qué MX esté activo.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-26 20:59:20 +01:00
Jose MartinezandClaude Sonnet 4.6 5d0f043503 refactor: resolve MX serial by device name instead of hardcoded serial
Igual que con los switches, el serial del MX se resuelve dinámicamente
usando data.meraki_network_devices (device_serials local). El tfvars
ahora usa el campo 'name' en lugar de 'serial'.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-26 20:52:29 +01:00
Jose MartinezandClaude Sonnet 4.6 7fdb3e956e feat: configure static WAN1 IP for primary and spare MX
Añade recurso meraki_device_management_interface para configurar
IP estática en el puerto WAN1 de ambos firewalls MX:
  - Primary: 213.229.159.145/28 (255.255.255.240), GW 213.229.159.147
  - Spare:   213.229.159.146/28 (255.255.255.240), GW 213.229.159.147

Los seriales del MX deben reemplazarse en wan.auto.tfvars.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-26 20:50:14 +01:00
Jose MartinezandClaude Sonnet 4.6 89a8506f8b fix: add encryption_mode for PSK SSIDs (EQT-GUEST)
La API de Meraki requiere encryption_mode="wpa" cuando auth_mode="psk",
además de wpa_encryption_mode. Sin este campo la API devuelve el error
"Pre-shared key mode requires a valid encryption mode (wep, wpa)".

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-26 11:38:39 +01:00
Jose Martinez 33f9452bed feat(BCN01-LAB): añadir SSID EQT-GUEST con WPA2 PSK 2026-03-26 11:17:11 +01:00
Jose Martinez 7378e9977c feat(BCN01-LAB): puerto AP trunk y VLAN 111 WAN sin L3
- Puerto 3 eqt-lab-st01-sw01: trunk, native 108 (APs), tagged 100+101
- VLAN 111 WAN sin subnet ni appliance_ip (switching puro)
- subnet/appliance_ip pasan a ser opcionales en el módulo
2026-03-25 23:07:09 +01:00
Jose Martinez c86569436b feat(BCN01-LAB): sync manual Dashboard changes to Terraform
- Management VLAN switches → 109
- Puerto 47 stack: trunk, native VLAN 109
- SVI stack bcn01-lab-stack01: VLAN 109, 10.2.55.2/24, GW 10.2.55.1
- MX puerto 7: trunk, native VLAN 109
- Firewall: allow MANAGEMENT → internet (primera regla)
- Puerto 1 eqt-lab-st01-sw01: VLAN 110 (SERVERS)
2026-03-25 18:24:47 +01:00
Jose MartinezandClaude Sonnet 4.6 c6343d977e feat: add switch stack port config with dynamic serial resolution
- Add data source meraki_switch_stacks to resolve member serials by stack name
- Add switch_stack_port_configs variable: specify stack_name + port_range
  instead of individual switch serials
- Terraform applies port_range to ALL members of the stack automatically
- Merge switch_port_configs and switch_stack_port_configs into all_ports local
- Add example for bcn01-lab-stack01 (2x48p) in switch.auto.tfvars

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-25 08:42:48 +01:00
Jose MartinezandClaude Sonnet 4.6 775dbce9a8 feat: support port ranges in switch_port_configs (e.g. port_range = "1-24")
Replace port_id with port_range in variable; add local to expand ranges
into individual port entries before creating meraki_switch_port resources.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-18 11:37:11 +01:00
Jose MartinezandClaude Sonnet 4.6 cecf38efd7 fix: add required radius_testing_enabled and radius_coa_support_enabled to switch_access_policy
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-18 11:10:42 +01:00
Jose MartinezandClaude Sonnet 4.6 9b86ba97af feat: add 802.1X switch access policy support
- Add meraki_switch_access_policy resource to module (multi-auth, critical VLAN)
- Add meraki_switch_port resource for per-port policy assignment
- Add switch_access_policies and switch_port_configs variables to module and site
- Create switch.auto.tfvars for BCN01-LAB with 802.1X-CORPO policy
  (RADIUS: 15.15.15.15:1912, critical VLAN: 100, host_mode: Multi-Auth)
- switch_port_configs starts empty; add serial + port_id to assign policy to ports

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-18 11:01:55 +01:00
Jose MartinezandClaude Sonnet 4.6 cb77482368 refactor: rename site bcn01 to BCN01-LAB
- Rename sites/bcn01/ -> sites/BCN01-LAB/
- Update S3 backend key: bcn01/terraform.tfstate -> BCN01-LAB/terraform.tfstate
- Rename Terraform module: bcn01 -> bcn01_lab
- Update working-directory in apply.yml and plan.yml
- Update job/step names to BCN01-LAB

NOTA: mover manualmente en S3 el objeto
  bcn01/terraform.tfstate  ->  BCN01-LAB/terraform.tfstate
antes de hacer terraform init en el nuevo directorio.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-18 10:29:58 +01:00