Без рубрики

Поднятие Docker контейнеров в тестах с Go и Dockertest

Для запуска интеграционных тестов в Golang часто требуются внешние зависимости в виде базы данных, брокера сообщений либо еще каких-то сторонних компонентов.В итоге для поднятия внешних сервисов мы используем Docker и пишем docker-compose.yml файл который выглядит как-то так:

Далее до…
Read more

Получение обновленного kubeconfig в DigitalOcean

Доступ к Kubernetes в DigitalOcean лимитирован одной неделей, получается каждую неделю нужно получать новый пароль доступа к кластеру. Скачать обновленный kubeconfig можно через консоль в DigitalOcean либо можно воспользоваться командой ниже:

Для работы требуется действующий DigitalOcean токен, который можно…
Read more

Поднятие прокси-сервера Squid при помощи Docker за 3 минуты

Squid — кеширующий прокси сервер для протоколов HTTP, HTTPS, FTP. Достаточно гибкая и удобная штука. Сегодня попробуем поднять прокси сервер в Docker контейнере и настроить его работу. Шаг 1. Создадим минимальную конфигурацию для нашего прокси сервера: squid.conf

Шаг 2….
Read more

Скрипт парсинга курсов Bestchange

Скрипт проводит выборку курсов по заданным входным параметрам и может выдавать готовую json структуру по заданным направлениям. Выборка курсов производится через публичный API и содержит в себе всю необходимую информацию по лучшим курсам и параметрам обменных пунктов: Минимальная цена заявки…
Read more

Golang — использование envconfig для environment variables

Для работы с переменными окружения в Golang без использования библиотеки envconfig просто не обойтись:

Библиотека также поддерживает default значения, required флаги, custom декодеры и многое многое другое.

Golang sqlmock db tests — SELECT тесты

 

Docker — сохранить image в tar

Для сохранения image в tar контейнер достаточно выполнить:

Теперь мы можем спокойно переносить docker image и далее «загружать» image:

 

Golang — Mock для sqlx драйвера базы данных

Для написания юнит тестов часто требуется «мокать» часть зависимостей, одна из самых распространенных — соединение и операции с базой данных. Если нет возможности использовать внедрение зависимости и использовать интерфейсы типа ExecerContext на входе функции то в дело вступают не совсем чистые…
Read more

Полезные curl для Digital Ocean API

При автоматизации инфраструктуры под Terraform понадобилось найти id SSH ключей и типы дроплетов чтобы их было возможно использовать в конфигурации. Делюсь примерами curl запросов к Digital Ocean API (статья будет дополняться со временем). Вывод SSH id keys, привязанных к аккаунту:…
Read more

GitHub API — пара полезных curl примеров

Список команд в организации:

Работа с GitHub Status API, установка badge для Pull Request:

Данный сниппет может быть использован для установки badges на определенном pull request. При возникновении новых интересных запросов данный пост будет пополняться.