Files
healthlog/Dockerfile
T
av 505664acf1 добавлено окружение разработки: контейнер и гейт ревью
- сервис поднимается через `task up`/`task restart`, данные вынесены в ./data
  и переживают пересборку — поток с телефона не прерывается
- `task gate` гоняет build/vet/lint/test/race/покрытие диффа/миграции, плюс два
  шага под healthlog: данные о здоровье в индексе и синхронность образцов конфига
- `task review:context` собирает вход для архитектурного прохода ревью
2026-08-01 14:11:41 +03:00

25 lines
1.6 KiB
Docker
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Упаковка готового статического бинаря в минимальный образ.
#
# Бинарь собирается СНАРУЖИ, а не внутри образа:
# CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o healthlog ./cmd/healthlog
# Так пересборка идёт по горячему кэшу Go на хосте — секунды вместо минут,
# что важно при частом цикле «поправил → перезапустил». Готовит бинарь
# `task build`, от которой зависит `task up`.
#
# distroless/static: без shell и пакетного менеджера, только CA-сертификаты.
# Пользователь задаётся в compose (user: "1000:1000") — чтобы файлы в томе
# принадлежали хозяину каталога, а не root.
FROM gcr.io/distroless/static-debian12
COPY healthlog /usr/local/bin/healthlog
EXPOSE 8080
# В distroless нет ни shell, ни curl — проверку делает сам бинарь, порт берёт
# из конфига. Путь к конфигу задаём явно: умолчание загрузчика — config.toml
# в рабочей директории, а конфиг смонтирован в /config.
HEALTHCHECK --interval=30s --timeout=5s --start-period=5s --retries=3 \
CMD ["/usr/local/bin/healthlog", "healthcheck", "--config", "/config/config.toml"]
ENTRYPOINT ["/usr/local/bin/healthlog", "serve", "--config", "/config/config.toml"]