|
@@ -1,2 +1,51 @@
|
|
|
# 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
|