Jak ustawić zmienną w szablonie szefa kuchni?


W oficjalnym dokumencie jest tylko jeden przypadek użycia dla
zmiennej
szablonu: dzwoniący musi przekazać hash.
Jednak dla mnie mam bardzo prostą opcję użytkowania. Chcę tylko ustawić nazwę serwera w pliku szablonów konfiguracji kodu Sensu <client.json.erb <="" code=""> </client.json.erb>Oto plik szablonu:
{
"client": {
"name": "<%= @server_name %>",
"address": "<%= node.ipaddress %>",
"keepalive": {
"thresholds": {
"warning": 90,
"critical": 180
}
},
"subscriptions": [ "default" ]
}
}

To jest mój kod szefa kuchni:
server_name = "server1.example.com"template "/etc/sensu/conf.d/client.json" do
variables({
:server_name => server_name
})
source "sensu-template/conf.d/client.json.erb"
end

Okazuje się, że plik konfiguracyjny to:
{
"client": {
"name": "{}",
"address": "10.0.1.1",
"keepalive": {
"thresholds": {
"warning": 90,
"critical": 180
}
},
"subscriptions": [ "default" ]
}
}

Jak poprawnie przekazać nazwę zmiennej do szablonu?
Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

To rozwiązało mój problem:
template "/etc/sensu/conf.d/client.json" do
variables( 'server_name': server_name
)
source "sensu-template/conf.d/client.json.erb"
end

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się