|
| 1 | +# -*- coding: utf-8 -*- |
| 2 | +# vim: ft=sls |
| 3 | +# |
| 4 | +{#- Get the `tplroot` from `tpldir` #} |
| 5 | +{%- set tplroot = tpldir.split('/')[0] %} |
| 6 | +{%- from tplroot ~ "/map.jinja" import mapdata as chrome with context %} |
| 7 | +
|
| 8 | +{%- set policy_path = 'C:/Windows/PolicyDefinitions' %} |
| 9 | +{%- set source_root = 'C:/Windows/Temp/Chrome/full_extract/windows/admx' %} |
| 10 | +{%- set ChromeTmp = 'C:/Windows/Temp/Chrome' %} |
| 11 | +{%- set no_update_value = chrome.policy_extras.settings.no_update | string | lower %} |
| 12 | +{%- set hklm_root = 'HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome' %} |
| 13 | +{%- set chrome_files = { |
| 14 | + 'google_admx': {'src': source_root ~ '/google.admx', 'dest': policy_path ~ '/google.admx'}, |
| 15 | + 'chrome_admx': {'src': source_root ~ '/chrome.admx', 'dest': policy_path ~ '/chrome.admx'}, |
| 16 | + 'chrome_adml': {'src': source_root ~ '/en-US/chrome.adml', 'dest': policy_path ~ '/en-US/chrome.adml'} |
| 17 | + } |
| 18 | +%} |
| 19 | +
|
| 20 | +Cleanup Chrome Temp Directory: |
| 21 | + file.absent: |
| 22 | + - name: '{{ ChromeTmp }}' |
| 23 | + - require: |
| 24 | + {%- for id in chrome_files.keys() %} |
| 25 | + - file: 'Deploy file {{ id }}' |
| 26 | + {%- endfor %} |
| 27 | +
|
| 28 | +{%- if chrome.policy_extras.settings.home_page %} |
| 29 | +Configure Chrome Homepage: |
| 30 | + reg.present: |
| 31 | + - name: '{{ hklm_root }}' |
| 32 | + - vname: 'HomepageLocation' |
| 33 | + - vdata: '{{ chrome.policy_extras.settings.home_page }}' |
| 34 | + - vtype: REG_SZ |
| 35 | + - require: |
| 36 | + {%- for id in chrome_files.keys() %} |
| 37 | + - file: 'Deploy file {{ id }}' |
| 38 | + {%- endfor %} |
| 39 | +{%- endif %} |
| 40 | +
|
| 41 | +{%- if chrome.policy_extras.settings.managed_bookmarks_enabled | string | lower == 'true' and chrome.policy_extras.settings.managed_bookmarks %} |
| 42 | +Configure Managed Bookmarks: |
| 43 | + reg.present: |
| 44 | + - name: '{{ hklm_root }}' |
| 45 | + - vname: 'ManagedBookmarks' |
| 46 | + - vdata: {{ chrome.policy_extras.settings.managed_bookmarks | json }} |
| 47 | + - vtype: REG_SZ |
| 48 | + - require: |
| 49 | + {%- for id in chrome_files.keys() %} |
| 50 | + - file: 'Deploy file {{ id }}' |
| 51 | + {%- endfor %} |
| 52 | +{%- endif %} |
| 53 | +
|
| 54 | +{%- for id, paths in chrome_files.items() %} |
| 55 | +Deploy file {{ id }}: |
| 56 | + file.copy: |
| 57 | + - name: '{{ paths.dest }}' |
| 58 | + - source: '{{ paths.src }}' |
| 59 | + - force: True |
| 60 | + - makedirs: True |
| 61 | + - require: |
| 62 | + - archive: 'Extract Chrome Bundle' |
| 63 | +{%- endfor %} |
| 64 | +
|
| 65 | +{%- if no_update_value == 'true' %} |
| 66 | +Disable Chrome Auto-Update: |
| 67 | + reg.present: |
| 68 | + - name: '{{ hklm_root | replace('\\Chrome', '\\Update') }}' |
| 69 | + - vname: 'UpdateDefault' |
| 70 | + - vdata: 0 |
| 71 | + - vtype: REG_DWORD |
| 72 | + - require: |
| 73 | + {%- for id in chrome_files.keys() %} |
| 74 | + - file: 'Deploy file {{ id }}' |
| 75 | + {%- endfor %} |
| 76 | +{%- endif %} |
| 77 | +
|
| 78 | +{%- if chrome.policy_extras.settings.password_manager_enabled | string | lower == 'false' %} |
| 79 | +Disable Chrome Password Manager: |
| 80 | + reg.present: |
| 81 | + - name: '{{ hklm_root }}' |
| 82 | + - vname: 'PasswordManagerEnabled' |
| 83 | + - vdata: 0 |
| 84 | + - vtype: REG_DWORD |
| 85 | + - require: |
| 86 | + {%- for id in chrome_files.keys() %} |
| 87 | + - file: 'Deploy file {{ id }}' |
| 88 | + {%- endfor %} |
| 89 | +{%- endif %} |
| 90 | +
|
| 91 | +Ensure Chrome TempDir Exists: |
| 92 | + file.directory: |
| 93 | + - name: '{{ ChromeTmp }}' |
| 94 | + - makedirs: True |
| 95 | +
|
| 96 | +Extract Chrome Bundle: |
| 97 | + archive.extracted: |
| 98 | + - name: '{{ ChromeTmp }}/full_extract' |
| 99 | + - source: 'https://dl.google.com/dl/edgedl/chrome/policy/policy_templates.zip' |
| 100 | + - skip_verify: True |
| 101 | + - enforce_toplevel: False |
| 102 | + - overwrite: True |
| 103 | + - require: |
| 104 | + - file: 'Ensure Chrome TempDir Exists' |
0 commit comments