- From: DV <
>
- To:
- Subject: [chef] Re: Re: How to configure opscode nginx properly
- Date: Wed, 23 Apr 2014 22:31:04 -0700
What I think template's "cookbook" parameter does is allow you to
override templates from other cookbooks. But I've never tested it
myself so I don't know for sure. So if you have a template definition
in your wrapper cookbook, and set the template definition's "cookbook"
parameter to "some-other-cookbook", it would allow you to override
some-other-cookbook's template.
On Tue, Apr 22, 2014 at 3:55 AM, Steve Hummingbird
<
>
wrote:
>
Yes, that is exactly what I had tried. The docs say the following:
>
>
"cookbook: The cookbook in which a file is located (if it is not located in
>
the current cookbook). The default value is the current cookbook."
>
>
I noticed that if I specify what you propose, chef looks for the template in
>
the specified cookbook, which to my understand lines up with the docs. So
>
using ‘cookbook “nginx”’, tells chef to look for the template in the nginx
>
cookbook instead of the wrapper.
>
What I actually would need to do is modify the nginx cookbook to have
>
‘cookbook “wrapper-nginx”’ inside the definition, but that wouldn’t make
>
much sense.
>
But I see there is a big refactoring planned for that cookbook [1] anyway. I
>
think I will file a bug against the ‘default_site_enabled’ option
>
nonetheless.
>
>
>
[1] https://tickets.opscode.com/browse/COOK-2781
>
>
>
>
On 22 Apr 2014, at 00:09, DV
>
<
>
>
wrote:
>
>
No, what I'm saying is that your template definition should look like this:
>
>
template "#{node['nginx']['dir']}/sites-available/#{params[:name]}" do
>
source 'wrapper_site.erb'
>
owner 'root'
>
group 'root'
>
mode '0644'
>
notifies :reload, 'service[nginx]'
>
variables ({:site => params[:name], :port => params[:port],
>
:autoindex => params[:autoindex]})
>
cookbook "nginx"
>
end
>
>
I believe this way you're telling Chef that you're overriding a
>
template from "nginx" cookbook, so it won't get all confused.
>
>
On Mon, Apr 21, 2014 at 4:08 AM, Steve Hummingbird
>
<
>
>
wrote:
>
>
Thanks for your reply. However telling the wrapper cookbook that it should
>
use the nginx default template is exactly the opposite of what I want.
>
I want to use my own config instead of the default config that is bundled
>
with the nginx cookbook.
>
So, to what I understand, it should work if I set ‘default_site_enabled’ to
>
false, which should prevent the default config from being used. However, for
>
what I have been trying this does not seem to work.
>
Anyway, I resorted to leaving everything in its default location, which
>
seems to at least solve that problem. Not the best solution, but at least it
>
seems to work. I still haven’t been able to figure out how that part of the
>
cookbook is supposed to work.. Looks pretty scary to me, but I am still
>
pretty new to chef.
>
>
>
On 21 Apr 2014, at 07:28, DV
>
<
>
>
wrote:
>
>
Try adding cookbook "nginx" to this template definition:
>
>
https://github.com/st-h/wrapper-nginx/blob/master/definitions/definition.rb#L23
>
>
You can see the template's "cookbook" attribute description here:
>
>
http://docs.opscode.com/resource_template.html#attributes
>
>
On Sat, Apr 19, 2014 at 11:25 AM, Steve Hummingbird
>
<
>
>
wrote:
>
>
Hmm, I am not really sure where and why I should add “chef-server”. But
>
after all my desperate attempts I have commited a wrapper cookbook for nginx
>
to github: https://github.com/st-h/wrapper-nginx
>
It’s designed after an example I had gotten from #chef irc yesterday. It
>
initially appeared to work fine, but after I had set the [‘nginx’][‘dir’] to
>
a custom location everything seems to fall apart again. The nginx cookbook
>
always installs the default config, even if it has been told to not do so.
>
This has really started to get frustrating. :( So, any help is really
>
appreciated…
>
>
>
>
On 19 Apr 2014, at 02:15, DV
>
<
>
>
wrote:
>
>
Are you specifying "cookbook" property in your cookbook's template
>
definition? Try specifying cookbook "chef-server" and see what
>
happens.
>
>
On Wed, Apr 16, 2014 at 10:40 AM, Steve Hummingbird
>
<
>
>
wrote:
>
>
I have been running into some issues when configuring nginx using the
>
opscode cookbook.
>
I have created a wrapper cookbook, which replaces the default config by
>
putting my config into /etc/nginx/sites-available/default
>
However, the opscode cookbook always replaces that config with the default
>
sample config. So, on every chef run the nginx cookbook notices that the
>
default config is no longer there and replaces my config, then my wrapper
>
cookbook notices that the config is not correct and replaces that file with
>
my config again.
>
I was having the same issues when installing from source as well as using
>
the ubuntu package installation.
>
So, in the end I am getting the feeling that I might be missing something
>
fundamentally or a lot of other people must have been running into the same
>
issue. How do I configure nginx the right way using the opscode cookbook?
>
>
Thanks,
>
Steve
>
>
>
>
>
--
>
Best regards, Dmitriy V.
>
>
>
>
>
>
--
>
Best regards, Dmitriy V.
>
>
>
>
>
>
--
>
Best regards, Dmitriy V.
>
>
--
Best regards, Dmitriy V.
Archive powered by MHonArc 2.6.16.