Commit Graph

25 Commits

Author SHA1 Message Date
b1b22bc447 docs(macos): update delivery plan and macOS compatibility test cases 2026-06-22 02:43:54 +00:00
87c9a18f61 fix(macos): litellm brew install via command (clone-path patch) + TC-MAC-019 2026-06-19 03:00:27 +00:00
5c9b5d2ed0 fix(macos): postgres brew install via command (clone-path patch) + docs
Add patch_playbook_postgres_macos() to rewrite the postgres macos.yml install
from the community.general.homebrew module (which can select a crashing stale
Intel Homebrew) to a brew command using the PATH brew, matching the playbooks
repo fix. Documents TC-MAC-018.
2026-06-18 12:55:51 +00:00
87bf91d655 fix(macos): use native PostgreSQL mode on Darwin (Linux keeps compose)
postgresql_deploy_mode defaults to compose (Docker) and the admin password is
generated via a /root password-file lookup, both of which fail on a native
macOS deploy (no Docker, /root not writable). The role already ships a native
path (macos.yml, Homebrew postgresql@16). In the script's Darwin block, set
postgresql_deploy_mode=native and pass postgresql_admin_password directly
(highest-precedence extra-var, bypassing the /root lookup). Linux unchanged.
Documents TC-MAC-017.
2026-06-18 12:47:41 +00:00
1492d13889 fix(macos): make vault admin bootstrap idempotent; drop diagnostic
Root cause of the repeated 'Bootstrap Vault admin userpass auth' failure was
not macOS-specific: init_vault_admin.sh derived entity_id by logging in as the
user, but the login MFA enforcement it creates makes that login MFA-gated on
re-runs (dev Vault persists across deploys), yielding 'missing entityID'.

patch_playbook_vault_macos() now rewrites init_vault_admin.sh to resolve
entity_id via the userpass entity-alias (creating entity+alias on first run),
matching the same fix landed in the playbooks repo. Removes the temporary
no_log/file-dump diagnostic. Documents TC-MAC-016.
2026-06-18 12:39:42 +00:00
5750d3d2ae fix(macos): provide jq and Homebrew PATH for vault admin bootstrap
vault : Bootstrap Vault admin userpass auth runs init_vault_admin.sh, which
require_cmd's vault/jq/curl/base64. macOS has no jq by default (the apt deps
task is Darwin-skipped) and ansible.builtin.script uses a minimal PATH without
/opt/homebrew/bin. Extend patch_playbook_vault_macos() to brew install jq and
add environment PATH to the bootstrap task. Idempotent; verified. TC-MAC-015.
2026-06-18 11:55:17 +00:00
6607d32920 fix(macos): skip common role Linux baseline on Darwin
The common role's 'Base | *' tasks (timedatectl timezone, /etc/hostname,
hostname, /etc/hosts, ssh hardening, fail2ban, file limits, firewall) all run
with become: true against Linux-only tooling/paths and fail on macOS — the
reported timedatectl failure is just the first. Add patch_playbook_common_macos()
(post-clone, Darwin-only) that appends an ansible_os_family != 'Darwin' guard to
the whole Base block. Idempotent; verified against the real role; Linux
unchanged. Documents TC-MAC-014.
2026-06-18 11:46:29 +00:00
11701c6037 fix(macos): patch vault role post-clone for macOS-standard dirs
The vault role's 'Ensure standalone Vault directories exist' task creates
/etc/vault.d and /opt/vault/data with owner: root and lacks the Darwin guard
its sibling tasks have, so it fails under macOS become=false. Unlike the
bridge dir (owned by the service user, fixable via -e), this owner: root is
hardcoded and not overridable, so the role logic must change.

Since the role lives in a separate playbooks repo, reuse the existing
post-clone patch mechanism (cf. patch_playbook_user_systemd): add
patch_playbook_vault_macos() that, on Darwin only, guards the directory task,
makes vault dirs/binary OS-conditional (macOS -> ~/Library/Application
Support/vault[/data], /opt/homebrew/bin/vault; Linux unchanged), and creates
the user-owned data dir in macos.yml. Idempotent; verified against the real
role. Documents TC-MAC-013.
2026-06-18 11:33:42 +00:00
470e5163f5 fix(macos): use Apple-standard app-data dir for xworkmate-bridge base
Switch the macOS bridge base dir to the Apple-standard per-user location
$HOME/Library/Application Support/cloud-neutral/xworkmate-bridge, while Linux
keeps /opt/cloud-neutral/xworkmate-bridge. Applied both as the Darwin -e
override in setup-ai-workspace-all-in-one.sh (the lever that reaches the
curl|bash path) and as an OS-conditional role default. Updates TC-MAC-012 and
the progress report with the not-pushed root cause of the 19:09 re-failure.
2026-06-18 11:14:18 +00:00
d094c27b86 docs: add progress report for TC-MAC-012 (macOS bridge base dir fix) 2026-06-18 11:03:26 +00:00
cf97344708 fix: relocate xworkmate-bridge base dir under $HOME on macOS
macOS deploys run with ansible_become=false, so the bridge role default
xworkmate_bridge_base_dir=/opt/cloud-neutral failed with EACCES creating
/opt/cloud-neutral. Inject a Darwin -e override pointing the base dir at
$HOME/.local/state/cloud-neutral/xworkmate-bridge, matching existing macOS
overrides for gateway_openclaw/agent_skills/xworkspace_console. Documents the
failure and fix as TC-MAC-012.
2026-06-18 10:59:10 +00:00
Haitao Pan
3e9d8f9dfe docs(ai-workspace): add DATA_MANAGEMENT_TLDR for backup, restore, migrate and uninstall 2026-06-17 14:26:29 +08:00
Haitao Pan
389acb30ee Fix offline installer release lookup 2026-06-16 09:16:25 +08:00
Haitao Pan
6f85f4d183 feat: aggregate prebuilt workspace releases 2026-06-15 21:59:35 +08:00
Haitao Pan
52d2243478 docs: add bounded concurrency optimization plan 2026-06-15 21:25:10 +08:00
Haitao Pan
23e091ee61 docs: add feature overview 2026-06-15 14:34:02 +08:00
Haitao Pan
3b6b03da95 feat: prefer idempotent offline runtime installs 2026-06-15 14:32:36 +08:00
Haitao Pan
7b76631884 docs: move repo details into docs 2026-06-15 14:27:44 +08:00
Haitao Pan
a842aab5be docs: add offline install todo 2026-06-15 13:52:16 +08:00
Haitao Pan
6924183e28 docs: add deployment todo checklist 2026-06-15 10:43:14 +08:00
Haitao Pan
65bb07ab06 feat: build offline AI Workspace installer packages 2026-06-14 13:50:36 +08:00
Haitao Pan
656ca02a14 feat: unified one-time deploy summary 2026-06-14 13:19:44 +08:00
Haitao Pan
8cb46863d2 docs: update all-in-one setup entrypoint 2026-06-14 12:23:25 +08:00
Haitao Pan
46b8227c26 update: docs/ARCHITECTURE.md 2026-06-10 10:46:24 +08:00
Haitao Pan
4723d19b2c Rebuild console with React Vite and Go 2026-06-07 13:01:06 +08:00