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.
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.
General Roadmap Notes:
SaltStack Shortcomings:
restart()
doesnt need the -w
flag for overrides.installer
tool? Steal another implementation just so that
Salt could be used to bootstrap other package management solutions.Stuff that should be parity with macadmin:
Need to support configuration profile management including generation and remote enrollment.
Requires the SaltTesting
package to execute unit and integration tests.