salt-osx

SaltStack grains, modules, and states to manage Mac OS X.

The motivation for this repository is to provide SaltStack modules that call native API through PyObjC, in addition to command line tools. This gives a greater level of control than executing commands by themselves, which is what puppet, chef etc. are doing.

WARNING: A lot of modules are in a very early state of development, check the list below to see which are usable.

Installation

VERY IMPORTANT: You must disable multiprocessing on the Mac OS X minions for CoreFoundation modules to work. This is because salt-minion threading does not work at all with CoreFoundation API. If you do not do this, the minion will crash without warning when trying to execute some modules. This is not the case with salt-call as it does not seem to use multiple threads. Modules using the CoreFoundation API are listed below, marked with CF.

If you do use any of these modules you must edit your minion configuration file, usually /etc/salt/minion to include the following line:

multiprocessing: False

This repository can then be added to your file_roots or whichever fileserver backend you happen to be using for your master or masterless setup.

Grains

Execution Modules

TODO

General Roadmap Notes:

Testing

Requires the SaltTesting package to execute unit and integration tests.