- From: John Dyer <
>
- To: "
" <
>
- Subject: [chef] Re: Re: including erubis fragments within a template
- Date: Thu, 28 Jun 2012 08:55:20 -0400
"Partials" would be kind of a nice addition to chef ... IMHO
-john
On Jun 28, 2012, at 8:42 AM, Mike
<
>
wrote:
>
Now that I re-read your email, I see the concept of embedded template
>
within a template.
>
That makes it more complex.
>
I don't know about that one yet.
>
>
On Thu, Jun 28, 2012 at 8:39 AM, Mike
>
<
>
>
wrote:
>
> Hi Bryan,
>
>
>
> Here's a segment of a configuration file that uses 'if' statements:
>
> https://github.com/DataDog/cookbooks/blob/master/datadog/templates/default/datadog.conf.erb#L21-53
>
> (Do as I say, not as I do: the node attribute accessors should
>
> probably be strings vs symbols, but that's a future improvement).
>
>
>
> My template is referencing directly against node attributes, you may
>
> with to pass variables to the template resource for config items that
>
> aren't exactly node attributes.
>
>
>
> More on templates: http://wiki.opscode.com/display/chef/Templates
>
>
>
> Best,
>
> -M
>
>
>
> On Thu, Jun 28, 2012 at 8:32 AM, Bryan Berry
>
> <
>
>
> wrote:
>
>> Dear Chefs,
>
>>
>
>> I work on almost basis with the Enterprise Java container known as JBoss
>
>> AS
>
>> 7. JBoss's main configuration file, standalone-full.xml, is a whopping
>
>> 553
>
>> lines long. While it is very long, it actually quite cleanly structured,
>
>> especially when compared to something like sendmail.cf
>
>>
>
>> Templating such a large file is a mega PITA. JBoss AS 7 is nicely
>
>> componentized so that you can easily turn on and off modules. This process
>
>> would be a billion times easier and more readable if I could include
>
>> fragments within and erubis template like this:
>
>>
>
>> <?xml version='1.0' encoding='UTF-8'?>
>
>>
>
>> <server xmlns="urn:jboss:domain:1.2">
>
>> <extensions>
>
>> <% if @infinispan -%>
>
>> <extension module="org.jboss.as.clustering.infinispan"/>
>
>> <% end -%>
>
>> <extension module="org.jboss.as.web"/>
>
>> <% if @webservices -%>
>
>> <extension module="org.jboss.as.webservices"/>
>
>> <% end -%>
>
>> <extension module="org.jboss.as.weld"/>
>
>> </extensions>
>
>> <% if @infinispan
>
>> include_template "infinispan.xml.erb"
>
>> end -%>
>
>> <% if @webservices
>
>> include_template "webservices.xml.erb"
>
>> end -%>
>
>> <socket-binding-group name="standard-sockets" >
>
>> ......
>
>> </socket-binding-group>
>
>> </server>
>
>>
>
>> As you can see, this is far more readable than adding complex logic to
>
>> already large file
>
>>
>
>> Is this at all feasible currently in Chef? It would make life a lot easier
>
>> for me
Archive powered by MHonArc 2.6.16.