Hiera Environment Wildcard

409 views
Skip to first unread message

phundisk

unread,
May 29, 2013, 3:05:31 PM5/29/13
to puppet...@googlegroups.com
I am looking to use hiera in my environment but I cannot get past one thing. In our current puppet code we have some case statements based on environments.  The case statements are like the following...

'production' { do this }
/^aw/ { do this } # this is for all AWS stuff
'aws' { do this } # this is the production like environment of AWS
otherenv { do this }
default { do this } # other server that default here

I would like hiera to do the following order, hostname, environment, common.  I would also like to create one YAML file for all the AW* fîles rather than create one for awtest, awsandbox, awetc.  Is there a way to do this in hiera that I am missing?  Or will I need to re work some logic in my puppet code?







_____________________________________________________
This email and any files transmitted with it are confidential and intended solely for the addressee.  If you received this email in error, please do not disclose the contents to anyone; kindly notify the sender by return email and delete this email and any attachments from your system.

© 2011 Currensee Inc. is a member of the National Futures Association (NFA) Member ID 0403251 | Over the counter retail foreign currency (Forex) trading may involve significant risk of loss. It is not suitable for all investors and you should make sure you understand the risks involved before trading and seek independent advice if necessary. Performance, strategies and charts shown are not necessarily predictive of any particular result and past performance is no indication of future results. Investor returns may vary from Trade Leader returns based on slippage, fees, broker spreads, volatility or other market conditions.

Currensee Inc | 54 Canal St 4th Floor | Boston, MA 02114 | +1.617.624.3824

Ellison Marks

unread,
May 30, 2013, 2:47:22 PM5/30/13
to puppet...@googlegroups.com
I don't think there's a wildcard match functionality for hiera like that. If you interpolate the environment variable in you hierarchy, it will try to match the result exactly.

On the other hand, if all of you "aw*" environments need the same data, I'm inclined to ask what they're doing in different environments?

Alex Farhadi

unread,
May 30, 2013, 3:30:41 PM5/30/13
to puppet...@googlegroups.com
So right now we use environment to both control specialized parameters related to different networks such as LDAP server, DNS servers, and other things that are related to the environment variable.  We also use unique environment names to setup different instances of our application.  For example, the environment sandbox, will create a version of our application that is configured as in app-sandbox, sprint will create an environment that is like app-sprint. (there are more configurations that this takes care of beyond the naming), AWSandbox will create one related to AWSandbox.

ENVS
sandbox, sprint, qaprod = office network
awsprint, awsandbox, awqaprod = AWS env
production = production network

Part of the original thinking of puppet design was to only handle the setups of these unique instances of our application (as we had multiple puppet servers per environment  BLAH ), the network environment based cases which set LDAP servers and other settings came after. 

So in reality, I have three main environments: office, aws, and production and I need multiple sub environments per environment due to application module we wrote.  Makes me want to do some re-writing of our application''s puppet module or maybe at least set another parameter within the host called like 'appEnv' or something.


--
You received this message because you are subscribed to a topic in the Google Groups "Puppet Users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/puppet-users/-snT2LD2hGY/unsubscribe?hl=en.
To unsubscribe from this group and all its topics, send an email to puppet-users...@googlegroups.com.
To post to this group, send email to puppet...@googlegroups.com.
Visit this group at http://groups.google.com/group/puppet-users?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Reply all
Reply to author
Forward
0 new messages