Tengo dos claves ssh que estoy tratando de implementar en uno de mis secuaces. Pero parece que no puedo lograr que se implemente. Se equivoca. Aquí están los 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
Aquí está mi init.sls
estado:
ssh:
file.managed:
- name: {{ pillar['private'] }}
Debo estar haciendo algo mal (obviamente), pero no estoy seguro de qué. ¿Alguna sugerencia?
ssh
deployment
ssh-keys
saltstack
seguro212
fuente
fuente
Respuestas:
El sistema Salt Pillar no tiene un archivo init.sls. Tanto los estados como los pilares tienen un archivo top.sls. Los estados que son subdirectorios pueden tener un archivo init.sls.
Paso 1: Defina sus usuarios en /srv/pillar/users.sls
Paso 2: agregue el nuevo pilar a /srv/pillar/top.sls
Paso 3: use jinja para asignar el pilar a los estados en /srv/salt/user/init.sls
¡No olvides sincronizar los minions con los nuevos pilares!
fuente
{% for user, data in salt['pillar.get']('users', {}).iteritems() %}
esto cambiará significativamente el archivo sls en todo momento; si se me ocurre un ejemplo de trabajo, lo publicaré.Probablemente debería tenerse en cuenta que, en relación con la pregunta original, hay otra solución simple si el
source: salt://...
formato no funcionafile.managed
, como sucediósalt-ssh
debido al error https://github.com/saltstack/salt/issues/38458 que fue desde fijo - y eso es cambiarcontents:
con el pilar externo del árbol de archivos, que también está respaldado por archivos en el maestro.El
file_tree
ext_pillar
documento está documentado en https://docs.saltstack.com/en/latest/ref/pillar/all/salt.pillar.file_tree.html#module-salt.pillar.file_tree hoy en día. Ha existido desde la versión 2015.5.0, por lo que es más nuevo que la pregunta y la respuesta original, sin embargo, es una solución que está razonablemente disponible hoy en día.De hecho, también está en las preguntas frecuentes en https://docs.saltstack.com/en/latest/faq.html#is-it-possible-to-deploy-a-file-to-a-specific-minion-without -otros-minions-teniendo-acceso-a-él
fuente