Сниппеты

Golang: FileServer для go-chi

Пример работы файлового сервера для go-chi:

До начала работы нужно задать root — корневую папку для работы файлового сервера. Все запросы начинающиеся на /* будут идти на заданный файловый сервер. Возможно также задать только определенный роут, допустим /static/*

Сниппет: Отправка POST json в Golang

Сниппет для POST отправки JSON string:

 

Golang — поднятие тест сервера при unit тестах

При помощи данного сниппета мы можем зарегистрировать нужные нам http роуты для теста и запустить в отдельной go-рутине минимальный веб сервер. Данная техника полезна при тестировании различных HTTP запросов без вовлечения внешних ресурсов. Тем самым мы можем проверить наш…
Read more

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

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

Для работы требуется действующий DigitalOcean токен, который можно…
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. При возникновении новых интересных запросов данный пост будет пополняться.