puppetlabs/puppetlabs-nginx — pull request #52 by kamholz (2013-06-11 01:42:21+00:00)
Title: remove hard-coded /etc/nginx paths and parameterize nginx::params

These changes make it possible to use this module on unsupported operating systems (in my case SmartOS, a variant of Solaris). Parameterized nginx::params makes it possible to bind values to the parameters via hiera. Otherwise, the *?* operator on line 45 and elsewhere in params.pp fails due to an unrecognized operating system.

I have also fixed some hard-coded /etc/nginx paths to use $nx_conf_dir, consistently changed manifests and templates to refer to nginx::config (the actually instantiated class) instead of nginx::params, and changed the command to generate vhost_autogen.conf so that it will clear the file if there are no vhosts (otherwise old vhosts would still be present, which is not correct behavior for a managed file).

The new shell command uses *find*, with no absolute path specified, since I am not sure that it is uniformly in /usr/bin across platforms. If there is a more compatible way to do this I'd be happy to change it. The issue with just using */tmp/nginx.d/** is that it fails when there are no files, instead of returning 0 with no results.