feat: hermes auto-update cron with staggered offsets (+10min per node)
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
3
host_vars/nebuchadnezzar.yml
Normal file
3
host_vars/nebuchadnezzar.yml
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
|
||||||
|
# Hermes auto-update offset (minutes from hour mark)
|
||||||
|
hermes_update_offset: 40
|
||||||
25
local.yml
25
local.yml
@@ -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) }}"
|
||||||
|
|||||||
Reference in New Issue
Block a user