I have a module which defines a few users, each of whom have slightly different needs (e.g., home directory, uid, gid, groups, etc.). I'll use netatalk as an example, since we're using it for server-based Time Machine backups.
Netatalk requires a file called `/etc/netatalk/AppleVolumes.default`, which should have an entry for each of the defined users, like so:
# AppleVolumes.default - Managed by Puppet - DO NOT EDIT BY HAND
:DEFAULT: options:upriv,usedots
/home/john/timemachine "John's TM on foo" options:tm allow:john allowed_hosts:192.168.1.1/24
/home/jane/timemachine "Jane's TM on foo" options:tm allow:jane allowed_hosts:192.168.1.1/24
Now, with one user, I can use `template()` to create John's entry in the `AppleVolumes.default`. But if I do the same thing with Jane's manifest, it would (I assume) overwrite the file with Jane's copy.
How can I merge both users into the same file gracefully?
↧