diff --git a/salt/defaults.yaml b/salt/defaults.yaml index 8a82d80..ae984d4 100644 --- a/salt/defaults.yaml +++ b/salt/defaults.yaml @@ -4,6 +4,7 @@ salt: install_packages: True use_pip: False clean_config_d_dir: True + restart_via_at: False config_path: /etc/salt diff --git a/salt/minion.sls b/salt/minion.sls index 9d141b7..852ebe2 100644 --- a/salt/minion.sls +++ b/salt/minion.sls @@ -16,12 +16,30 @@ salt-minion: service.running: - enable: True - name: {{ salt_settings.minion_service }} +{%- if not salt_settings.restart_via_at %} - watch: -{% if salt_settings.install_packages %} + {%- if salt_settings.install_packages %} - pkg: salt-minion -{% endif %} + {%- endif %} - file: salt-minion - file: remove-old-minion-conf-file +{%- else %} +at: + pkg.installed: [] + +restart-salt-minion: + cmd.wait: + - name: echo salt-call --local service.restart salt-minion | at now + 1 minute + - order: last + - require: + - pkg: at + - watch: + {%- if salt_settings.install_packages %} + - pkg: salt-minion + {%- endif %} + - file: salt-minion + - file: remove-old-minion-conf-file +{%- endif %} {% if salt_settings.minion_remove_config %} remove-default-minion-conf-file: