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.
- Host: GitHub
- URL: https://github.com/kvs-coder/deviceorbit
- Owner: kvs-coder
- License: apache-2.0
- Created: 2025-01-19T03:23:24.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-08T03:54:51.000Z (over 1 year ago)
- Last Synced: 2025-03-08T04:27:38.947Z (over 1 year ago)
- Language: Go
- Homepage:
- Size: 120 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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.