Skip to main content

Level 2 practical exercise brief: turn the MQTT Simulator into a Barbara edge app

This article refers to Platform v3.3.0. The current Platform version is v3.3.0.

Overview

This is the practical exercise referenced by the Barbara Certification Program for Level 2 — Edge Apps Developer. The goal is to take the Barbara MQTT Simulator, which currently only runs as a local Docker app, and turn it into a real Barbara edge app: configured through App Config and Global Secrets, deployed on an Edge Node alongside other Marketplace apps, and running under explicit resource constraints.

Prerequisites

  • A Barbara Panel account with a licensed, online Edge Node. Sign up for a free trial at barbara.tech/edge-ai-platform-trial if you do not have one.
  • Git, installed locally.
  • MQTT Explorer, installed on your workstation.
  • The mqtt-simulator-bbr repository, cloned locally: git clone git@github.com:Barbaraedge/mqtt-simulator-bbr.git. Its README.md documents the simulator's configuration format, environment variables, and Docker Compose setup in full.

Checklist

Follow the step-by-step exercise in the repository's Barbara Certification Practice. Level 2.md to complete the following:

  • Adapt the Python code to read its configuration from App Config and its connection credentials from Global Secrets, instead of the local config.json and secrets.txt.
  • Write a docker-compose.yaml to deploy the app on the Edge Node.
  • Add a named volume called mqtt-simulator-data to persist the app's log file.
  • Configure the service's network so the app can communicate with other Marketplace apps on the node.
  • Deploy an MQTT Broker on the Edge Node from the Marketplace.
  • Configure the Global Secrets and App Config, and deploy the simulator so it connects to that broker.
  • Verify with MQTT Explorer that messages arrive correctly at the broker.
  • Deploy the Web File Browser Marketplace app, configure it to access the mqtt-simulator-data volume, and confirm the app's logs are stored there.
  • Add resource limits to the app in the compose: CPU 70 %, RAM 512 MB.
  • Add resource reservations to the app in the compose: CPU 40 %, RAM 256 MB.

Evidence to submit

Send the following to certifications@barbara.tech:

  • The final docker-compose.yaml used to deploy the app on the Edge Node.
  • The logs.txt file, downloaded from the Web File Browser interface.