Eu tenho duas chaves ssh que estou tentando implantar em um dos meus subordinados. Mas não consigo implementá-lo. Erro. Aqui estão os init.sls
pilares:
/xxx/yyy/zzz/id_rsa:
file.managed:
- source: salt://private/id_rsa
/xxx/yyy/zz/id_rsa.pub:
file.managed:
- source: salt://private/id_rsa.pub
Aqui está o meu init.sls
estado:
ssh:
file.managed:
- name: {{ pillar['private'] }}
Eu devo estar fazendo algo errado (obviamente), mas não tenho certeza do quê. Alguma sugestão?
ssh
deployment
ssh-keys
saltstack
secure212
fonte
fonte
Respostas:
O sistema Salt Pillar não possui um arquivo init.sls. Os estados e os pilares têm um arquivo top.sls. Estados subdiretórios podem ter um arquivo init.sls.
Etapa 1: defina seus usuários em /srv/pillar/users.sls
Etapa 2: adicione o novo pilar a /srv/pillar/top.sls
Etapa 3: use o jinja para mapear o pilar para os estados em /srv/salt/user/init.sls
Não se esqueça de sincronizar os lacaios com os novos pilares!
fonte
{% for user, data in salt['pillar.get']('users', {}).iteritems() %}
Isso mudará significativamente o arquivo sls; se eu apresentar um exemplo prático, eu o publicarei.Ele provavelmente deve-se notar que, em relação à pergunta inicial, não há outra solução simples se
source: salt://...
formato não funciona comfile.managed
- como ainda aconteceu comsalt-ssh
por causa do bug https://github.com/saltstack/salt/issues/38458 que era desde que corrigido - e isso é mudar paracontents:
o pilar externo da árvore de arquivos, que também é apoiado por arquivos no mestre.Ele
file_tree
ext_pillar
está documentado em https://docs.saltstack.com/en/latest/ref/pillar/all/salt.pillar.file_tree.html#module-salt.pillar.file_tree atualmente. Existe desde a versão 2015.5.0, por isso é mais recente que a pergunta e resposta originais, mas é uma solução que está razoavelmente bem disponível hoje.De fato, também está nas Perguntas frequentes em https://docs.saltstack.com/en/latest/faq.html#is-it-possible-to-deploy-a-file-to-a-specific-minion-without -outros-minions-tendo-acesso-a
fonte