2013-02-18 6 views
5

Ho modelli con variabili. queste variabili sono in databags e dipendono dall'ambiente. Esempio:Come utilizzo modelli, databags e ambienti nello chef?

# Template 
address =$foo 

# Environment: 
develoment 

# Databag: 
$foo = "sdfsdf" 

Come faccio a combinare tutto questo ?, non so dove mettere le informazioni.

Nel modello

address = "Http://ffff/dfg/" 

ho bisogno di mettere qui una variabile

address = $pepe 

Nel mio databag in essere i seguenti dati a seconda dell'ambiente:

$pepe = "Http://ffff/dfg/" 
$pepep ="Http://ffff/dewrwerw/ 

I don' so cosa dovrei scrivere nella ricetta.

+0

, la prego di essere più precisi? –

risposta

9

Template:

address = <%= @pepe %> 

Databag:

{ 
    "_default": { 
    "pepe": "Http://ffff/dfg/" 
    }, 
    "staging": { 
    "pepe": "Http://ffff/staging" 
    }, 
    "production": { 
    "pepe": "Http://ffff/prod" 
    } 
} 

Ricetta:

data = data_bag_item('databagname', 'itemname') 

template '/path/to/file' do 
    variables(pepe: data[node.chef_environment]['pepe']) 
end 
+0

Grazie questo è un bisogno, tu sei il migliore –

Problemi correlati