- Tem certeza de que deseja usar salt-ssh ("Execute salt commands e states over ssh sem instalar um salt-minion."). Você só precisa fazer isso se não puder instalar o minion salgado em seus minions
- Onde você colocou seus estados? Normalmente, na configuração / etc / salt / master, você escreve o caminho onde seus arquivos de estado devem estar
- Não use o estado fornecido no exemplo literalmente. Tenho certeza de que você não pode ter um espaço no declaração de id (
add script:
). - Sua mensagem de erro é desconhecida para mim. Este tópico aqui faz a seguinte sugestão: "O erro msgpack é muito enganador, já que é totalmente não relacionado Parece que um dos seus arquivos server.conf tem utf-8 inválido em um lacaio e o arquivo não existe no outro? " Eu suspeito strongmente, o espaço ('') em seu ID de estado. Na minha experiência, SaltStack pode cuspir mensagens de erro bastante enganosas se você tiver caracteres inválidos em seus arquivos de estado ou pilar.
Dicas extras:
- Procure aqui para obter informações sobre como configurar sua árvore de estados.
- Talvez use uma instalação pré-instalada do SaltStack (docker, Vagrant?) que já funciona para aprender como funciona. Como o UtahDave é bastante ativo no SaltStack, eu iria com sua demonstração (Aviso: não testei isso sozinho!)
Atualizar : quando você usa file.managed:
- o parâmetro
source
defile.managed
é o caminho no seu mestre (relativo ao seu caminho de estado), não o destino. - você precisa especificar o caminho no destino, é por isso que está obtendo o erro: "O arquivo especificado pam-setup-access não é um caminho absoluto"
Exemplo:
/root/bin/updater/scripts/pam-setup-access
file.managed:
- source: salt://files/pam-setup-access
é o mesmo que:
some-arbitrary-id
file.managed:
- name: /root/bin/updater/scripts/pam-setup-access
- source: salt://files/pam-setup-access
O mesmo vale para cmd.run.
Leia o tutorial geral SaltStack. Quando você projeta estados, não importa se você usa sal-ssh ou sal. Não deixe que isso te confunda.