Корневая причина пустых релизов: при workflow_dispatch + push тега
запускались 2 параллельных run'а, один перезатирал body другого.
- Всегда делаем PATCH после создания/нахождения релиза
- concurrency group: release-{tag} с cancel-in-progress: true
- Гарантирует что body будет записан независимо от race condition
- При существующем релизе (auto-created из push тега) PATCH обновляет title и note
- Глубина клона 50->200 + deepen=500 для корректного git describe (поиск prev_tag)
- Заголовок релиза: TAG вместо 'Release TAG'
Previously verify_dns_record_external returned True as soon as the TXT
record was found on authoritative NS (ns1/ns2.reg.ru). But Let's Encrypt
validates through recursive resolvers (like 8.8.8.8) which may have
cached the old DNS response. For wildcard+base domain certs, the second
challenge token was invisible to LE due to stale cache on recursive DNS.
Now the function requires the record to be visible on at least one
public recursive resolver (1.1.1.1/8.8.8.8/9.9.9.9) before returning
success, ensuring Let's Encrypt can verify the challenge.
NPM returns 404 on PUT /api/nginx/certificates/{id} with multipart data.
The correct endpoint for uploading certificate files is:
POST /api/nginx/certificates/{id}/upload
Also removed unnecessary 'provider' data field from the upload request.
- Enhanced the Let's Encrypt Workflow documentation with detailed steps for creating and renewing wildcard SSL certificates using Nginx Proxy Manager.
- Added troubleshooting tips for API issues with reg.ru, including common errors and their resolutions.
- Expanded the Testing documentation to include comprehensive guides on using test certificates, automation scripts, and transitioning to production certificates.
- Revised Project Structure documentation to reflect the current organization of files and scripts.
- Improved clarity and formatting across all documentation sections for better readability and user guidance.
- Структура проекта и основные скрипты (PROJECT_STRUCTURE.md)
- Быстрый старт сборки исполняемых файлов (QUICKSTART_BUILD.md)
- Автоматические релизы через GitHub и Gitea (RELEASE_GUIDE.md)
- Подробная инструкция по использованию скриптов (SSL_SCRIPTS_README.md)
- Руководство по тестированию SSL сертификатов (TESTING_GUIDE.md)
- Инструкции по настройке Nginx Proxy Manager с SSL (Настройке Nginx Manager с SSL .md)
- Создание и продление wildcard сертификата в Nginx Proxy Manager (Создание и продление SSL сертификата.md)
- Обновлены скрипты для поддержки групп сертификатов (SAN) в конфигурации.
- Добавлен новый скрипт для запуска GitHub Actions workflows.
- Обновлены Makefile и документация для отражения новых возможностей.
- Улучшена обработка доменов в коде и конфигурации.
- Реализован новый рабочий процесс в `.github/workflows/wiki-sync.yml` для синхронизации вики с основным репозиторием при отправке изменений в ветку master.
- Рабочий процесс включает шаги клонирования репозитория, проверки наличия папки wiki и синхронизации содержимого вики с вики DFGit.
Документация: Создание описания секретов для развертывания и конфигурации
- Добавлен файл `secrets_description.md`, подробно описывающий необходимые секреты для развертывания и настройки проекта `configure_nginx_manager`.
Документация: Добавление документации по сборке и релизам
- Создан файл `Build_and_Release.md`, описывающий процесс сборки с использованием PyInstaller и этапы упаковки релиза.
Документация: Введение журнала изменений для отслеживания версий
- Добавлен файл `Changelog.md` для краткого описания основных версий и изменений, внесенных в проект.
Документация: Документирование команд и скриптов, доступных в проекте
- Создан файл `Commands.md` для перечисления команд CLI и команд Makefile для удобства пользователей.
Документация: Предоставление подробной информации о конфигурации проекта
- Добавлен файл `Configuration.md` для объяснения структуры конфигурации JSON и параметров.
Документация: Описание действий развертывания и необходимых секретов
- Создан файл `Deploy_Actions_Secrets.md` для описания секретов, необходимых для развертывания через GitHub Actions.
Документация: Объяснение методов синхронизации Gitea с GitHub
- Добавлен файл `Gitea_Sync.md` для описания различных методов синхронизации репозиториев из Gitea в GitHub.
Документация: Создание домашней страницы для вики проекта
- Создан файл `Home.md`, который служит основной точкой входа для вики проекта.
Документация: Описание процедур установки проекта
- Добавлен файл `Installation.md` с подробным описанием методов и требований к установке.
Документация: Описание рабочего процесса Let's Encrypt для управления сертификатами
- Создан файл `LetsEncrypt_Workflow.md` для объяснения процесса получения и обновления SSL-сертификатов.
Документация: Интеграция с документацией Nginx Proxy Manager
- Добавлен файл `Nginx_Proxy_Manager.md` для объяснения синхронизации сертификатов с NPM.
Документация: Определение структуры проекта для лучшего понимания
- Создан файл `Project_Structure.md` для описания ключевых файлов и скриптов проекта.
Документация: Устранение распространенных проблем с API reg.ru
- Добавлен файл `RegRu_API_Troubleshooting.md` для помощи пользователям в диагностике и устранении проблем, связанных с API.
Документация: Предоставить рекомендации по тестированию проекта
- Создан файл `Testing.md`, описывающий стратегии тестирования и ограничения, связанные с Let's Encrypt.
Документация: Добавить боковую панель навигации для вики
- Создан файл `_Sidebar.md` для упрощения навигации по страницам вики.
- Реализован скрипт letsencrypt_regru_dns.sh для автоматического управления SSL-сертификатами с использованием проверки DNS-01 через API reg.ru.
- Создан скрипт nginxproxymanager.sh для управления установкой и обновлениями Nginx Proxy Manager.
- Добавлен файл requirements.txt с необходимыми зависимостями Python.
- Внедрена служба systemd и таймер для автоматического обновления сертификатов Let's Encrypt.
- Разработан скрипт test_certificate.sh для генерации самоподписанных SSL-сертификатов в целях тестирования.