On 9/29/16 9:52 AM, Ugo Bellavance wrote:
> 
> 
> On Wednesday, September 28, 2016 at 8:07:26 PM UTC-4, Ugo Bellavance wrote:
> 
> 
> 
>     On Wednesday, September 28, 2016 at 4:35:50 PM UTC-4, Garrett
>     Honeycutt wrote:
> 
>         On 9/28/16 3:54 PM, Ugo Bellavance wrote:
>         > Hi,
>         >
>         > I am working with this module
>         https://github.com/voxpupuli/puppet-nginx
>         <https://github.com/voxpupuli/puppet-nginx>
>         > to get some nginx servers up.  Here is my hiera config for a
>         vhost:
>         >
>         > nginx::nginx_vhosts:
>         >   'website1.domain.com <http://website1.domain.com>':
>         >     proxy: 'http://website1.internal'
>         >
>         > I would like to have my logs in one directory per vhost.
>         >
>         > Here is what I have for now:
>         >
>         > nginx::http_access_log:
>         "%{hiera('nginx::config::log_dir')}/access_log"
>         >
>         >
>         > In the template, it looks like that:
>         >
>         > "${::nginx::config::log_dir}/${name_sanitized}.access.log
>         ${format_log}",
>         >
>         > Would there be a way to set it in hiera so that it is the
>         equivalent of
>         > this:
>         >
>         > "${::nginx::config::log_dir}/${name_sanitized}/access.log
>         ${format_log}",
>         >
>         > Of course, I would like to avoid having to edit the template.
>         >
>         > Thanks,
>         >
> 
>         Hi Ugo,
> 
>         nginx_vhosts has a parameter named access_log. You could use
>         that as
>         follows.
> 
>         nginx::nginx_vhosts:
>           'website1.domain.com <http://website1.domain.com>':
>             proxy: 'http://website1.internal'
>             access_log: '/whatever/access.log'
> 
>         
> https://github.com/voxpupuli/puppet-nginx/blob/master/manifests/resource/vhost.pp#L145
>         
> <https://github.com/voxpupuli/puppet-nginx/blob/master/manifests/resource/vhost.pp#L145>
> 
> 
> 
>     Makes sense, I didn't see that one. In fact I was looking for a way
>     to make it automatic instead of always have to enter the log path.
> 
>  
> I tested it but the system complains that the directory doesn't exist.
>  I wonder how I could easily create a folder for each vhost, and I don't
> know how it could be managed automatially in the module since puppet
> doesn't create parent directories for File directives.  It looks like
> I'll have to stick to the default.
> 
> That makes me think of something.  Could I enumerate the names of all my
> vhosts in hiera, and have only one vhost directive?  Something like
> here https://blog.serverdensity.com/deploying-nginx-with-puppet/ but
> with something like a table of vdomain values.
> 
> It looks very hard to find relevant information on how to use hiera...
> but it is such an excellent tool!
> 

Hi Ugo,

Suggest creating a profile class that includes nginx as well as ensuring
that all those directories exist first.

An alternative would be to send a pull request to the nginx module that
runs `mkdir -p` for you when specifying a custom access_log.

Best regards,
-g

-- 
Garrett Honeycutt
@learnpuppet
Puppet Training with LearnPuppet.com
Mobile: +1.206.414.8658

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/64c906b4-8214-c635-ef83-edba0469c517%40garretthoneycutt.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to