jborean93.win_chocolatey_server
Ansible Роль win_chocolatey_server
Устанавливает 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
Бэклог
Нет - предложения по функционалу приветствуются.
ansible-galaxy install jborean93.win_chocolatey_server