diff --git a/pillar.example b/pillar.example index a4a366b..aadce72 100644 --- a/pillar.example +++ b/pillar.example @@ -30,7 +30,15 @@ salt: # salt minion config: minion: + + # single master setup master: salt + + # multi master setup + master: + - salt_master_1 + - salt_master_2 + fileserver_backend: - git - roots diff --git a/salt/files/minion.d/_defaults.conf b/salt/files/minion.d/_defaults.conf index 2f70112..7c656eb 100644 --- a/salt/files/minion.d/_defaults.conf +++ b/salt/files/minion.d/_defaults.conf @@ -23,7 +23,26 @@ # Set the location of the salt master server. If the master server cannot be # resolved, then the minion will fail to start. +# master:salt +{%- if 'master' in cfg_minion -%} +{%- if cfg_minion['master'] is not string %} +master: + {% for name in cfg_minion['master'] -%} + - {{ name }} + {% endfor -%} +{%- else %} {{ get_config('master', 'salt') }} +{%- endif %} +{% elif 'master' in cfg_salt -%} +{%- if cfg_salt['master'] is not string %} +master: + {% for name in cfg_salt['master'] -%} + - {{ name }} + {% endfor -%} +{%- else %} +{{ get_config('master', 'salt') }} +{%- endif -%} +{%- endif %} # If multiple masters are specified in the 'master' setting, the default behavior # is to always try to connect to them in the order they are listed. If random_master is