Context
PR #144 applied ~/.ssh/config (9 aliases, Tailscale-first) and ~/.claude/settings.json (9 permission allow entries) to CHARLIE. BRAVO and ALPHA still need the same treatment via Ansible.
Steps
1. Trust host keys (run once from CHARLIE)
for ip in 100.107.140.12 100.86.236.11; do ssh-keyscan -T 3 "$ip"; done | sort -u >> ~/.ssh/known_hosts
2. Dry run
cd ~/factorylm/infra/ansible
ansible-playbook -i inventory.ini playbook.yml --tags ssh_claude_sync --check --limit 'bravo,alpha'
3. Apply
ansible-playbook -i inventory.ini playbook.yml --tags ssh_claude_sync --limit 'bravo,alpha'
Acceptance Criteria
~/.ssh/config on BRAVO and ALPHA contains all 9 cluster aliases
~/.claude/settings.json on BRAVO and ALPHA contains the 9 permission allow entries (ssh *, scp *, rsync *, tailscale *, etc.)
~/.claude/.permissions-merged-v1 marker present on both nodes
- SSH aliases resolve correctly from each node (
ssh alpha, ssh bravo, etc.)
Context
PR #144 applied
~/.ssh/config(9 aliases, Tailscale-first) and~/.claude/settings.json(9 permission allow entries) to CHARLIE. BRAVO and ALPHA still need the same treatment via Ansible.Steps
1. Trust host keys (run once from CHARLIE)
2. Dry run
3. Apply
ansible-playbook -i inventory.ini playbook.yml --tags ssh_claude_sync --limit 'bravo,alpha'Acceptance Criteria
~/.ssh/configon BRAVO and ALPHA contains all 9 cluster aliases~/.claude/settings.jsonon BRAVO and ALPHA contains the 9 permission allow entries (ssh *,scp *,rsync *,tailscale *, etc.)~/.claude/.permissions-merged-v1marker present on both nodesssh alpha,ssh bravo, etc.)