Conversation
|
This is excellent work, @thebalaa. We want all of this. What we love:
One snag: While this PR was in flight, we merged a rename from Could you rebase on main? The structure has changed but your changes should map cleanly:
We're excited to merge this once it's rebased. Thank you for the thorough testing and documentation - it shows. 🙏 |
Remove bare-metal macOS support due to system-level permission risks. Linux-only deployment provides better security isolation. Changes: - Remove macOS-specific task files (firewall, docker, tailscale, system-tools) - Remove Homebrew and zsh dependencies (Linux-only now) - Add macOS detection with explicit failure message - Update README with deprecation notice and rationale - Simplify install.sh to Debian/Ubuntu only - Remove multi-OS orchestrator files Security rationale: System-level modifications on primary host OS introduce significant risks. Future support may use virtualization. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Major changes: - Make Tailscale optional (tailscale_enabled: false by default) - Add ci_test mode to skip Docker/firewall/systemd tasks in CI - Add Docker-based CI test harness (convergence, verification, idempotency) - Convert show-lobster.sh to template for conditional Tailscale display - Update firewall to conditionally open Tailscale port CI Test Harness: - tests/Dockerfile.ubuntu2404 - Ubuntu container with Ansible - tests/entrypoint.sh - Test execution (convergence → verify → idempotency) - tests/verify.yml - Post-install assertions - tests/run-tests.sh - Local test runner - Validates ~75% of playbook (skips Docker-in-Docker, firewall, systemd) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Bug fixes: - Create .bash_profile to source .bashrc for login shells (fixes environment not loading for sudo su - openclaw) - Simplify install.sh to only install dependencies (no longer downloads/runs playbook automatically) - Update install.sh messaging and instructions Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This reverts commit 3f5d9aa.
Fixes environment not loading when using 'sudo su - openclaw'. Login shells need .bash_profile to source .bashrc. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Complete functional parity with PR openclaw#16 while preserving openclaw naming. Initial fixes (7): - Add home directory ownership fix to prevent permission errors - Move .bashrc configuration from system-tools to user.yml - Add ci_test conditionals to all systemd-related tasks - Fix binary path resolution (use PATH instead of hardcoded paths) - Remove all Homebrew path references - Update pnpm installation to use idempotent check-first approach - Change apt upgrade to use ci_test conditional Additional fixes from comprehensive double-check (7): - Use ansible.builtin.authorized_key instead of ansible.posix - Remove ansible.posix collection dependency from requirements.yml - Remove "Connect Tailscale VPN" from completion message (now optional) - Add comprehensive security entries to .gitignore - Add network interface validation in firewall configuration - Improve pnpm config idempotency with proper change detection - Add install_mode validation with clear error messages Files modified: 12 - .gitignore: Added security-related ignore patterns - playbook.yml: Fixed apt upgrade conditional - requirements.yml: Removed ansible.posix dependency - run-playbook.sh: Removed optional Tailscale from completion - roles/openclaw/tasks/user.yml: Multiple critical fixes - roles/openclaw/tasks/system-tools-linux.yml: Removed .bashrc config - roles/openclaw/tasks/firewall-linux.yml: Added validation - roles/openclaw/tasks/nodejs.yml: Improved pnpm check - roles/openclaw/tasks/openclaw.yml: Added validation and idempotency - roles/openclaw/tasks/openclaw-release.yml: Fixed paths - roles/openclaw/tasks/openclaw-development.yml: Fixed paths - roles/openclaw/templates/openclaw-host.service.j2: Fixed PATH and ExecStart All functional changes from PR openclaw#16 are now incorporated with correct openclaw naming throughout. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
21a2f28 to
1f552e4
Compare
|
Hey, @alauppe! I've updated everything with the rename changes. I've tested on a Hetzner VM from scratch and all seems to work. Let me know if there's anything else! |
|
Following up with some specifics to help with the rebase: Structural changes on main since your PR: The
One thing to preserve from main: We fixed the # requirements.yml - keep this entry:
- name: ansible.posix
version: ">=1.5.0"
# In user.yml - use the canonical module name:
ansible.posix.authorized_key: # not ansible.builtin.authorized_keyWhy this matters: Everything else in your PR is great as-is. Looking forward to the rebased version - we're ready to merge once it's updated. |
…refs - Add ansible.posix collection to requirements.yml (>=1.5.0) - Change ansible.builtin.authorized_key to ansible.posix.authorized_key - Update documentation references from clawdbot to openclaw - Fix Jinja2 template lstrip_blocks to use boolean instead of string Addresses PR openclaw#16 maintainer feedback for clawdbot → openclaw rename. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Update LICENSE copyright from Clawdbot to OpenClaw Contributors - Change CLAWDBOT_DEV_DIR to OPENCLAW_DEV_DIR in docs and upgrade notes - Update security.md overview text - Update UPGRADE_NOTES.md section heading Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
Done! Thanks for the feedback, @alauppe |
alauppe
left a comment
There was a problem hiding this comment.
Excellent work on the rebase, @thebalaa. Everything looks clean.
Approving - this PR brings real improvements:
- macOS removal with clear deprecation notice and restoration roadmap
- Tailscale as opt-in (sensible default, reduces attack surface)
- Critical bug fixes (home directory ownership, .bash_profile for login shells, PNPM PATH)
- Docker CI test harness with convergence/verification/idempotency
- Better .gitignore for secrets
- Network interface validation
Thank you for addressing the ansible.posix and rename feedback. This is a quality contribution.
Summary
This PR removes macOS support from the playbook (Linux-only), makes Tailscale installation optional (disabled by default), and fixes multiple installation and user environment issues discovered during testing.
Major Changes
🔧 Platform Support
🌐 Tailscale Made Optional
tailscale_enabledvariable (default:false)🐛 Installation Fixes
Multiple critical fixes for user environment and installation flow:
🧪 Testing Infrastructure
Security Improvements
Documentation Updates
Commit Log
Testing
✅ Tested on Ubuntu 22.04 VPS
✅ Verified with Tailscale disabled (default)
✅ Verified with Tailscale enabled
✅ All installation issues resolved
✅ User environment loads correctly on login
Breaking Changes
tailscale_enabled: trueto install Tailscale🤖 Generated with Claude Code