A Chef cookbook used to provision macOS
Перейти к файлу
Rich Halliday 9621aaf470 Removed ScreenSaver class entirely. 2018-05-17 12:42:19 -07:00
attributes Release/1.12 (#95) 2018-04-16 12:08:24 -07:00
documentation Release/1.12 (#95) 2018-04-16 12:08:24 -07:00
libraries Removed ScreenSaver class entirely. 2018-05-17 12:42:19 -07:00
recipes Removed ScreenSaver class entirely. 2018-05-17 12:42:19 -07:00
resources Removed ScreenSaver class entirely. 2018-05-17 12:42:19 -07:00
spec Removed ScreenSaver class entirely. 2018-05-17 12:42:19 -07:00
test Release/1.12 (#95) 2018-04-16 12:08:24 -07:00
.gitignore Release/1.10 (#82) 2018-03-26 14:06:33 -07:00
.kitchen.yml Release/1.12 (#95) 2018-04-16 12:08:24 -07:00
.mailmap Release 1.5 (#43) 2018-02-12 12:23:41 -08:00
.rubocop.yml Release/1.10 (#82) 2018-03-26 14:06:33 -07:00
Berksfile Release/1.6 (#49) 2018-02-20 13:49:51 -08:00
CODE_OF_CONDUCT.md Release/1.14 (#106) 2018-05-01 10:45:45 -07:00
CONTRIBUTING.md Release/1.13 (#102) 2018-04-25 10:32:20 -07:00
LICENSE rename LICENSE for foodcritic 2017-09-27 16:32:45 -07:00
README.md Release/1.14 (#106) 2018-05-01 10:45:45 -07:00
TESTING.md Release/1.10 (#82) 2018-03-26 14:06:33 -07:00
chefignore Address changes in PR 2018-03-12 11:32:46 -07:00
metadata.rb Release/1.14 (#106) 2018-05-01 10:45:45 -07:00

README.md

macOS Cookbook

build-status-badge

Chef resources and recipes for managing and provisioning macOS.

Supported Chef Versions

  • Chef 13
  • Chef 14

Supported OS Versions

  • OS X El Capitan 10.11
  • macOS Sierra 10.12
  • macOS High Sierra 10.13

Attributes

Admin User and Password

node['macos']['admin_user'] = 'vagrant'
node['macos']['admin_password'] = 'vagrant'

Each of these attributes defaults to vagrant since our resources are developed with the Vagrant paradigm. In other words, the user and password declared here should be an admin user with passwordless super-user rights.

Recipes

Disable Software Updates

Disables automatic checking and downloading of software updates.

Usage: include_recipe 'macos::disable_software_updates'

No attributes used in this recipe.

Keep Awake

Prevent macOS from falling asleep, disable the screensaver, reboot upon power failure, enable wake on LAN, enable remote login (SSH) and adjust several other settings to always keep macOS on and available.

Usage: include_recipe 'macos::keep_awake'

Attributes used Default value
node['macos']['remote_login_enabled'] true
node['macos']['network_time_server'] 'time.windows.com'
node['macos']['time_zone'] 'America/Los_Angeles'

Mono

Installs Mono. Requires setting the package, version and checksum attributes in order to override.

Usage: include_recipe 'macos::mono'

Attributes used Default value
node['macos']['mono']['package'] 'MonoFramework-MDK-4.4.2.11.macos10.xamarin.universal.pkg'
node['macos']['mono']['version'] '4.4.2'
node['macos']['mono']['checksum'] 'd8bfbee7ae4d0d1facaf0ddfb70c0de4b1a3d94bb1b4c38e8fa4884539f54e23'

Xcode

Installs Xcode 9.2 and simulators for iOS 10 and iOS 11. See the Xcode resource documentation if you need more flexibility.

⚠️ Requires a credentials data bag containing an apple_id data bag item, or a user/password pair set under node['macos']['apple_id'].

Usage: include_recipe 'macos::xcode'

Attributes used Default value
node['macos']['xcode']['version'] '9.3'
node['macos']['xcode']['simulator']['major_version'] nil
node['macos']['apple_id']['user'] nil
node['macos']['apple_id']['password'] nil

Apple Configurator 2

Installs Apple Configurator 2 using mas and links cfgutil to /usr/local/bin.

⚠️ Requires a credentials data bag containing an apple_id data bag item.

Usage: include_recipe 'macos::configurator'

Attributes: No attributes used in this recipe.

Data Bags

Both the macos::xcode and macos::configurator recipes require a credentials data bag with an apple_id data bag item. The item should contain valid Apple ID credentials. For example:

Example:

{
  "id": "apple_id",
  "apple_id": "farva@spurbury.gov",
  "password": "0k@yN0cR34m"
}

Resources