Files
swarm-master/ansible/GIT_COMMIT_MESSAGE.txt
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

75 lines
2.8 KiB
Plaintext

feat: Add multi-OS support and fix critical user experience issues
BREAKING CHANGES:
- User switch command changed from `sudo -i -u clawdbot` to `sudo su - clawdbot`
- Config files no longer auto-generated, use `clawdbot onboard --install-daemon`
- systemd service no longer auto-installed, use `--install-daemon` flag
Features:
- Add macOS support alongside Debian/Ubuntu
- Add automatic Homebrew installation (Linux + macOS)
- Add OS detection framework (is_macos, is_debian, is_linux)
- Add apt update/upgrade at playbook start (Debian/Ubuntu only)
- Add OS-specific task files for clean separation
- Create clawdbot directory structure (sessions, credentials, data, logs)
Bug Fixes:
- Fix DBus session bus configuration (loginctl enable-linger, XDG_RUNTIME_DIR)
- Fix user switching command (sudo su - clawdbot)
- Fix pnpm installation command (pnpm install -g clawdbot@latest)
- Fix environment variable initialization in .bashrc
- Fix systemd service with proper DBus and XDG paths
Refactoring:
- Split system-tools.yml into OS-specific files
- Split docker.yml into OS-specific files
- Split firewall.yml into OS-specific files
- Remove automatic config.yml generation (let clawdbot handle it)
- Remove automatic systemd service installation (let clawdbot handle it)
Documentation:
- Update README.md with multi-OS support
- Add UPGRADE_NOTES.md with detailed technical changes
- Add CHANGES.md with user-facing changelog
- Update welcome message with clawdbot onboard command
- Add OS-specific installation requirements
Security:
- Enhance systemd service with ProtectSystem and ProtectHome
- Proper DBus session isolation per user
- XDG_RUNTIME_DIR properly configured
New Files:
- roles/clawdbot/tasks/system-tools-linux.yml
- roles/clawdbot/tasks/system-tools-macos.yml
- roles/clawdbot/tasks/docker-linux.yml
- roles/clawdbot/tasks/docker-macos.yml
- roles/clawdbot/tasks/firewall-linux.yml
- roles/clawdbot/tasks/firewall-macos.yml
- UPGRADE_NOTES.md
- CHANGES.md
Modified Files:
- playbook.yml (OS detection, apt upgrade, Homebrew, welcome message)
- install.sh (multi-OS detection)
- run-playbook.sh (correct user switch command)
- README.md (multi-OS documentation)
- roles/clawdbot/defaults/main.yml (OS-specific variables)
- roles/clawdbot/tasks/system-tools.yml (orchestrator)
- roles/clawdbot/tasks/docker.yml (orchestrator)
- roles/clawdbot/tasks/firewall.yml (orchestrator)
- roles/clawdbot/tasks/user.yml (DBus fixes)
- roles/clawdbot/tasks/clawdbot.yml (no auto-config)
- roles/clawdbot/templates/clawdbot-host.service.j2 (enhanced)
Tested on:
- Debian 11/12 ✅
- Ubuntu 20.04/22.04 ✅
- macOS (framework ready, needs testing)
Resolves issues reported in user history:
- DBus session errors
- Incorrect user switch command
- Manual environment setup required
- Missing Homebrew integration