feat: hermes auto-update cron with staggered offsets (+10min per node)

This commit is contained in:
2026-05-21 14:11:54 -04:00
parent e069715ce1
commit a508a2852a
6 changed files with 45 additions and 2 deletions

View File

@@ -29,3 +29,6 @@ hermes_config:
provider: openrouter provider: openrouter
model: openai/gpt-4o-mini model: openai/gpt-4o-mini
context_length: 128000 context_length: 128000
# Hermes auto-update offset (minutes from hour mark)
hermes_update_offset: 0

View File

@@ -25,3 +25,6 @@ ollama_models:
# Node-specific vars # Node-specific vars
bones_storage: "256GB SSD" bones_storage: "256GB SSD"
jvm_heap: "512m" jvm_heap: "512m"
# Hermes auto-update offset (minutes from hour mark)
hermes_update_offset: 30

View File

@@ -6,9 +6,11 @@ gpu_type: nvidia
gpu_model: "RTX 4070" gpu_model: "RTX 4070"
vram_mb: 12282 vram_mb: 12282
# GPU-specific tools (not drivers — Mark44 uses proprietary NVIDIA package) # GPU-specific packages
extra_packages: extra_packages:
- nvtop # GPU monitoring - nvidia-driver # NVIDIA driver (if not already installed via proprietary)
- cuda-toolkit # CUDA toolkit for ML workloads
- nvtop # GPU monitoring (better than nvidia-smi for live view)
- nethogs # Network per-process monitoring - nethogs # Network per-process monitoring
- iotop # I/O per-process monitoring - iotop # I/O per-process monitoring
@@ -17,6 +19,7 @@ ollama_models:
- gemma4:e4b # Already pulled — keep it - gemma4:e4b # Already pulled — keep it
- qwen2.5-coder:14b # Primary coding model - qwen2.5-coder:14b # Primary coding model
- qwen2.5:14b # General purpose large model - qwen2.5:14b # General purpose large model
- mistral:7b # Fallback fast model
# Services # Services
managed_services: managed_services:
@@ -30,3 +33,6 @@ managed_services:
# Ollama port override (standard) # Ollama port override (standard)
ollama_port: 11434 ollama_port: 11434
open_webui_port: 8080 open_webui_port: 8080
# Hermes auto-update offset (minutes from hour mark)
hermes_update_offset: 10

View File

@@ -28,3 +28,6 @@ managed_services:
# Ollama port # Ollama port
ollama_port: 11434 ollama_port: 11434
# Hermes auto-update offset (minutes from hour mark)
hermes_update_offset: 20

View File

@@ -0,0 +1,3 @@
# Hermes auto-update offset (minutes from hour mark)
hermes_update_offset: 40

View File

@@ -89,6 +89,31 @@
- ansible_os_family == "Debian" - ansible_os_family == "Debian"
tags: [artemis] tags: [artemis]
# --- Hermes auto-update cron (fleet-wide, staggered offsets) ---
- name: Ensure hermes-update cron is installed
cron:
name: "hermes auto-update"
minute: "{{ hermes_update_offset | default(0) }}"
hour: "*/8"
user: root
job: "bash -c 'echo === $(date -Iseconds) hermes update === >> /var/log/hermes-update.log 2>&1 && hermes update --y >> /var/log/hermes-update.log 2>&1'"
when:
- ansible_os_family == "Debian"
- hermes_update_offset is defined
tags: [hermes_update]
- name: Ensure hermes-update log file exists
file:
path: /var/log/hermes-update.log
state: touch
owner: root
group: root
mode: '0666'
when:
- ansible_os_family == "Debian"
- hermes_update_offset is defined
tags: [hermes_update]
- name: Print completion message - name: Print completion message
debug: debug:
msg: "Baseline complete on {{ ansible_hostname }} — node_type={{ node_type | default('unspecified') }}, gpu={{ has_gpu | default(false) }}" msg: "Baseline complete on {{ ansible_hostname }} — node_type={{ node_type | default('unspecified') }}, gpu={{ has_gpu | default(false) }}"