Формула google-chrome-formula

Формула для установки веб-браузера Google Chrome.

Доступные состояния

Состояние google-chrome

Мета-состояние (состояние, которое включает в себя другие состояния).

Устанавливает пакет google-chrome из целевого репозитория. Имеет зависимость от google-chrome.repository и google-chrome.package через список include.

Состояние google-chrome.repository

Имеет зависимость от google-chrome.repository.install через список include.

Состояние google-chrome.repository.install

Импортирует репозиторий, если значение repo.name указано в хранилище Pillars (или не пустое по умолчанию). Имеет зависимость от:

  • google-chrome.repository.package.install через список include;

  • google-chrome.repository.key.install через список include и реквизит require.

Состояние google-chrome.repository.package.install

Устанавливает пакеты repo.required_packages (по умолчанию — gpg).

Состояние google-chrome.repository.key.install

Загружает repo.key_file на агент (minion) и декодирует данные файла из формата base64 в бинарный.

Состояние google-chrome.package

Устанавливает пакет google-chrome.

Состояние google-chrome.clean

Мета-состояние (состояние, которое включает в себя другие состояния).

Отменяет все действия, выполненные в мета-состоянии google-chrome, в обратном порядке, т.е. удаляет пакет и удаляет целевой репозиторий (если он был импортирован). Имеет зависимость от google-chrome.package.clean и google-chrome.repository.clean через список include.

Состояние google-chrome.package.clean

Удаляет пакет google-chrome.

Состояние google-chrome.repository.clean

Удаляет файл конфигурации репозитория. Имеет зависимость от google-chrome.repository.key.clean через список include.

Состояние google-chrome.repository.key.clean

Удаляет Key-файл репозитория.

Пример файла pillar.example

google-chrome:
  # Переопределите значение map.jinja
  lookup:
    # Укажите параметры пакета
    pkg:
      # Укажите имя пакета для конкретной ОС
      name: google-chrome-stable
      # Укажите конкретную версию пакета. Если значение не задано, указывается последняя версия
      version: ''
      # Укажите репозиторий, из которого будет производиться установка. При добавлении репозитория (по repo.name),
      # он назначается заданному релизу (suite)
      #  Значение может быть пустой строкой
      fromrepo: ''
    # Укажите параметры репозитория
    repo:
      # Укажите имя репозитория, которое будет импортировано в систему. Значение должно быть указано в формате
      # one-line-style (https://manpages.debian.org/unstable/apt/sources.list.5.en.html#THE_DEB_AND_DEB-SRC_TYPES:_GENERAL_FORMAT)
      # без опций. Чтобы задать опции, используйте дополнительные параметры репозитория.
      # Если значение представляет собой пустую строку, то репозиторий не будет импортирован
      name: 'deb http://dl.google.com/linux/chrome/deb/ stable main'
      # Выполните настройку репозитория, чтобы он стал недоступным для поиска и установки пакетов.
      # Значения: True или False
      disabled: False
      # Укажите тип пакетов (компонентов), которые будут установлены из репозитория (например, main, nonfree, ...).
      # Значения параметра comps должны быть заданы в виде списка через запятую
      comps: ''
      # Укажите имена файлов .list и .gpg. Не могут быть пустой строкой
      conf_name: 'google-chrome'
      # Укажите key-файл (.gpg) для загрузки на агент. Этот файл может храниться как на сервере управления,
      # так и на серверах HTTP(S) или FTP.
      # Этот файл используется в опции репозитория signed-by. Значение может быть пустой строкой.
      key_file: 'https://dl.google.com/linux/linux_signing_key.pub'
      # Установите значение True, чтобы декодировать данные key-файла из формата base64 в бинарный
      key_file_dearmor: True
      # Установите полный путь к каталогу ключей на агенте
      key_keyrings_dir: '/etc/apt/keyrings/'
      # Укажите имена для установки пакетов, необходимых для импорта репозитория. Значения должны быть представлены в виде списка через запятую
      required_packages: [ 'gpg' ]