Seu código será executado no contexto de um nó, portanto, seu código Ruby ( Dir.foreach
) precisará examinar o cache local do nó. Na minha instalação do Chef, o caminho do cache local é necessário para o meu modelo de configuração chef-client, portanto, eu tenho este atributo: node[:chef][:cache_path]
.
Então:
Dir.foreach("#{node[:chef][:cache_path]}/cookbooks/the_cookbook/templates/default/shared/")
EDITAR: Nas configurações modernas do Chef, os modelos não existirão no servidor até que sejam necessários. Você precisará adicioná-lo ao seu client.rb :
no_lazy_load true