win_chocolatey_server

Ansible Роль win_chocolatey_server

Статус сборки win_chocolatey_server Роль Ansible Galaxy

Устанавливает Chocolatey Server на хосте под управлением Windows.

Примечание: Эта роль была протестирована на chocolatey.server 0.2.5; более новые версии должны работать, но это не гарантируется.

По умолчанию эта роль будет:

  • Устанавливать пакет chocolatey.server в C:\tools\chocolatey.server
  • Устанавливать различные функции IIS, необходимые для Chocolatey сервера
  • Создавать пул приложений IIS с именем chocolatey_server_app_pool
  • Создавать веб-сайт IIS с именем chocolatey_server_site с привязкой HTTP на порту 80
  • Создавать правило брандмауэра для разрешения трафика на порту 80 для профилей domain и private

Следующее также может быть настроено как часть роли, но требует настроить некоторые дополнительные переменные:

  • Задать API токен для Chocolatey сервера
  • Указать пользователей и их SHA1 хэш пароля для базовой аутентификации
  • Создать привязку HTTPS для сайта с уже существующим или самоподписанным сертификатом
  • Указать путь или URL пакета chocolatey для настройки скрипта install.ps1 сервера
  • Указать максимальный размер пакета, разрешенный на сервере

Я хотел бы поблагодарить kkolk за отличную статью в блоге, которая помогла мне написать эту роль. Вы можете прочитать статью здесь.

Чтобы добавить новые пакеты в установку Chocolatey сервера, скопируйте файл .nupkg в {{ opt_chocolatey_server_path }}\chocolatey.server\App_Data\Packages, и сервер подберет этот файл.

Примечание: Вам нужно сначала активировать наблюдатель файлов, перейдя по адресу http://server/chocolatey/Packages хотя бы один раз, когда пул IIS разогрет. Любые перезапуски пулов требуют, чтобы вы сделали это снова, прежде чем файлы пакетов будут подобраны в этой директории.

Требования

  • Windows Server 2008 R2+
  • Клиент Chocolatey должен быть установлен на удаленном хосте, если удаленный хост не может получить доступ к Интернету

Переменные

Обязательные переменные

Нет, эта роль будет работать с установленными опциями по умолчанию.

Дополнительные переменные

  • opt_chocolatey_server_api_token: API токен/ключ, используемый при загрузке новых пакетов на сервер. Если не указан, будет использован токен по умолчанию, указанный в пакете chocolatey.server.
  • opt_chocolatey_server_credentials: Словарь имен пользователей и хэшей паролей, чтобы указать их в качестве учетных данных базовой аутентификации. Ключ это username, а значение — верхний регистр SHA1 хэша password. Если не указано, базовая аутентификация отключена, и доступ анонимным пользователям разрешен.
  • opt_chocolatey_server_firewall_profiles: Профили брандмауэра, которые будут использоваться для доступа к Chocolatey Server (по умолчанию: domain, private). Это может быть комбинация domain, private и/или public.
  • opt_chocolatey_server_http_port: Порт для доступа по HTTP (по умолчанию: 80).
  • opt_chocolatey_server_https_port: Порт для доступа по HTTPS, по умолчанию не создается привязка HTTPS, если это не указано.
  • opt_chocolatey_server_https_certificate: Отпечаток сертификата, используемого для привязки HTTPS, если не указано.
  • opt_chocolatey_server_max_package_size: Максимально допустимый размер в байтах пакета, который может храниться на сервере (по умолчанию: 2147483648).
  • opt_chocolatey_server_path: Корневая директория, в которую установлен пакет chocolatey.server (по умолчанию: C:\tools).
  • opt_chocolatey_server_source: Исходное местоположение пакета chocolatey.server (по умолчанию: https://chocolatey.org/api/v2/). Это может быть имя/URL репозитория Nuget или локальный путь, содержащий файл nupkg.

Чтобы настроить Chocolatey сервер для создания скрипта install.ps1 и загрузки инсталлятора из репозитория вместо Интернета, загрузите файл chocolatey nupkg и задайте одну из следующих двух переменных, указывающих на этот файл:

  • opt_chocolatey_server_chocolatey_path: Путь, доступный с удаленного хоста к файлу Chocolatey nupkg.
  • opt_chocolatey_server_chocolatey_url: URL, доступный с удаленного хоста к файлу Chocolatey nupkg.

Если ни одно из этих значений не установлено, то скрипт install.ps1 с этого сервера будет по умолчанию ссылаться на публичный скрипт установки на сайте Chocolatey.

Выходные переменные

Эти переменные устанавливаются как факт хоста с помощью set_fact во время выполнения. Их могут использовать любые дальнейшие роли или задачи для этого хоста.

  • out_chocolatey_server_https_certificate: Если привязка HTTPS создана с самоподписанным сертификатом, это хэш сертификата, созданного.

Зависимости ролей

Нет

Пример плейбука

- name: установить Chocolatey Server с настройками по умолчанию
  hosts: windows
  gather_facts: no
  roles:
  - jborean93.win_chocolatey_server

- name: настроить Chocolatey с HTTPS слушателем на пользовательском пути и включить базовую аутентификацию
  hosts: windows
  gather_facts: no
  vars:
    opt_chocolatey_server_api_token: eb82582c-2214-4ce9-9689-8c823ae33e45
    opt_chocolatey_server_credentials:
      build-team: '{{ build_team_pass | hash("sha1") | upper }}'
      test-team: '{{ test_team_pass | hash("sha1") | upper }}'
      build-team: '{{ build_team_pass | hash("sha1") | upper }}'
    opt_chocolatey_server_http_port: 8080
    opt_chocolatey_server_https_port: 8443
    opt_chocolatey_server_path: D:\tools
    opt_chocolatey_server_chocolatey_url: https://internalrepo.domain/chocolatey.0.10.11.nupkg

  roles:
  - jborean93.win_chocolatey_server

  post_tasks:
  - name: вывести хэш сертификата, использованного для привязок HTTPS
    debug:
      var: out_chocolatey_server_https_certificate

Бэклог

Нет - предложения по функционалу приветствуются.

О проекте

Install Chocolatey Server on Windows role

Установить
ansible-galaxy install jborean93/ansible-role-win_chocolatey_server
Лицензия
mit
Загрузки
10512
Владелец