Формула tpl-yb-settings-formula
Формула-шаблон для управления настройками веб-браузера Yandex.
Доступные состояния
Состояние tpl-yb-settings
Мета-состояние (состояние, которое включает в себя другие состояния).
Устанавливает ссылку на Web Mail.
Имеет зависимость от tpl-yb-settings.install через список include.
Состояние tpl-yb-settings.install
Загружает управляемые и рекомендуемые файлы политик в файловую системы агента.
Состояние tpl-yb-settings.clean
Удаляет управляемые и рекомендуемые файлы политик из файловой системы агента.
Пример файла pillar.example
tpl-yb-settings:
# Override map.jinja
lookup:
# Переопределите значение map.jinja
policies:
# Задайте параметры управляемых политик
managed:
# Задайте имя файла с управляемыми политиками (.json), который будет помещен в файловую систему агента
name: "managed_policies"
# Задайте имя файла с управляемыми политиками (.json) для загрузки на агент, этот файл может быть помещен как на
# сервере управления, так и на сервере HTTP(S) или FTP server. Значение может быть пустой строкой
source: "salt://tpl-yb-settings/files/managed_policies.json"
# Задайте параметры рекомендуемых политик
recommended:
# SЗадайте имя файла с рекомендуемыми политиками (.json), который будет помещен в файловую систему агента
name: "recommended_policies"
# Задайте имя файла с рекомендуемыми политиками (.json) для загрузки на агент, этот файл может быть помещен как на
# сервере управления, так и на сервере HTTP(S) или FTP server. Значение может быть пустой строкой
source: "salt://tpl-yb-settings/files/recommended_policies.json"
Написание формулы типа tpl-yb-settings
-
Скопируйте формулу-шаблон (
tpl-yb-settings) в новую директорию с новым названием (my-yb-settings):$ tar -xvf ~/Downloads/inno-lcm-salt-formulas-0.11.0.tar.gz \ --strip-components 3 \ -C ~/ \ ./formulas/tpl-yb-settings-formula/tpl-yb-settings $ cp -R ~/tpl-yb-settings/ ~/my-yb-settings && cd ~/my-yb-settings -
Измените файл
./files/managed_policies.json, добавив в него политики, которые нужно принудительно применить на устройствах пользователей.В качестве примера рассмотрим добавление нескольких разрешающих и запрещающую по умолчанию все доступы URL политик:
{ "URLBlocklist": ["*"], "URLAllowlist": [ "browser://policy", "duckduckgo.com", "https://yandex.ru/pogoda", "file://*" ] } -
Измените файл
./files/recommended_policies.json, добавив в него политики:{ "HomepageLocation": "https://duckduckgo.com" } -
В файле состояний
install.sls(установка политик) измените ID состояний:# -*- coding: utf-8 -*- # vim: ft=sls {#- Get the `tplroot` from `tpldir` #} {%- set tplroot = tpldir.split('/')[0] %} {%- from tplroot ~ "/map.jinja" import mapdata as tplybsettings with context %} {%- if tplybsettings.policies.managed.source %} my-yb-settings-install-file-managed-policies-managed: file.managed: - name: "/etc/opt/yandex/browser/policies/managed/{{ tplybsettings.policies.managed.name }}.json" - source: {{ tplybsettings.policies.managed.source }} - skip_verify: True - makedirs: True {%- endif %} {%- if tplybsettings.policies.recommended.source %} my-yb-settings-install-file-managed-policies-recommended: file.managed: - name: "/etc/opt/yandex/browser/policies/recommended/{{ tplybsettings.policies.recommended.name }}.json" - source: {{ tplybsettings.policies.recommended.source }} - skip_verify: True - makedirs: True {%- endif %} -
В файле состояний
clean.sls(удаление политик) измените ID состояний:# -*- coding: utf-8 -*- # vim: ft=sls {#- Get the `tplroot` from `tpldir` #} {%- set tplroot = tpldir.split('/')[0] %} {%- from tplroot ~ "/map.jinja" import mapdata as tplybsettings with context %} {%- if tplybsettings.policies.managed.source %} my-yb-settings-clean-file-absent-policies-managed: file.absent: - name: "/etc/opt/yandex/browser/policies/managed/{{ tplybsettings.policies.managed.name }}.json" {%- endif %} {%- if tplybsettings.policies.recommended.source %} my-yb-settings-clean-file-absent-policies-recommended: file.absent: - name: "/etc/opt/yandex/browser/policies/recommended/{{ tplybsettings.policies.recommended.name }}.json" {%- endif %} -
Измените файл
map.jinja(словарь со значениями по умолчанию):-
Измените имя ключа для словаря в хранилище Pillar, используемого для динамического переопределения значений по умолчанию.
-
Измените значения
policies.managed.sourceиpolicies.recommended.sourceи расположение файлов политикfile_name.{% set mapdata = salt['grains.filter_by']({ 'default': { 'policies': { 'managed': { 'name': 'managed_policies', 'source': 'salt://my-yb-settings/files/managed_policies.json', }, 'recommended': { 'name': 'recommended_policies', 'source': 'salt://my-yb-settings/files/recommended_policies.json', }, }, }, }, merge=salt['pillar.get']('my-yb-settings:lookup'), base='default') %}
-
| После того как формула будет написана, следуйте инструкциям по работе с формулой. |