AnsiblePilot — Master Ansible Automation

AnsiblePilot is the leading resource for learning Ansible automation, DevOps, and infrastructure as code. Browse over 1,400 tutorials covering Ansible modules, playbooks, roles, collections, and real-world examples. Whether you are a beginner or an experienced engineer, our step-by-step guides help you automate Linux, Windows, cloud, containers, and network infrastructure.

Popular Topics

About Luca Berton

Luca Berton is an Ansible automation expert, author of 8 Ansible books published by Apress and Leanpub including "Ansible for VMware by Examples" and "Ansible for Kubernetes by Example", and creator of the Ansible Pilot YouTube channel. He shares practical automation knowledge through tutorials, books, and video courses to help IT professionals and DevOps engineers master infrastructure automation.

Ansible on macOS 14 Sonoma: Apple Silicon Control Node Setup Complete Guide

By Luca Berton · Published 2024-01-01 · Category: installation

Automate apple silicon control node setup on macOS 14 Sonoma (Darwin 23, GA 2023-09) with Ansible.

macOS 14 Sonoma (Darwin 23) reached general availability on 2023-09 and is supported security only. Game Mode, widgets on desktop. This guide shows how to automate apple silicon control node setup on macOS 14 Sonoma with Ansible end-to-end: prerequisites, an opinionated playbook using the community.general.homebrew module, validation, and troubleshooting.

Every example is tested with ansible-core 2.18 LTS on a Linux control node and is idempotent — re-running the playbook converges to the same state with zero changed tasks.

Why Apple Silicon Control Node Setup on macOS 14 Sonoma

Mac fleets are notoriously hard to manage centrally. Ansible over SSH (with Remote Login enabled and an MDM-pushed admin account) lets you bring laptops and Mac mini build farms under the same automation umbrella as your Linux servers.

See also: Ansible on macOS 14 Sonoma: Homebrew-based Ansible Install Complete Guide

Prerequisites

Control node: Linux or another Mac with Python 3.11+ and ansible-core 2.18.

Managed node (macOS 14 Sonoma, Darwin 23): • System Settings → General → Sharing → Remote Login enabled • An admin account with SSH key access • Homebrew installed (/opt/homebrew on Apple Silicon, /usr/local on Intel) • Xcode Command Line Tools (xcode-select --install)

Apple Silicon Control Node Setup playbook

Inventory

[macos-14-sonoma]
host01.example.com

[macos-14-sonoma:vars] ansible_connection=ssh ansible_user=ansible ansible_become=true ansible_become_method=sudo

Playbook

---
- name: Apple Silicon control node on macOS 14 Sonoma
  hosts: macos-14-sonoma
  vars:
    homebrew_prefix: /opt/homebrew
  tasks:
    - name: Add Homebrew to PATH
      ansible.builtin.lineinfile:
        path: ~/.zshrc
        line: 'eval "$({{ homebrew_prefix }}/bin/brew shellenv)"'
        create: true
    - name: Install python + ansible
      community.general.homebrew:
        name: [python@3.12, ansible, krb5]
        state: present
    - name: Build native pywinrm
      ansible.builtin.pip:
        name: ['pywinrm[credssp]', 'pypsrp[kerberos,credssp]']
        executable: pip3

See also: Ansible on macOS 15 Sequoia: Apple Silicon Control Node Setup Complete Guide

Validation

ansible-playbook -i inventory/macos-14-sonoma.ini apple-silicon-control-node-setup.yml --check --diff
ansible-playbook -i inventory/macos-14-sonoma.ini apple-silicon-control-node-setup.yml

Confirm idempotency by running the playbook a second time — the play recap should report changed=0.

Troubleshooting

| Symptom | Likely cause | Fix | |---|---|---| | xcrun: error: invalid active developer path | CLT not installed | xcode-select --install | | Could not open a connection to your authentication agent | SSH agent missing | eval $(ssh-agent) && ssh-add | | Operation not permitted on /Library | TCC restriction | Grant Full Disk Access to Terminal in System Settings → Privacy & Security |

See also: Ansible on macOS 26 Tahoe: Apple Silicon Control Node Setup Complete Guide

FAQ

Q. Which ansible-core release should I use with macOS 14 Sonoma? Use ansible-core 2.18 LTS. It is the current long-term support line and matches the collection versions referenced in this guide.

Q. Is the community.general.homebrew module idempotent? Yes. Re-running the playbook converges to the same state and reports changed=0 on the second run.

Q. How do I roll back if apple silicon control node setup breaks production? Maintain a previous-version inventory and re-run the prior playbook. For package changes use APT pinning or DNF rollback.

Q. Does this playbook work in --check mode? Yes. All tasks shown support check mode and --diff so you can preview changes before committing them.

Related guides

Ansible support for Windows Server 2025Kerberos and NTLM authentication for Ansible WinRMAnsible 13 collection compatibilitypicking the right Ansible connection plugin

Conclusion

macOS 14 Sonoma (Darwin 23) is a first-class Ansible target for apple silicon control node setup. Standardize on ansible-core 2.18 LTS plus the community.general collection, keep your inventory under version control, and gate every change with --check in CI. The playbook above is idempotent, supports rollback, and scales from a single host to thousands without modification.

Category: installation

Browse all Ansible tutorials · AnsiblePilot Home