Manage Trial Tenants¶
How to create and delete fully-configured trial tenants using the admin trials commands and a TOML manifest file.
What is a trial manifest?¶
A trial manifest is a TOML file that describes the complete state of a trial tenant: customer identity, IAM configuration, IoT model, firmware, parts, devices, events, cybersecurity projects, and users.
Use the committed trial-manifest.sample.toml in the repository root as your starting point. Copy it, rename it for the
customer (e.g. acme-trial.toml), and fill in the values.
Create a trial¶
1. Prepare the manifest¶
Copy the sample and customise every section:
Key things to check:
[trial]— uniquecode(uppercase, short) and displayname[model]/[firmware]— names must not already exist in PMS unless you intend to reuse them (the CLI will warn and skip)[[parts]]—familymust already exist in PMS;assign_model = truelinks the part to the trial model[[devices]]— serial numbers to provision;nameis the display label in Fleet Manager[[events]]— attached to device serial numbers after provisioning;kindispublicorinternal[[cybersec_projects]]— existing security projects to clone under the new model's root project[[users]]— looked up by email; must already exist on the platform[teams.*]— IAM role actions and policy resources applied per team
2. Dry-run first¶
Always preview before creating:
This prints what would be created for each section without making any API calls.
3. Create the trial¶
The command works through the manifest in this order:
- Customer — reuses existing if the code is already taken (asks for confirmation)
- IAM role actions and policy resources per team
- IoT model
- Firmware linked to the model
- Parts and sub-parts, with model assigned per part where
assign_model = true - Device provisioning, with model assigned per device
- Events attached to devices
- Fleet Manager claim for each device
- Users moved to the new customer
- Cybersecurity project clones moved under the model's root project
Each step is idempotent where possible: already-existing resources are skipped with a warning rather than causing an error.
4. Activate devices (manual — DAVE admin required)¶
After the trial is created, claimed devices are registered in the platform but not yet active. For each device to connect and be visible as online, a DAVE admin must manually instantiate a ToloMEO Virtual Device (TVD) using the certificates of the claimed device.
This step is outside the CLI and must be coordinated with the DAVE team before handing the trial over to the customer.
Delete a trial¶
1. Dry-run first¶
This shows the devices, users, parts, model, and firmware that would be removed.
2. Delete the trial¶
The command always shows a preview and asks for confirmation before proceeding. Deletion runs in reverse creation order:
- Unclaim devices from Fleet Manager
- Unprovision devices (removes IoT things and PMS device records)
- Delete parts (sub-parts first, then parents)
- Delete firmware, then IoT model
- Delete customer (cascades to IAM tenant, teams, and users)
Note
Cybersecurity project clones created during trial setup are not automatically deleted — remove them manually via
tlm-cli cs projects if needed.
Warning
Deletion is permanent and cannot be undone. Keep the manifest file until you are certain the trial is fully decommissioned.
Tip
- Keep one manifest file per trial customer, committed to version control, so you always have the authoritative record of what was created.
- If a step fails mid-run (e.g. a device serial is wrong), fix the manifest and re-run — already-created resources will be skipped.
- To delete a trial without a manifest, use
tlm-cli admin customers delete CUSTOMER_CODE— but note this only cascades within ToloMEO and skips PMS cleanup (devices, parts, firmware).