An open API service indexing awesome lists of open source software.

https://github.com/kvs-coder/deviceorbit

DeviceOrbit is a monorepo for managing USB-connected Android/iOS devices in Kubernetes. It includes a Device Plugin to expose devices as resources, a controller with gRPC/HTTP APIs for pod management, and a K3d cluster setup for local testing. Built with Skaffold and Helm for streamlined development and deployment.
https://github.com/kvs-coder/deviceorbit

Last synced: 12 months ago
JSON representation

DeviceOrbit is a monorepo for managing USB-connected Android/iOS devices in Kubernetes. It includes a Device Plugin to expose devices as resources, a controller with gRPC/HTTP APIs for pod management, and a K3d cluster setup for local testing. Built with Skaffold and Helm for streamlined development and deployment.

Awesome Lists containing this project

README

          

# DeviceOrbit Monorepo
Streamlined USB Mobile Device Management in Kubernetes

## Overview
**DeviceOrbit** is a monorepo that integrates USB-connected Android and iOS devices into Kubernetes environments. It combines a Device Plugin, a pod management controller, and a local K3s cluster setup to enable secure, containerized access to mobile devices for development and testing. Built with Skaffold, Helm, and K3s, it’s designed for simplicity and flexibility.

### Purpose
DeviceOrbit simplifies working with physical mobile devices in Kubernetes by:
- Exposing USB devices as node resources
- Managing device-specific pods programmatically
- Providing a lightweight local testing environment

## Components
The monorepo includes three key components, each with its own subdirectory:

1. **`src/plugin`**: A Kubernetes Device Plugin that detects USB mobile devices (Android/iOS) and exposes them as resources (e.g., `com.kvs.deviceorbit/`).
2. **`src/controller`**: A controller that creates and deletes pods for these devices via gRPC and HTTP APIs.
3. **`cluster/`**: A K3d configuration for a local K3s cluster with USB support and a registry (`deviceorbit:5050`).

For detailed functionality, setup, and usage, refer to the `README.md` in each subdirectory.