cookbook 'macos', '= 3.1.0'
macos
(52) Versions
3.1.0
-
-
6.0.3
-
6.0.0
-
5.1.0
-
5.0.6
-
5.0.5
-
5.0.4
-
5.0.3
-
5.0.1
-
4.2.3
-
4.2.2
-
3.4.2
-
3.4.1
-
3.4.0
-
3.3.0
-
3.2.1
-
3.2.0
-
3.1.0
-
3.0.8
-
3.0.1
-
3.0.0
-
2.10.1
-
2.10.0
-
2.9.1
-
2.9.0
-
2.8.1
-
2.8.0
-
2.7.0
-
2.6.1
-
2.6.0
-
2.5.0
-
2.4.0
-
2.3.0
-
2.2.0
-
2.1.0
-
2.0.0
-
1.14.1
-
1.14
-
1.13.1
-
1.12.0
-
1.11.0
-
1.10.1
-
1.9.0
-
1.8.0
-
1.7.0
-
1.6.0
-
1.5.0
-
1.2.0
-
1.1.1
-
1.1.0
-
1.0.0
-
0.9.0
-
0.8.2
Follow13
- 6.0.3
- 6.0.0
- 5.1.0
- 5.0.6
- 5.0.5
- 5.0.4
- 5.0.3
- 5.0.1
- 4.2.3
- 4.2.2
- 3.4.2
- 3.4.1
- 3.4.0
- 3.3.0
- 3.2.1
- 3.2.0
- 3.1.0
- 3.0.8
- 3.0.1
- 3.0.0
- 2.10.1
- 2.10.0
- 2.9.1
- 2.9.0
- 2.8.1
- 2.8.0
- 2.7.0
- 2.6.1
- 2.6.0
- 2.5.0
- 2.4.0
- 2.3.0
- 2.2.0
- 2.1.0
- 2.0.0
- 1.14.1
- 1.14
- 1.13.1
- 1.12.0
- 1.11.0
- 1.10.1
- 1.9.0
- 1.8.0
- 1.7.0
- 1.6.0
- 1.5.0
- 1.2.0
- 1.1.1
- 1.1.0
- 1.0.0
- 0.9.0
- 0.8.2
Resources for configuring and provisioning macOS
cookbook 'macos', '= 3.1.0', :supermarket
knife supermarket install macos
knife supermarket download macos
macOS Cookbook
Chef resources and recipes for managing and provisioning macOS.
Supported Chef Versions
- Chef 15
Supported OS Versions
- macOS High Sierra 10.13
- macOS Mojave 10.14
- macOS Catalina 10.15
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
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' |
Resources
Dependent cookbooks
This cookbook has no specified dependencies.
Contingent cookbooks
Changelog
[3.1.0] - 2019-10-09
Added
- Added support for macOS Catalina
- Added support for Chef 15
- Added
UserPath
andSystemPath
libraries to simplify calls to macOS filepaths
Fixed
- Fixed an issue parsing new
softwareupdate
output on macOS Catalina - Fixed a dependency issue with
xcode-install
on Chef 15 - Fixed and updated the
xcode
resource platform compatibilty check (thanks to xcodereleases.com for tracking this)
Removed
- Removed testing on macOS Sierra
- Removed testing on Chef 14
- Removed dependency on
chef-sugar
[3.0.9] - 2019-09-11
Fixed
Fixed an issue where the Xcode resource cannot find the Xcode 11 GM bundle path to move it to the declared path in the resource. It removes a logic tree in favor of matching the behavior of the xcode-install gem: https://github.com/xcpretty/xcode-install/blob/74b89805462d6795d964935239f78e6d2790a52d/lib/xcode/install.rb#L282, which is to replace spaces in the version listed by Apple with a period.
Fixed an issue where installing the xcode-install gem fails on Chef 15
Fixed an issue where the Xcode resource attempted to write to the read-only portion of the Catalina filesystem.
[3.0.8] - 2019-07-31
Fixed
- Fixed an issue where Xcode versions containing whitespace were not properly quoted in command execution. Regression from version 2.10 release.
[3.0.1] - 2019-03-15
Thanks to @jkronborg for these two fixes!
Fixed
- Fixed a guard in
keep_awake
for use on portables. - Fixed incorrect attribute key in the Xcode resource documentation, and added a security suggestion.
[3.0.0] - 2019-02-28
Added
- Added
automatic_software_updates
resource to enable or disable the automatic checking, downloading, and installing of software updates. - Added
azure-pipelines.yml
to allow for managing builds as code. - Added some resource unit tests for
spotlight
to complement the existingmetadata_util
tests.
Changed
- Changed the
ard
resource toremote_management
and updates applicable tests and documentation. The newremote_management
resource greatly simplifies syntax and reduces the needed macOS domain knowledge aroundkickstart
options. However, it has less functionality thanard
and is a significant breaking change.
Fixed
- Fixed .mailmap file to accurately track contributor emails.
- Fixed guard in the
keychain
resource for the:create
action.
Removed
- AdiĆ³s, Captain! We no longer support OS X El Capitan or Chef 13.
- Removed
machine_name
resource along with respective tests and documentation in favor of thehostname
resource in Chef 14. - Removed
xcode
recipe along with respective tests, documentation and node attributes in favor ofcommand_line_tools
resource which was released in 2.10.0. - Removed
disable_software_updates
recipe along with respective tests and documentation in favor ofautomatic_software_updates
resource. - Removed
default
recipe - it was empty anyway.
[2.10.1] - 2019-01-29
Fixed
- Fixed issue in which setting certain
machine_name
resource properties (hostname
,local_hostname
,dns_domain
) from a previously unset state, would fail to compile. (Issue #181).
[2.10.0] - 2019-01-16
Added
- Added
command_line_tools
resource to manage Xcode Command Line Tools installation for macOS. - New Xcode property
download_url
. (Issue #174).
Changed
- Bump Xcode to 10.1 in default attributes file.
Fixed
- Resolved an issue where a unit test was not passing due to a typo.
[2.9.0] - 2018-12-06
Added
- Added templates for bug reports, feature requests, and pull requests to adhere with Github's recommended community standards.
- Added support for owner/group in the plist resource. Allows for plist files to be created under a specific owner. Defaults to root/wheel for compatibility with earlier versions of the cookbook. (Issue #51)
- Added support for setting the mode property when creating a plist using the
plist
resource. This allows control over setting the file permissions. (Issue #51)
[2.8.1] - 2018-11-29
Fixed
- Fixed an issue where the path for the
xcversion
utility was hard-coded when installed as a Chef gem, which caused failures when converging with ChefDK or Workstation.
[2.8.0] - 2018-11-14
Added
- Sugar helps the code go down! We now depend on Chef Sugar for
mac_os_x?
,virtual?
,mac_os_x_before_or_at_maverick?
, etc.
Fixed
- Fixed an issue where Software Update Catalog provides an incomplete list causing some converge failures. We now check for
platform_specific.empty?
and produce appropriate errors.
[2.7.0] - 2018-10-26
Added
- Multi-converge testing added for all kitchen suites, idempotency enforced for select resources. Idempotency issues identified and resolved with the
keep_awake
recipe, thespotlight
resource, and theard
resource as a result. More enforcing by the idempotence police to come in future releases.
Removed
- Removal of dead links in documentation for resources to allow for more up to date and clear documentation. (Issue #129).
Fixed
- Resolved an issue with the
ard
resource where a Chef run sometimes fails due to an intermittentkickstart
failure. Guards added to the default resource actions to prevent this issue. (Issue #70). - Resolved an issue with the
spotlight
resource wheremdutil
output was improperly parsed andmdutil
commands were re-ran when not needed.
[2.6.1] - 2018-10-04
Added
- The desert took its toll, the README now declares support for Mojave!
[2.6.0] - 2018-10-03
Added
Apple has limited some kickstart command functionality in macOS Mojave, preventing screen
control in some invocations. We verified theard
resource's implementation of thekickstart
script still functions.Updated Xcode default version to 10.0.
The team crossed the great Mojave Desert, collapsed from dehydration, all just to obtain its support. In other words we now support macOS Mojave.
Fixed
- Prevented the
xcode
resource from leaving available Command Line Tools downloads in Software Updates.
Deprecated
- The
machine_name
resource has been deprecated in favor of the macOS support in thehostname
resource in Chef 14. It will be removed in the release of v3.0 of the macOS cookbook.
[2.5.0] - 2018-09-10
Added
- Added
CHANGELOG.md
, About time right? (Issue #122). - Added functional
path
property to Xcode resource. (Issue #116). - Added ChefSpec resource tests for Xcode.
Fixed
- Separated extra responsibilities of Xcode resource into DeveloperAccount and CommandLineTools libraries.
[2.4.0] - 2018-08-16
Added
- Added
CHANGELOG.md
. (Issue #122).
Removed
-
homebrew
cookbook dependency removed.homebrew_cask
andhomebrew_tap
is being deprecated by Chef and has not been used bymacos-cookbook
since version2.0
. (Issue #123).
Fixed
- Fixed
keychain
resource documentation link. - Update
metadata_util
library to consider Spotlight server status before manipulating indexing state. (Issue #45).
[2.3.0] - 2018-06-28
Added
- Like a trained ninja of the night, the
macos_user
now has ahidden
property, making it impossible to detect from the login screen. - Moved to a new set of internal Vagrant macOS boxes, which have much more minimal initial configuration. This ensures that our resources run from a more out-of-the-box macOS experience.
Fixed
- Fixed bug where deletion of a user was failing when using the macos_user resource.
- For those of you who like to set their user and password as the same characters, we fixed an issue in the certificate resource for non-Vagrant use cases, you know for normal human beings who like a secure environment.
[2.2.0] - 2018-05-29
Added
- Foodcritics can be pretty harsh in their critiquing of food. They also have some pretty in depth rules we need to comply with, so we updated machine_name to comply with the new FoodCritic rule FC115.
- Added guard config to automatically run relevant unit tests when a file is changed.
- Update to InSpec control filenames to match the standard. This allows for better understanding of the tests.
[2.1.0] - 2018-05-16
Added
- Created an autologin functionality on 10.13.4 to allow for machine to automatically login to the machine.
[2.0.0] - 2018-05-09
Removed
- Removed the Mono recipe as it is not in the scope of this cookbook.
- Removed Apple Configurator recipe as a bug with the
mas
dependency does not function in High Sierra.
[1.14.0] - 2018-05-01
Added
- Updated the
keep_awake
recipe and spec tests to not require node attribute stubbing when wrapped in another cookbook.
[1.13.0] - 2018-04-25
Added
- Added a CONTRIBUTING.md to outline the Chef Community Guidelines for code contribution.
Fixed
- Fixed an issue with ChefSpec when wrapping the
keep_awake
recipe. - Fixed an idempotence issue with the keychain resource.
[1.12.0] - 2018-04-16
Added
- Added new keychain resource
- Introduced three new library classes
Power
,Environment
, andScreenSaver
. - Updated README.md to reflect single build definition.
- Added feature to make disk sleep default to
Never
.
[1.11.0] - 2018-04-11
Added
- Added the ability to install Xcode beta builds to the
xcode
resource. - Added support for Chef 14.
[1.10.0] - 2018-03-26
Added
- Added feature that allows node attributes to be set for Developer Apple ID credentials while downloading Xcode from Apple.
- Added ability to install Command Line tools from the
xcode-install
gem.
Fixed
- Increased timeout for Xcode download for issue where method
bundle_version_correct
fails and unsuccessfully tries to access node attributes in Xcode library. - Resolved issue where adding users and groups would fail tests.
[1.9.0] - 2018-03-21
Added
- Added support for other hypervisors and keep away logic.
- Implemented
-t
option incertificate
resource to allow apps to access imported key. - Add
utf-8
encoding type toplist
resource to make it more robust.
[1.8.0] - 2018-03-12
Added
- Added a
dns_domain
property tomachine_name
resource to support FQDNs. - Added TESTING.md documentation.
- Changed
binary
property toencoding
to support xml and binary plist formats.
Removed
- Removed support for
NetBIOSName
due to macOS bugs.
Fixed
- Fixed several bugs in
plist
resource. - Fixed typos in
machine_name
resource documentation.
[1.7.0] - 2018-03-05
Added
- Added the
certificate
resource, this resource manages the state of a given certificate for a specified keychain.
[1.6.0] - 2018-02-20
Added
- Added whitespace support for property list names and keys.
Fixed
- Fixed some depreciation bugs in the
macos_user
resource. - Fixed idempotency bug in
.kitchen.yml
.
[1.5.0] - 2018-02-12
Added
- Added new
system_preference
resource.
Removed
- Removed
systemsetup
resource. - Removed
.delivery
in favor ofkitchen test
and concurrency testing model.
Fixed
- Fixed issue where
plist
resources cause incomplete idempotence on second converge by making thekeep_awake
recipe idempotent. (Issue #15). - Fixed issue where
macos_user
was not allowing users to be added to groups by creating a newgroups
property. (Issue #40). - Fixed issue where
machine_name
resource does not setLocalHostName
by makingmachine_name
idempotent and having it properly set theLocalHostName
. (Issue #20).
[1.3.0] - 2018-02-02
Added
- Added helper modules for
systemsetup
. - Added new attributes to adjust the
keep_awake
functions. - Added better functionality to the
keep_awake
power resources.
[1.2.0] - 2018-01-28
Added
- Initial release of the macOS Cookbook.
- Chef support for 10.10 to 10.13.
- Added
xcode
resource. - Added
keep_awake
recipe. - Added
spotlight
resource. - Added
machine_name
resource. - Added
macos_user
resource.
Collaborator Number Metric
3.1.0 passed this metric
Contributing File Metric
3.1.0 passed this metric
Foodcritic Metric
3.1.0 passed this metric
No Binaries Metric
3.1.0 failed this metric
Failure: Cookbook should not contain binaries. Found:
macos/test/cookbooks/macos_test/files/default/Test.p12
macos/documentation/automatic_software_updates.png
macos/documentation/sharing_preferences.png
Testing File Metric
3.1.0 passed this metric
Version Tag Metric
3.1.0 passed this metric
3.1.0 passed this metric
3.1.0 passed this metric
Foodcritic Metric
3.1.0 passed this metric
No Binaries Metric
3.1.0 failed this metric
Failure: Cookbook should not contain binaries. Found:
macos/test/cookbooks/macos_test/files/default/Test.p12
macos/documentation/automatic_software_updates.png
macos/documentation/sharing_preferences.png
Testing File Metric
3.1.0 passed this metric
Version Tag Metric
3.1.0 passed this metric
3.1.0 passed this metric
3.1.0 failed this metric
Failure: Cookbook should not contain binaries. Found:
macos/test/cookbooks/macos_test/files/default/Test.p12
macos/documentation/automatic_software_updates.png
macos/documentation/sharing_preferences.png
Testing File Metric
3.1.0 passed this metric
Version Tag Metric
3.1.0 passed this metric
3.1.0 passed this metric
3.1.0 passed this metric