-
Notifications
You must be signed in to change notification settings - Fork 38
Сделать, чтобы в сгенерённом проекте работал healthcheck #576
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Stale issue message |
Stale issue message |
Stale issue message |
А можешь плз пояснить плз. Насколько понимаю в проекте по умолчанию создаем эндпоинт
Или речь про что-то другое? p.s. |
Подозреваю, что речь про HEALTHCHECK инструкцию внутри Dockerfile, для uwsgi её нету. Т.е. что-то вроде HEALTHCHECK --interval=15s --timeout=15s --start-period=5s --retries=3 \
CMD wget -q -O /dev/null http://localhost:8000/api/v1/healthchecks/postgresql/ --header "Host: MY-HOST.RU" || exit 1 |
Зачем менять то, что сделано настолько хорошо! А если серьезно, то согласен, давай обновим, вот, к примеру: |
@kazqvaizer а почему не хочешь сделать свою реализацию? Это же 5 строк кода, и избавимся от целой зависимости! from django import AnyStockDjangoModel
def healthcheck(request):
AnyStockDjangoModel.objects.exists()
return 'ok' Правда тут задача немного про другое — мы сейчас не можем сделать работающий по дефолту healthcheck, потому что в докерфайле должен быть обязательно указан HTTP-хост, который прописан в проекте. Это дыра с точки зрения DX — мы заставляем программиста думать о какой-то неважной фигне: хттп-хостах вместо бизнеса. Этот хедер приходится добавлять из-за проверки |
А я и не против, но пакет выше любопытный. В целом согласен, все атаки на ALLOWED_HOST действительно редкие и защищаться от них нет смысла, т.к. для этого нужно написать код, который полагается на Host в заголовке. Я правда, считал, что это отключается ALLOWED_HOST = ['*'], странно, что это не работает и нужно патчить |
Вариант Переписать healthcheck вручную — сделаю отдельно. |
Уверен, что ты проверял с DEBUG=False? Я не могу найти по коду, но точно помню, что где-то на проде у нас |
Угу — разворачивал проект с нуля + почитал документацию. Там |
Я можешь на всякий случай проверить, работает ли такая конструкция для не-FQDN хостов? Скажем, овтечает ли нормально приложение, если запросить его по адресу |
сделали в #792 |
Сейчас мы не добавляем healthcheck в итоговый проект, потому что указываем в нём HTTP HOST. Нужно решить эту проблему — к примеру сделать так, чтобы итоговая джанга не требовала правильного хоста — в 2024 году это не актуально.
The text was updated successfully, but these errors were encountered: