jumpstarter
Health Pass
- License — License: Apache-2.0
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Community trust — 176 GitHub stars
Code Pass
- Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Pass
- Permissions — No dangerous permissions requested
No AI report is available for this listing yet.
Hardware testing for the software world. Real or virtual, local or remote, human, automated or agentic.
Jumpstarter
Jumpstarter is a free and open source test automation framework. It bridges the gap
between embedded development workflows and deployment environments, enabling
consistent automated testing across real hardware and virtual environments with
CI/CD integration. Every interface is programmatic, so human developers, test
scripts, CI pipelines, and AI agents interact with devices through the same APIs.
Highlights
- 🧪 Unified Testing - One tool for physical and virtual devices under test
- 🔌 Hardware Abstraction - Control UART, CAN, SPI, GPIO, power, and USB through drivers
- 🐍 Python-Powered - Integrate with PyTest and Python's testing ecosystem
- 🌐 Collaborative - Share and securely lease test hardware across teams
- ⚙️ Automation Ready - Same APIs for humans, test scripts, CI pipelines, and AI agents
- 💻 Cross-Platform - Supports Linux and macOS
Repository Structure
This monorepo contains all Jumpstarter components:
| Directory | Description |
|---|---|
python/ |
Python client, CLI, drivers, and testing framework |
controller/ |
Kubernetes controller and operator (Jumpstarter Service) |
protocol/ |
gRPC protocol definitions (protobuf) |
e2e/ |
End-to-end testing infrastructure |
Quick Start
Install the CLI
pip install --extra-index-url https://pkg.jumpstarter.dev/ jumpstarter-cli
Or install all Python components:
pip install --extra-index-url https://pkg.jumpstarter.dev/ jumpstarter-all
Deploy the Service
To install the Jumpstarter Service in your Kubernetes cluster, see the
Service Installation
documentation.
Components
Python Client & Drivers (python/)
The Python implementation provides:
jmpCLI tool for interacting with hardware- Client libraries for test automation
- Hardware drivers for various devices
- Testing framework integration
See python/README.md for details.
Jumpstarter Service (controller/)
The Kubernetes-native service that provides:
- Centralized hardware management
- Client and exporter routing
- Authentication and authorization
- Multi-tenant support
Prerequisites:
- Kubernetes v1.11.3+
- kubectl v1.11.3+
See controller/README.md for deployment instructions.
Protocol (protocol/)
The gRPC-based communication layer that enables:
- Unified interface for virtual and physical hardware
- Secure communication over HTTPS
- Tunneling support for Unix sockets, TCP, and UDP
- Flexible topology with direct or routed connections
See protocol/README.md for details.
End-to-End Tests (e2e/)
Comprehensive testing infrastructure for the entire Jumpstarter stack:
setup-e2e.sh- One-time environment setup (auto-installs bats libraries on macOS)run-e2e.sh- Quick test runner for iterationsaction.yml- GitHub Actions composite action for CI/CD- Full integration tests covering authentication, exporters, and clients
Run e2e tests locally:
# First time setup
make e2e-setup
# Run tests (repeat as needed)
make e2e # or: make e2e-run
# Or full setup + run in one command
make e2e-full
# Clean up e2e environment (delete cluster, certs, etc.)
make e2e-clean
Development
Prerequisites
- Python 3.11+ (for Python components)
- Go 1.24+ (for controller)
- Docker/Podman (for container builds)
- kubectl (for Kubernetes deployment)
Building
# Build all components
make build
# Build specific components
make build-python # Python packages
make build-controller # Controller binary
make build-protocol # Generate protocol code
# Run tests
make test
# Run end-to-end tests
make e2e-setup # First time only
make e2e # Run tests
make e2e-clean # Clean up
Documentation
Jumpstarter's documentation is available at jumpstarter.dev.
Contributing
Jumpstarter welcomes contributors of all levels of experience! See the
contributing guide to get started.
Community
License
Jumpstarter is licensed under the Apache 2.0 License (LICENSE or
https://www.apache.org/licenses/LICENSE-2.0).
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found