This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

About Jumpstarter

What is Jumpstarter?

Jumpstarter is a project to enable Hardware in the Loop testing and development for Edge devices.



Embedded and Edge devices have been traditionally tested in a manual way with a human operator. This is not scalable, and unsuitable for CI/CD pipelines.

In a modern development cycle we want to know that our software changes work well into our device hardware. We need to test the onboarding process, the software stack, the hardware, the updates and the interaction between all of them.

With Jumpstarter it’s possible to use software CI/CD pipelines like Tekton, GitHub CI, GitLab CI, Jenkins, etc., as well as integrated development and scientific environments like Jupyter and Eclipse Che / Devspaces to interact with your physical hardware.

How does it work?

The distributed mode takes advantage of Kubernetes to support the management of multiple target devices directly from your existing cluster. This allows the utilization of devices for both development and continuous integration.

Jumpstarter also provides a local-only model where kubernetes is not necessary. This is useful for development and testing purposes. More details can be found in the Docs/How-It-Works

Why do I want it?

  • I need my software to be tested in real hardware for every new pull/merge request to my project.

  • I need my software to be tested for every new release or commit of my project.

  • I want my software to be automatically tested in newer versions of the hardware.

  • I have multiple variants of the hardware where my software needs to run, and I want to test in them all.

  • I want a hands-free operation of hardware in my development environment, i.e. I don’t want to manually flash images, reboot the DUT, insert usb sticks, manually interact with a bootloader, etc.

  • I want to create a lab where developers can run and test their software in real hardware.

  • What is it good for?: Integrating your hardware edge devices into your software CI/CD pipeline. Creating a distributed lab for your developers to test their software in real hardware.

  • What is it not good for?: Managing edge devices. Jumpstarter is not a device management tool, it is a testing and development tool.

Where should I go next?

1 - Installation

This section contains the installation instructions for the Jumpstarter distributed service, and the python framework.

Installing the distributed service

In the documentation website you can find the installation instructions for the Jumpstarter distributed service in the various supported platforms.

PlatformInstall methodInstructions
KubernetesHelmKubernetes Installation Guide
OpenShiftHelmOpenShift with Helm Installation Guide
OpenShiftHelm + ArgoCDOpenShift with ArgoCD Installation Guide
Local cluster with KindHelmLocal cluster with Kind Installation Guide
Local cluster with MinikubeHelmLocal cluster with Minikube Installation Guide

Installing the CLI tools and Exporters

Jumpstarter provides two cli tools:

  • jmpctl: a command line tool to manage clients and exporters in the Jumpstarter distributed service.
  • jmp: a command line tool for interacting with Jumpstarter as a client: leasing devices, performing operations on them, etc.

In addition there is a exporter tool:

  • jmp-exporter: This command line tool is used to run exporters in the Jumpstarter, either distributed or local workflow.

Installation details for all those tools can be found here: https://docs.jumpstarter.dev/installation/index.html

Where can I find help?

Look at the Community page for more information on how to get in touch with the Jumpstarter developers, we have a Matrix channel where we’ll be happy to help you.

2 - Concepts

In this section you can find a more detailed explanation of the concepts used in the Jumpstarter project.

Please refer to the Jumpstarter documentation glossary for details.

3 - Contribution guidelines

If you want to contribute to Jumpstarter you can write a PR to one of our repositories (small changes and bugfixes), if you plan on implementing a new feature or a new driver, we recommend you to contact us first, this project is moving rapidly and we’d love to make it easier for you to contribute.

Get in touch with us via our Community page, we have a weekly meeting as well as a matrix channel.

This contribution guideline is still under development and our community is very new, so we are open to suggestions on how to improve it.