Estou tentando criar um estado fictício no Salt para extrair dependências de uma lista derivada de um pilar.
No meu top.sls
arquivo, eu tenho:
base:
'*':
- components
Então, em components.sls
, eu tenho:
{% if 'components' in pillar.items() %}
include:
{% for component in pillar.get('components',[]) %}
- {{ component }}
{% endfor %}
{% endif %}
{% if 'components' in pillar.items() %}
components:
require:
{% for component in pillar.get('components',[]) %}
- {{ component }}
{% endfor %}
{% endif %}
Quando verifico o conteúdo do pilar, vejo:
$ salt my-minion-id pillar.items
my-minion-id:
----------
components:
- a-dependency-name
Mas quando tento ver o conjunto de estados, vejo:
$ salt my-minion-id state.show_sls components
my-minion-id:
----------
...e é isso.
Meu objetivo final, aqui, é tratar o servo como hostil, por isso estou tentando puxar detalhes papel de pilares em vez de atribuir papéis em meus file_root
's top.sls
. Entendo que todo minion tem acesso total ao conteúdo do file_root, e não quero que um minion host conheça o firewall ou serviços específicos de qualquer nó não relacionado.
Editar:
Descobri que minha estrutura de pilar não suportava a fusão de pilares, pois usava listas, então mudei para uma estrutura de pilar que usava ditados sem valor:
my-minion-id:
----------
components:
----------
a-dependency-name:
None