# letsencrypt ### Основные положения * Образ основан на centos:7.5.1804 * Используется docker-entrypoint.sh для запуска crontab и добавления задания * В образе используются скрипты generate.sh и renewal.sh для генерации и обновления сертификатов и ключей ### Описание работы * Редирект запросов на подтверждение владения доступом обеспечивается настройкой haproxy: ``` acl letsencrypt_acl path_beg /.well-known/acme-challenge/ ... use_backend letsencrypt_beg if letsencrypt_acl ... backend letsencrypt_beg mode http server letsencrypt letsencrypt:80 check ``` * Директория с конфигурационными файлами, сертификатами и ключами скачивается с git и опеределяется в переменной *git_dir* в исполняемых скриптах * Для запуска сервиса используются переменные и secrets: ``` SMTP_SERVER - адрес почтового сервера JENKINS_MAIL_USER - имя пользователя, от которого отправляются email jenkins-mail-pass - пароль пользователя, от которого отправляются email RECIPIENT_MAIL_BOX - имя пользователя, которому приходят email GIT_USER - имя пользователя, имеющего доступ до git-repo provision-pass - пароль пользователя, имеющего доступ до git-repo GIT_URL - адрес git-repo ``` ### Выпуск сертификатов и ключей с помощью Jenkinsfile.generate * В параметре *domain* должны быть перечислены доменные имена через пробел: ``` example.ru www.example.ru ``` * Рекомендуется за один запуск задания выпускать сертификаты, принадлежащие одной "организации" ### Запуск сервиса * Запуск сервиса интегрирован в stackfile по деплою proxy-инфраструктуры. Автор ------------------ В. Томишинец ... tomishinets.v@sdsys.ru