Работа c формулами

Добавление формулы в хранилище S3 на Мастере

Для того чтобы применить формулу, загрузите ее на файловый сервер SALT.FILESERVER.S3FS, используя путь s3://<bucket name>/base/<formula-name>.

Для более подробной информации см. официальную документацию:

Написание спецификации формулы

Salt-формула, как и сущность спецификации, как правило, соответствуют определенной структуре.

Подробное описание структуры спецификации см. в разделе «Описание API».

Спецификация формулы описывается в файле формата JSON с учетом следующих правил:

  1. Необходимо заполнить обязательные поля: displayName, formulaName, description.

  2. В поле pillarProperties необходимо указать параметры для переопределения.

    В зависимости от назначения формулы можно переопределить некоторые параметры. Параметры, доступные для переопределения, описаны в файле формулы формата YAML pillar.example.

Пример файла pillar.example для формулы по управлению ярлыками на рабочем столе my-yb-settings-formula:

my-yb-settings:
  # Override map.jinja
  lookup:
    # Переопределите значение map.jinja
    policies:
      # Задайте параметры управляемых политик
      managed:
        # Задайте имя файла с управляемыми политиками (.json), который будет помещен в файловую систему Миньона
        name: "managed_policies"
        # Задайте имя файла с управляемыми политиками (.json) для загрузки на миньон, этот файл может быть помещен как на
        # Мастере, так и на сервере HTTP(S) или FTP server. Значение может быть пустой строкой
        source: "salt://my-yb-settings/files/managed_policies.json"
      # Задайте параметры рекомендуемых политик
      recommended:
        # SЗадайте имя файла с рекомендуемыми политиками (.json), который будет помещен в файловую систему Миньона
        name: "recommended_policies"
        # Задайте имя файла с рекомендуемыми политиками (.json) для загрузки на миньон, этот файл может быть помещен как на
        # Мастере, так и на сервере HTTP(S) или FTP server. Значение может быть пустой строкой
        source: "salt://my-yb-settings/files/recommended_policies.json"

Пример спецификации формулы по управлению ярлыками на рабочем столе my-yb-settings-formula:

{
  "displayName": "yb-settingss",
  "formulaName": "my-yb-settings",
  "description": "Formula for managing yandex-browser settings",
  "pillarProperties":
  [
    {
      "description": "Set the name of file with a managed policies(.json) which will be located on a minion file system",
      "key": "my-yb-settings.lookup.policies.managed.name",
      "value": "managed_policies"
    },
    {
      "description": "Set the managed policies file(.json) to download to the minion, this file can be hosted on either the salt master server, or on an HTTP(S) or FTP server. The value can be empty string",
      "key": "my-yb-settings.lookup.policies.managed.source",
      "value": "salt://tpl-yb-settings/files/managed_policies.json"
    },
    {
      "description": "Set the name of file with a recommended policies(.json) which will be located on a minion file system",
      "key": "my-yb-settings.lookup.policies.recommended.name",
      "value": "managed_policies"
    },
    {
      "description": "Set the recommended policies file(.json) to download to the minion, this file can be hosted on either the salt master server, or on an HTTP(S) or FTP server. The value can be empty string",
      "key": "my-yb-settings.lookup.policies.recommended.source",
      "value": "salt://tpl-yb-settings/files/recommended_policies.json"
    }
  ]
}

Импорт спецификации формулы в кабинет администратора

После того как вы подготовите JSON-файл со спецификацией формулы, импортируйте его методом /v1/specifications.