glarizza/puppet-property_list_key

You should be able to set the plist's owner/group/mode

Closed this issue · 3 comments

Ran into this today - if Puppet modifies a plist using this type/provider, it will change the owner to the root user.

The problem is when you have MULTIPLE key/value pairs being managed by this type - what if ALL of them specified the owner/group/mode and what if they were different? You would have these changes made all over the place.

This issue is to open a discussion into whether it's easier to just manage the plist file with a separate file resource, or to try and expose those settings through this type.

+1 that .plist ownership just be solved with a file resource if someone wants to specifically set the ownership of the plist, and the type shouldn't care.

Nonetheless, property_list_type should not reset the ownership to be root on sync.

Enf0 commented

I agree that you should be able to set the plist's permissions. There are several cases where I want to use this module to configure a plist in ~/Library/Preferences, and these files are naturally owned by the current user.

I'm going to take the stance that you will need an accompanying file resource to manage a file's permissions due to the nature of:

  • Multiple key/value pairs being entered into the same file
  • It makes property_list_key less 'magic' (i.e. you have to be explicit)