Tenant Operations

Tenant Operations #

For whoever is building something on Deevnet β€” you know Terraform, you may not know Deevnet, and you want a device or a service running on the platform without learning how the platform is built.

A picture to keep in mind: the mobile kit is set up at a meetup of a local microcontroller and edge-compute group ( CARPE, for example), and you want a Pico W or an ESP32 on your bench to send messages to a backend. This section walks from “I have nothing” to that.


What a tenant is #

A tenant is your own isolated slice of the platform, declared in your own Terraform and created through the Deevnet API. It gets its own network, its own DNS zone, its own Wi-Fi key for devices, its own MQTT topic space and its own log partitions. Other tenants cannot reach any of it, and you cannot reach theirs.

You hold one credential: a Deevnet API token. You never touch the hypervisor, the router, the switch or anyone’s vault β€” you declare resources with the deevnet/deevnet provider and the substrate builds them. Everything you get is rebuilt from your repository and your Terraform state, so the repository is the tenant.

The design behind this is in Tenant architecture; you do not need to read it to use this guide.


The service catalog #

ServiceWhat you getStatus
Network & workloadsA private /24, an anycast gateway, outbound internet, and Fedora VMsAvailable
DNS<tenant>.mobile.deevnet.net and its reverse zone, written by youAvailable
Wi-Fi keysA per-tenant key on the IoT SSID, landing your devices on the IoT networkAvailable
Devices & MQTTA device registry, TLS MQTT accounts confined to your own topics, and a fixed address for a device that needs oneAvailable
LogsYour own log partitions: workload logs, and device logs arriving over MQTTAvailable
DashboardsA Grafana organization of your own with your logs wired in; dashboards as codeAvailable
State storeAn S3 backend for your Terraform stateAvailable
Metrics, identity, object storageDesigned, not yet builtComing soon

Reading path #

  1. Getting started β€” Before you start β†’ Admission β†’ First apply
  2. Walkthrough: a Pico W or ESP32 talking to a backend β€” the whole thing end to end, in one Terraform file and two short firmware sketches
  3. Deploy your app to a workload β€” your code from your computer onto your own VM, as a container over SSH
  4. Services β€” one page per service, when you need the details
  5. Recovery β€” when your tenant, or the site under it, loses something
  6. Connect device to Wi-Fi β€” your tenant’s Wi-Fi key onto a Pico W, an ESP32 or a borrowed kit
  7. Convert a tenant to a Pi image β€” your app and the services it uses move onto a Pi of your own, and your devices keep talking to it with the same topics and tokens, with no Deevnet behind it
  8. Pi Lab β€” the site’s own bank of Pis, when your project needs a Pi at the site rather than a VM. Not a Pi of your own
  9. Troubleshooting β€” when something doesn’t work

The operator’s side of all this β€” admitting your name β€” is Tenant Admission.

Page last modified: October 7, 2026