diff --git a/salt/defaults.yaml b/salt/defaults.yaml index 3e743e4..b35c418 100644 --- a/salt/defaults.yaml +++ b/salt/defaults.yaml @@ -11,6 +11,7 @@ salt: use_pip: false clean_config_d_dir: true restart_via_at: false + parallel: true # salt.git module argument config_path: /etc/salt diff --git a/salt/formulas.sls b/salt/formulas.sls index 7731d14..ad7b09a 100644 --- a/salt/formulas.sls +++ b/salt/formulas.sls @@ -34,13 +34,15 @@ {%- do processed_basedirs.append(basedir) %} {{ basedir }}: file.directory: - - parallel: {{ grains['saltversioninfo'] >= [2017, 7, 0] }} + - parallel: {{ salt_settings.parallel }} {%- for key, value in salt['pillar.get']('salt_formulas:basedir_opts', {'makedirs': True}).items() %} - {{ key }}: {{ value }} - - user: {{ salt_settings.rootuser }} - - group: {{ salt_settings.rootgroup }} {%- endfor %} + - user: {{ salt_settings.rootuser }} + {%- if grains.kernel != 'Windows' %} + - group: {{ salt_settings.rootgroup }} + {%- endif %} {%- endif %} # Setup the formula Git repository @@ -54,7 +56,7 @@ {{ gitdir_env }}: git.latest: - name: {{ baseurl }}/{{ f_name }}.git - - parallel: {{ grains['saltversioninfo'] >= [2017, 7, 0] }} + - parallel: {{ salt_settings.parallel }} - target: {{ gitdir }} {%- for key, value in options.items() %} - {{ key }}: {{ value }} diff --git a/salt/init.sls b/salt/init.sls index e0eecb1..bc1a5d6 100755 --- a/salt/init.sls +++ b/salt/init.sls @@ -6,7 +6,7 @@ include: {%- if salt.config.get('salt_formulas:list') %} - salt.formulas {%- endif %} - {%- if salt.config.get('salt:master')|length > 1 %} + {%- if salt.config.get('salt:master')|length > 1 and grains.kernel != 'Windows' %} - salt.master {%- endif %} {%- if salt.config.get('salt:cloud')|length > 1 %} diff --git a/salt/master.sls b/salt/master.sls index 10d5bb3..3a6835d 100644 --- a/salt/master.sls +++ b/salt/master.sls @@ -7,6 +7,8 @@ include: - .pin {% endif %} +{%- if grains.kernel != 'Windows' %} + {%- if grains.os == 'MacOS' %} salt-master-macos: file.managed: @@ -75,3 +77,12 @@ remove-default-master-conf-file: remove-old-master-conf-file: file.absent: - name: {{ salt_settings.config_path }}/master.d/_defaults.conf + +{%- else %} + +salt-master-install-skip: + test.show_notification: + - text: | + No salt-master state for Windows + +{%- endif %} diff --git a/salt/osfamilymap.yaml b/salt/osfamilymap.yaml index 1a530d8..5dc1a9f 100644 --- a/salt/osfamilymap.yaml +++ b/salt/osfamilymap.yaml @@ -15,11 +15,14 @@ {%- set suse_testing_repo = ':/products:/next:/testing' if [osfamily_lower, osrelease] == ['suse', '15.2'] else '' %} #from template-formula -{%- if grains.os == 'MacOS' %} -{%- set macos_rootuser = salt['cmd.run']("stat -f '%Su' /dev/console") %} -{%- set macos_rootgroup = salt['cmd.run']("stat -f '%Sg' /dev/console") %} +{%- if grains.os_family == 'MacOS' %} +{%- set rootuser = salt['cmd.run']("stat -f '%Su' /dev/console") %} +{%- set rootgroup = salt['cmd.run']("stat -f '%Sg' /dev/console") %} +{%- elif grains.os_family == 'Windows' %} +{%- set rootuser = salt['cmd.run']("id -un") %} {%- endif %} + Debian: pkgrepo: 'deb http://repo.saltstack.com/{{ py_ver_repr or 'apt' }}/{{ osfamily_lower }}/{{ osmajorrelease }}/amd64/{{ salt_release }} {{ oscodename }} main' key_url: 'https://repo.saltstack.com/{{ py_ver_repr or 'apt' }}/{{ osfamily_lower }}/{{ osmajorrelease }}/amd64/{{ salt_release }}/SALTSTACK-GPG-KEY.pub' @@ -130,6 +133,7 @@ Windows: salt_minion: salt-minion{{ '-' ~ py_ver_repr if py_ver_repr else '' }} config_path: 'C:\salt\conf' minion_service: salt-minion + rootuser: {{ rootuser | d('') }} MacOS: salt_minion: salt @@ -138,5 +142,5 @@ MacOS: config_path: /private/etc/salt minion_service: com.saltstack.salt.minion ## from template-formula - rootuser: {{ macos_rootuser | d('') }} - rootgroup: {{ macos_rootgroup | d('') }} + rootuser: {{ rootuser | d('') }} + rootgroup: {{ rootgroup | d('') }} diff --git a/salt/osmap.yaml b/salt/osmap.yaml index 2224a23..bd8ba2c 100644 --- a/salt/osmap.yaml +++ b/salt/osmap.yaml @@ -61,3 +61,6 @@ MacOS: master_service: com.saltstack.salt.master salt_master_macos_plist_hash: 8435331b2d48ca8f0759f216e5b15ec9171a4216b1441328c732c6906728b7c9 salt_minion_macos_plist_hash: 26b33da12e0d8960ee96b488c8352002c22a377c19bf3df3f986a1e49eca8b20 + +Windows: + parallel: false # not supported on windows/cygwin