Commit Graph

6 Commits

Author SHA1 Message Date
William Valentin
c94bbe5de8 Add LiteLLM maintenance scripts and systemd health-check timer
litellm-dedup.sh: removes duplicate model DB entries (idempotent, supports
--dry-run). Root cause of duplicates was litellm-init running multiple times
before the DB was populated, causing all entries to be inserted concurrently.

litellm-health-check.sh: runs every 6 hours via systemd user timer; checks
liveness (auto-restarts container if unresponsive) and duplicate entries
(auto-dedups when DEDUP=1). Logs to litellm-maintenance.log.

Systemd units: litellm-health-check.{service,timer} installed under
~/.config/systemd/user/.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-12 13:33:16 -07:00
William Valentin
ef344579fa Add gpt-5.4, glm-4.7-flash, and glm-5 models; fix init idempotency
- Register gpt-5.4 (OpenAI codex auth), glm-4.7-flash, and glm-5 (ZAI)
- Add early-exit guard to litellm-init-models.sh: skips registration if
  gpt-4o already exists in the DB, preventing duplicate entries on re-runs;
  set FORCE=1 to bypass and add any missing models

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-12 13:33:06 -07:00
William Valentin
07927f6101 Move auto-reboot to 04:00 to avoid e2scrub conflict
e2scrub_all.timer runs Sundays at 03:10. The previous 03:30 reboot
window gave only 20 minutes. 04:00 gives a safe 50-minute buffer
after both the 03:00 config backup and the filesystem scrub.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 12:51:47 -07:00
William Valentin
d0514fa345 Add automatic security updates to customize playbook
Enable unattended-upgrades with auto-reboot at 03:30 (after the
03:00 config backup). Includes kernel package cleanup and removal
of unused dependencies.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 12:40:04 -07:00
William Valentin
5900a51f3d Include all credentials and runtime config
Remove secret exclusions from .gitignore (local-only repo).
Add openclaw runtime state: credentials, identity, devices,
hooks, telegram, secrets, agent configs.
Exclude noisy/binary data: sessions, sqlite, media, temp files.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 12:20:33 -07:00
William Valentin
aceeb7b542 Initial commit — OpenClaw VM infrastructure
- ansible/: VM provisioning playbooks and roles
  - provision-vm.yml: create KVM VM from Ubuntu cloud image
  - install.yml: install OpenClaw on guest (upstream)
  - customize.yml: swappiness, virtiofs fstab, linger
  - roles/vm/: libvirt domain XML, cloud-init templates
  - inventory.yml + host_vars/zap.yml: zap instance config
- backup-openclaw-vm.sh: daily rsync + MinIO upload
- restore-openclaw-vm.sh: full redeploy from scratch
- README.md: full operational documentation

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 12:18:31 -07:00