Wi-Fi Keys

Wi-Fi Keys Available #

What you get #

A Wi-Fi key of your own on the site’s IoT SSID. Devices that join with it land on the IoT network (VLAN 30, 10.20.30.0/24 at the mobile site), where they can reach the MQTT broker and the internet β€” and nothing else: not your workloads, not the management network, not other tenants' services.

The SSID is shared; the key is yours. The access point uses per-key passphrases (PPSK), so your key identifies your devices as yours, and revoking it disconnects only yours.

Declare one #

resource "deevnet_iot_wifi_key" "devices" {
  tenant      = deevnet_tenant.this.name
  name        = "devices"
  trust_class = "iot"
}

output "device_wifi" {
  value     = { ssid = deevnet_iot_wifi_key.devices.ssid, psk = deevnet_iot_wifi_key.devices.psk }
  sensitive = true
}
terraform output -json device_wifi

One key per tenant per trust class, not per device: every device you flash uses the same key. Read the SSID from the output rather than hardcoding DVNTM-IOT: another site would name the same trust class differently.

Trust classForAvailable at mobile
iotdevices you build and flash yourselfyes
iot_vendorcommercial devices that phone home to a vendor cloudnot configured

Rotating it #

terraform apply -replace=deevnet_iot_wifi_key.devices

issues a new key, and every device holding the old one drops off until it is reflashed. The psk is only ever returned when the key is issued β€” your state is its only copy.

What it does not do #

  • It is not authorization. Joining the network proves you have the key, nothing more; each service still wants its own credential (the broker wants a broker account) ( ADR-0020)
  • Your devices cannot reach your workloads directly. Both talk to the broker
  • Known defect: on a freshly built site whose key profile started empty, the first key issued does not authenticate. The mobile site is past this; it matters only after a site rebuild
Page last modified: September 26, 2026