New version of salt-formula from Saltstack
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

46 lines
1.1KB

  1. {%- from "salt/map.jinja" import master with context %}
  2. {%- if master.enabled %}
  3. include:
  4. - salt.master.service
  5. {%- if master.minion is defined %}
  6. /srv/salt/minion_keys:
  7. file.directory:
  8. - makedirs: true
  9. - require:
  10. - pkg: salt_master_packages
  11. {%- for name, environment in master.environment.iteritems() %}
  12. /srv/salt/env/{{ name }}/minion_keys:
  13. file.symlink:
  14. - target: /srv/salt/minion_keys
  15. - require:
  16. - file: /srv/salt/env/{{ name }}
  17. - file: /srv/salt/minion_keys
  18. {%- endfor %}
  19. {%- for minion in master.minion %}
  20. generate_key_{{ minion.name }}:
  21. cmd.run:
  22. - name: salt-key --gen-keys={{ minion.name }} --gen-keys-dir=/srv/salt/minion_keys
  23. - unless: "test -e /srv/salt/minion_keys/{{ minion.name}}.pem"
  24. - require:
  25. - file: /srv/salt/minion_keys
  26. copy_generated_key_{{ minion.name }}:
  27. cmd.run:
  28. - name: cp /srv/salt/minion_keys/{{ minion.name }}.pub /etc/salt/pki/master/minions/{{ minion.name }}
  29. - unless: "test -e /etc/salt/pki/master/minions/{{ minion.name }}"
  30. - require:
  31. - cmd: generate_key_{{ minion.name }}
  32. {%- endfor %}
  33. {%- endif %}
  34. {%- endif %}