Skip to content

Jarvis2.0 Integration

AnubissBE edited this page Jun 19, 2025 · 1 revision

Jarvis2.0 Integration

This page documents the integration of the Jarvis2.0 repository into the GitHub RunnerHub auto-scaling system.

Overview

Jarvis2.0 was successfully integrated on June 19, 2025, becoming the 6th managed repository in the RunnerHub system.

Integration Steps

1. Code Modifications

backend/server.js

// Added Jarvis2.0 to the repositories array
const REPOSITORIES = [
  'ai-music-studio',
  'mcp-enhanced-workspace', 
  'JarvisAI',
  'Jarvis2.0',  // NEW
  'ProjectHub-Mcp',
  'GitHub-RunnerHub'
];

backend/runner-manager.js

// Added Jarvis2.0 to ensure dedicated runner creation
const repositories = [
  'ai-music-studio',
  'mcp-enhanced-workspace',
  'JarvisAI', 
  'Jarvis2.0',  // NEW
  'ProjectHub-Mcp',
  'GitHub-RunnerHub'
];

2. Runner Creation

The system automatically created a dedicated runner:

  • Name: runnerhub-dedicated-jarvis2-0
  • Type: Dedicated (always-on)
  • Labels: self-hosted, docker, projecthub, runnerhub, dedicated, jarvis2.0

3. Frontend Fix

Fixed 404 errors on the dashboard by rebuilding the frontend container with the correct API URL:

docker-compose -f docker-compose.production.yml build frontend --no-cache
docker-compose -f docker-compose.production.yml up -d frontend

Configuration

Auto-Scaling Rules

  • Dedicated Runners: 1 (always ready)
  • Dynamic Runners: 0-3 (spawned when ALL runners busy)
  • Idle Timeout: 5 minutes
  • Naming: runnerhub-dynamic-jarvis2-0-{timestamp}

Runner Labels

All Jarvis2.0 runners include:

  • self-hosted - GitHub default
  • docker - Container-based runner
  • runnerhub - RunnerHub managed
  • jarvis2.0 - Repository specific
  • dedicated or dynamic - Runner type

Verification

API Health Check

curl http://192.168.1.16:8300/health | jq '.repositoryDetails["Jarvis2.0"]'

Check Runner Status

curl http://192.168.1.16:8300/api/public/runners | jq '.[] | select(.name | contains("jarvis2"))'

Monitor Logs

ssh git-runner "docker logs runnerhub-dedicated-jarvis2-0 --tail 20"

Troubleshooting

Runner Not Appearing

  1. Rebuild backend: docker-compose build backend --no-cache
  2. Restart backend: docker-compose up -d backend
  3. Check logs: docker-compose logs -f backend

Workflows Not Running

  1. Verify runner labels match workflow requirements
  2. Check runner is online in GitHub settings
  3. Ensure PAT has correct permissions

Dynamic Runners Not Spawning

  • Dynamic runners only spawn when ALL repository runners are busy
  • Monitor with: docker ps --filter name=dynamic
  • Check backend logs for spawn messages

Files Modified

  • /backend/server.js - Added repository
  • /backend/runner-manager.js - Added repository
  • /docs/JARVIS2_INTEGRATION.md - Documentation
  • /CHANGELOG.md - Version history

Next Steps

  1. Monitor runner performance
  2. Adjust scaling parameters if needed
  3. Consider repository-specific resource limits