This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Consider the current ssh_authrized_keys state and puppet manifest below. | |
Puppet will sync the key options away, although the manifest doesn't mention them at all. | |
That's because the 'options' property defaults to 'absent'. | |
This strikes me as unsound. There's two more sane ways I can imagine: | |
1. Forgo default values for all properties | |
2. Make default values special, so that properties use them only | |
when creating a new managed entity on the system | |
(i.e. the resource is changed from absent to a present state). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# long-ish manifest from a real code base in test.pp | |
# test2.pp was created by simply concatenating test.pp twice | |
$ wc /tmp/test* | |
11076 26918 371942 /tmp/test2.pp | |
5538 13459 185971 /tmp/test.pp | |
# On branch master | |
nothing to commit, working directory clean | |
$ for i in `seq 1 5` ; do time RUBYLIB=lib puppet doc -dv --color=no --mode rdoc /tmp/test.pp >/dev/null ; done |
NewerOlder