- 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>
3.6 KiB
3.6 KiB
Release v2.0.0 - Multi-OS Support & Critical Fixes
🎉 Major Release
This release adds multi-OS support (macOS + Linux), development mode, and fixes all critical issues reported by users.
✨ New Features
Multi-OS Support
- ✅ macOS support alongside Debian/Ubuntu
- ✅ Homebrew automatically installed on both platforms
- ✅ OS-specific tasks for clean separation
- ✅ Automatic OS detection with proper fallback
Installation Modes
- ✅ Release Mode (default):
pnpm install -g openclaw@latest - ✅ Development Mode: Clone repo, build from source, symlink binary
- ✅ Switch with
-e openclaw_install_mode=development - ✅ Development aliases:
openclaw-rebuild,openclaw-dev,openclaw-pull
🐛 Critical Bug Fixes
All issues from user feedback resolved:
-
✅ DBus Session Bus Errors
- Auto-configured
loginctl enable-linger - Dynamic
XDG_RUNTIME_DIR=/run/user/$(id -u) - Proper
DBUS_SESSION_BUS_ADDRESSsetup - No more manual
eval $(dbus-launch --sh-syntax)needed!
- Auto-configured
-
✅ User Switch Command
- Fixed from
sudo -i -u openclawtosudo su - openclaw - Ensures proper login shell with environment
- Fixed from
-
✅ Homebrew Integration
- Installed for both Linux and macOS
- Added to PATH in both
.bashrcand.zshrc brew shellenvproperly configured
-
✅ PNPM Configuration
PNPM_HOMEproperly set in shell configs- PATH includes pnpm directories
- Correct permissions on
~/.local/share/pnpm
-
✅ User-ID Dynamic
- No longer hardcoded to 1000
- Dynamically determined with
id -u
🔧 Improvements
- ✅ Better onboarding: Recommends
openclaw onboard --install-daemon - ✅ No auto-config: Config files created by openclaw itself
- ✅ Enhanced security: systemd service hardening
- ✅ Linting: yamllint & ansible-lint production profile passed
📦 Installation
Quick Start (Release Mode)
curl -fsSL https://raw.githubusercontent.com/openclaw/openclaw-ansible/main/install.sh | bash
Development Mode
git clone https://github.com/openclaw/openclaw-ansible.git
cd openclaw-ansible
./run-playbook.sh -e openclaw_install_mode=development
📚 Documentation
- README.md - Getting started
- CHANGELOG.md - Full changelog
- UPGRADE_NOTES.md - Technical details
- docs/development-mode.md - Development guide
⚠️ Breaking Changes
- User switch command changed: Use
sudo su - openclawinstead ofsudo -i -u openclaw - No auto-configuration: Config files no longer auto-generated, use
openclaw onboard - No auto-service: systemd service not auto-installed, use
--install-daemonflag
🔄 Migration
For existing installations:
# Add environment variables
echo 'export XDG_RUNTIME_DIR=/run/user/$(id -u)' >> ~/.bashrc
echo 'export PNPM_HOME="$HOME/.local/share/pnpm"' >> ~/.bashrc
# Enable lingering
sudo loginctl enable-linger openclaw
# Add Homebrew (Linux)
echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"' >> ~/.bashrc
# Reload
source ~/.bashrc
# Reinstall openclaw
pnpm install -g openclaw@latest
📊 Testing
- ✅ yamllint: PASSED
- ✅ ansible-lint: PASSED (production profile)
- ✅ Tested on Debian 11/12
- ✅ Tested on Ubuntu 20.04/22.04
- ⚠️ macOS framework ready (needs real hardware testing)
🙏 Thanks
Special thanks to early adopters who provided feedback on the DBus and user switching issues!
Full Changelog: https://github.com/openclaw/openclaw-ansible/blob/main/CHANGELOG.md