Initialisation and Bootstrap Sequence
Before executing the Terraform state, the physical hardware must be wiped and bootstrapped to establish the Terraform API user and initial Layer 3 management connectivity.
Hardware Reset Sequence
Initiate a zero-configuration state via CLI or the physical hardware pin.
Method A: CLI Execution
/system reset-configuration no-defaults=yes skip-backup=yes
Method B: Hardware Interrupt
- Disconnect power.
- Depress and hold the hardware reset pin.
- Apply power while maintaining pin depression.
- Maintain depression until the ACT (blue) LED ceases flashing.
- Release the pin.
Base System Initialisation
Access the router via MAC Telnet or serial console to establish the out-of-band (OOB) management interface and service account.
!info host:
[fe80::f61e:57ff:fe7f:fb1%2]username:adminpassword: empty
/ip service enable api
/user add name=terraform group=full password="<PASSWORD>"
/ip address add address=10.2.2.2/24 interface=ether1
/interface bridge port remove [find]
/ip address remove [find where interface=bridgeLocal or interface=bridge or interface=defconf]
/interface bridge remove [find name=bridge]
# ---
Deployment
The local state management and Terraform execution sequence are detailed below.
# 1. Purge existing state and lock files
rm -rf .terraform/ terraform.tfstate terraform.tfstate.backup .terraform.lock.hcl
echo "Clean slate! Local Terraform state and cache removed."
# 2. Initialise provider plugins
terraform init
# 3. Validate syntax and provider constraints
terraform validate
# 4. Generate execution plan against RouterOS API
terraform plan
# 5. Commit state to hardware
terraform apply