Skip to content

Convention over configuration in default config settings #63

@redstonemercury

Description

@redstonemercury

While implementing this module we noticed that the /etc/puppet/puppet.conf file has a lot of settings specified that are actually just reiterating the defaults. Specifically:

[main]
vardir=/var/lib/puppet
templatedir=/var/lib/puppet

[master]
hiera_config = /etc/puppet/hiera.yaml
digest_algorithm = md5
pluginsync = true
parser = current
environmentpath = /etc/puppet/environments

[agent]
environment = production
report = true
digest_algorithm = md5
listen = false
use_srv_records = false
reportserver = $server
runinterval = 1800
splay = false
pluginsync = true
server = puppet
masterport = 8140

Following convention over configuration principles, wouldn't it make more sense to not place these already defaulted configuration settings in the conf file unless they are overriden with non-default values?

If you think this would make sense, I would be glad to refactor the module to default these configuration settings to undef, then only create the line in the config file if they are not undef. If there's a reason we are intentionally enforcing these to the default settings please let me know and I'll drop this!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions