我如何在厨师中使用模板,数据库和环境?

Mar*_*ama 5 chef-infra chef-recipe

我有变量的模板.这些变量位于数据库中,并且取决于环境.例:

# Template
address =$foo

# Environment:
develoment

# Databag:
$foo = "sdfsdf"
Run Code Online (Sandbox Code Playgroud)

我如何结合所有这些?,我不知道在哪里放置信息.

在模板中

address = "Http://ffff/dfg/"
Run Code Online (Sandbox Code Playgroud)

我需要在这里放一个变量

address = $pepe
Run Code Online (Sandbox Code Playgroud)

在我的数据库中根据环境有以下数据:

 $pepe = "Http://ffff/dfg/"
 $pepep ="Http://ffff/dewrwerw/
Run Code Online (Sandbox Code Playgroud)

我不知道我应该在食谱中写些什么.

Dra*_*ter 11

模板:

address = <%= @pepe %>
Run Code Online (Sandbox Code Playgroud)

Databag:

{
  "_default": {
    "pepe": "Http://ffff/dfg/"
  },
  "staging": {
    "pepe": "Http://ffff/staging"
  },
  "production": {
    "pepe": "Http://ffff/prod"
  }
}
Run Code Online (Sandbox Code Playgroud)

食谱:

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

template '/path/to/file' do
  variables( pepe: data[node.chef_environment]['pepe'] )
end
Run Code Online (Sandbox Code Playgroud)