Yes, that will work. We actually do something slightly ickier, so the
data all stays in hiera:

hiera hierarchy:
   - nodes/%{hostname}
   - ...
   - roles/%{role}

nodes/foo.yaml:
...
role: desktop
classes:
   - "roles::%{role}"

node default {
   $role = hiera('role')
   include hiera('classes')
}


- Chad

On Wed, Aug 21, 2013 at 1:20 PM, JeremyCampbell
<[email protected]> wrote:
>
> I need to define data for roles so I add the 'role' dynamic data source.
>
> - "%{::environment}/%{::clientcert}"
> - "%{::clientcert}"
> - "%{::environment}
> - "%{::role}"
> - common
>
> Our site.pp uses a hostname regex to classify nodes into roles e.g.
>
> node /^ns\d+$/ {
>   include role::nameserver
> }
>
> Can we add the $role variable to the role class and hiera will use it? e.g.
>
> class role::nameserver {
>   $role = 'nameserver'
>   include base
>   include bind
>   include shorewall
> }
>
> Would this work? Is there a better pattern that doesn't involve having to
> define custom facts on the servers?
>
> --
> 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 post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/puppet-users.
> For more options, visit https://groups.google.com/groups/opt_out.



-- 
Chad M. Huneycutt

-- 
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 post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/puppet-users.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to