Populating a deployment with data
This page is a contributor walkthrough, not a specification: it shows how a fresh deployment is seeded with enough data for the admin dashboard to have something to display, using the repository’s own simulators and integration-test harness. For the contracts behind each step, follow the links to the specs.
Step 1: Create super admin user
Configured in cli/test_config.json:
{
"users": [
{
"name": "super_admin@example.com",
"password": "<strong-password>",
"super_admin": true
}
]
}
The integration-test harness creates this user for you (test/itest/conftest.py), registering it in the admin Cognito pool and setting custom:super_admin = "true". See Authentication and Permissions for what that claim buys.
Step 2: Register nodes
# Single node
super_admin_user.register_node(device,
admin_group_names=["my-group"],
tags=["env:prod", "created_by:admin"])
# Bulk (CSV in S3: node_id,cert,admin_groups)
resp = super_admin_user.bulk_register_nodes(s3_path,
admin_group_names=["batch-1"],
tags=["env:staging"])
request_id = resp.get("request_id")
# Poll status
status = super_admin_user.get_bulk_register_status(request_id)
Step 3: Associate nodes with user groups
# Regular user creates group
group_id = group_api.create_group("My Group")
# Device connects MQTT, user confirms association
user.do_user_node_assoc(device, group_id)
device.wait_for_group_info()
Step 4: Device reports shadow data
Once connected, the device publishes to $aws/things/{thingName}/shadow/name/iparams/update with reported state. This populates the iparams shadow, which fleet indexing picks up and makes available to SearchIndex — see Indexed Parameters for the document shape and Fleet Indexing for what is indexed.
Step 5: Dashboard reads data
Admin signs in via Admin Cognito Pool
Gets AWS credentials via Identity Pool (
AdminDeviceUsersRole)Calls AWS IoT SDK directly:
SearchIndex,ListThings,DescribeThingGroup,ListJobs, etc.Calls ESP RainMaker Neo APIs via API Gateway for admin-specific operations
Where each piece lives
File |
Purpose |
|---|---|
|
App simulator |
|
Device simulator (MQTT connect, shadow publish) |
|
Admin user fixture ( |
|
Admin auth, role assumption, group/subgroup access |
|
Single & bulk registration with admin groups and tags |
|
|