- 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>
75 lines
2.8 KiB
Plaintext
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
|