# 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