Files
swarm-master/ansible/RELEASE_NOTES_v2.0.0.md
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

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:

  1. DBus Session Bus Errors

    • Auto-configured loginctl enable-linger
    • Dynamic XDG_RUNTIME_DIR=/run/user/$(id -u)
    • Proper DBUS_SESSION_BUS_ADDRESS setup
    • No more manual eval $(dbus-launch --sh-syntax) needed!
  2. User Switch Command

    • Fixed from sudo -i -u openclaw to sudo su - openclaw
    • Ensures proper login shell with environment
  3. Homebrew Integration

    • Installed for both Linux and macOS
    • Added to PATH in both .bashrc and .zshrc
    • brew shellenv properly configured
  4. PNPM Configuration

    • PNPM_HOME properly set in shell configs
    • PATH includes pnpm directories
    • Correct permissions on ~/.local/share/pnpm
  5. 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

⚠️ Breaking Changes

  1. User switch command changed: Use sudo su - openclaw instead of sudo -i -u openclaw
  2. No auto-configuration: Config files no longer auto-generated, use openclaw onboard
  3. No auto-service: systemd service not auto-installed, use --install-daemon flag

🔄 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