-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Jay Ehsaniara edited this page Jul 8, 2025
·
3 revisions
Welcome to the Joblet documentation! This is a high-performance distributed job execution system built in Go that provides secure remote command execution with comprehensive resource management and real-time monitoring capabilities.
- Installation Guide - Get up and running quickly
- Basic Usage - Learn the fundamentals
- CLI Reference - Complete command reference
- System Architecture - High-level system design and components
- Security Model - Authentication, authorization, and isolation
- Process Isolation - Namespace and cgroup isolation details
- Resource Management - CPU, memory, and I/O limiting
- Development Setup - Setting up development environment
- Deployment Guide - Production deployment strategies
- Configuration Reference - All configuration options
- Troubleshooting - Common issues and solutions
- gRPC API - Complete API documentation
- Platform Abstraction - Cross-platform compatibility layer
- Authentication & Authorization - Certificate-based security
- Performance Tuning - Optimize for your workload
- Monitoring & Observability - Logging and metrics
- Contributing - How to contribute to the project
- Changelog - Version history and changes
| Feature | Description |
|---|---|
| ποΈ Advanced Resource Management | Linux Cgroups v2 with CPU, memory, and I/O bandwidth limiting |
| π Process Isolation | PID, mount, IPC, and UTS namespaces per job |
| π Host Networking | Jobs use host network interface for maximum compatibility |
| π‘ Real-Time Operations | Live log streaming and comprehensive monitoring |
| π Mutual TLS Security | Certificate-based authentication with role-based access |
| β‘ High Performance | gRPC communication with configurable limits |
- CI/CD Pipelines - Execute build and deployment jobs with resource limits
- Batch Processing - Run data processing tasks with isolation
- Development Environments - Provide isolated development containers
- Microservice Testing - Test services in controlled environments
- Educational Platforms - Safe code execution for learning environments
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β RNX Client ββββββ Joblet Server ββββββ Job Process β
β (Admin/Viewer) β β (TLS + Auth) β β (Linux Only) β
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β β
β β
βββββββββΌβββββββββ ββββββββββΌβββββββββ
β State Store β β Process Mgmt β
β (In-Memory) β β (Namespaces + β
ββββββββββββββββββ β Cgroups) β
βββββββββββββββββββ
# Start a simple job
rnx run echo "Hello, World!"
# Run with resource limits
rnx run --max-cpu=50 --max-memory=512 python3 script.py
# Monitor job status
rnx list
rnx log <job-id>
# Stop a job
rnx stop <job-id>- Issues: Report bugs and request features on GitHub Issues
- Discussions: Ask questions in GitHub Discussions
- Security: Report security issues privately to the maintainers
Note: This system requires Linux for full functionality. macOS is supported for RNX client and limited development use only.