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.