Исправления
- Устранены бесконечные повторы запросов при ошибках Selectel API, утечка HTTP-ответов и паника при пустом списке балансов.
- Добавлены таймаут запросов 15 секунд, проверка HTTP-статуса и отмена запросов при остановке.
- Исправлено завершение по SIGTERM и SIGINT; пустой TOKEN отклоняется при запуске.
- При ошибках API сохраняются последние успешные значения, следующий запрос выполняется по часовому расписанию.
Зависимости и сборка
- Проверены и включены обновления Dependabot: Prometheus client 1.25.0 и testify 1.12.1, а также накопленные обновления зависимостей с версии 1.1.6.
- Восстановлен выпуск через GoReleaser 2, обновлена упаковка Docker-образа, добавлены проверки для pull request.
- README содержит инструкции установки бинарного файла с проверкой SHA-256, запуска и обновления Docker и Kubernetes.
Установка
Docker (Linux amd64): mxssl/selectel-billing-exporter:1.1.7.
Готовый бинарный файл Linux amd64 находится в selectel-billing-exporter-linux-amd64.tar.gz; контрольная сумма — в checksums.txt.
Имена метрик и порт 80 сохранены. Для обновления замените тег образа на 1.1.7 и перезапустите развертывание.
Проверки
Пройдены тесты с детектором гонок, go vet, golangci-lint и проверка конфигурации GoReleaser. Локально собраны архив и Docker-образ; проверены /metrics при недоступном API и завершение контейнера с кодом 0 по SIGTERM.
Изменения: 1.1.6...1.1.7