Major architecture overhaul to address RunPod Docker limitations: Core Infrastructure: - Add base_service.py: Abstract base class for all AI services - Add service_manager.py: Process lifecycle management - Add core/requirements.txt: Core dependencies Model Services (Standalone Python): - Add models/vllm/server.py: Qwen 2.5 7B text generation - Add models/flux/server.py: Flux.1 Schnell image generation - Add models/musicgen/server.py: MusicGen Medium music generation - Each service inherits from GPUService base class - OpenAI-compatible APIs - Standalone execution support Ansible Deployment: - Add playbook.yml: Comprehensive deployment automation - Add ansible.cfg: Ansible configuration - Add inventory.yml: Localhost inventory - Tags: base, python, dependencies, models, tailscale, validate, cleanup Scripts: - Add scripts/install.sh: Full installation wrapper - Add scripts/download-models.sh: Model download wrapper - Add scripts/start-all.sh: Start orchestrator - Add scripts/stop-all.sh: Stop all services Documentation: - Update ARCHITECTURE.md: Document distributed VPS+GPU architecture Benefits: - No Docker: Avoids RunPod CAP_SYS_ADMIN limitations - Fully reproducible via Ansible - Extensible: Add models in 3 steps - Direct Python execution (no container overhead) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
34 lines
599 B
INI
34 lines
599 B
INI
[defaults]
|
|
# Ansible configuration for RunPod deployment
|
|
|
|
# Inventory
|
|
inventory = inventory.yml
|
|
|
|
# Disable host key checking (RunPod instances may change)
|
|
host_key_checking = False
|
|
|
|
# Display settings
|
|
stdout_callback = yaml
|
|
bin_ansible_callbacks = True
|
|
|
|
# Performance
|
|
forks = 5
|
|
gathering = smart
|
|
fact_caching = jsonfile
|
|
fact_caching_connection = /tmp/ansible_facts
|
|
fact_caching_timeout = 86400
|
|
|
|
# Logging
|
|
log_path = /tmp/ansible-runpod.log
|
|
|
|
# Privilege escalation
|
|
become_method = sudo
|
|
become_ask_pass = False
|
|
|
|
# SSH settings
|
|
timeout = 30
|
|
transport = local
|
|
|
|
# Retry files
|
|
retry_files_enabled = False
|