CI, CD and Fleet Management with git, GitHub Actions, Mender, Ansible, pytest and Debian

I would like to start a discussion about efficient IoT device management at scale.

Here is my (developer centric) approach for various aspects:

I rely on a small toolbox containing carefully chosen tools:

  • git: Not only for source code management but also for fleet orchestration.
  • GitHub Actions: For anything that can be automated.
  • Mender: For OTA updates, configuration dispatching, inventory management and remote access.
  • Ansible: For OS image builds, device configuration management and fleet orchestration.
  • Python, pytest, Testinfra, edi: For building and testing OS images.
  • Debian: As a basis for building the customized OS images.

What tools are you using?
Are you striving for an all-in-one IoT offering from a single vendor or are you building your system by combining several best in class solutions (like above)?
What tool(s) shall I add to the above toolbox to cover the monitoring aspect?
How are you orchestrating your fleet?

Hi @lueschem!

Wow, that is some really cool stuff that you created there, and we’re super happy to be the in as the OTA provider.

Speaking from my personal perspective, I am actually somewhat curious about the mental model. Is it more like a pipeline, or rather like a pot? Means, do you think about or even expect people to swap out things from your suggested toolbox for something else? Or do you rather understand it as holistic approach, that is best used in this exact combination?

Really curious to hear other opinions, too!

Greetz, Josef

Hi @TheYoctoJester

Actually I am very happy if I have the possibility to replace a tool within my toolbox with an equivalent tool. In the above example the replacements could be:

  • git → Mercurial
  • GitHub Actions → GitLab
  • Mender → SWUpdate + hawkBit
  • Ansible → Saltstack
  • Python, pytest, Testinfra, edi → Yocto
  • Debian → Yocto

Wherever possible, I try to avoid a vendor/technology lock-in.

So I am pretty sure that others will fill their toolbox with several different tools.

Best regards
Matthias