Статьи

Деплоим локальный сервис в Kubernetes при помощи Minikube

Для работы требуется установленный Minikube и kubectl. Запустим приложение echoserver — простой сервис, который будет отдавать нам данные нашего запроса и параметры сервера:

Для того, чтобы сервис стал доступен внешнему миру есть два способа — открыть порт либо установить…
Read more

Monkey patching в Golang

Наткнулся на очень интересную библиотеку, позволяющую переопределять функции и методы у объектов для написания юнит тестов перед компиляцией. В PHP, Ruby или Python это делается довольно просто парой строк. Т.к го все же язык компилируемый и со строгой типизацией тут…
Read more

Отправка писем из alpine контейнера с помощью SSMTP

Для отправки писем при помощи стороннего почтового сервера пригодится утилита ssmtp. Распишем по шагам как можно отправлять письма внутри alpine или любого другого linux дистрибутива. Установим ssmtp пакет:

Правим файл /etc/ssmtp/ssmtp.conf:

Правим /etc/ssmtp/revaliases:

Проверяем, что все работает:…
Read more

Вывод релизов с Github API при помощи SH скрипта

Пришлось на днях работать над выводом списка релизов с Github. Для остроты ощущений был написан простой sh скрипт, который выводит в stdout список всех релизов указанного репозитория на гитхабе. Для манипуляции с JSON ответом была выбрана библиотека jq.

Для…
Read more

Просмотр docker logs

Для просмотра логов из контейнера используется удобная и понятная команда docker logs. Что еще удобного есть в команде docker logs? —follow  — просматривать логи в режиме реального времени (-f) —details — выводить дополнительную информацию в логах —tail n — выводить…
Read more

Генератор интерфейсов на Go — ifacemaker

Нашел очень удобную библиотеку для генерации интерфейсов на Go — ifacemaker. Для того, чтобы сгенерировать интерфейс исходя из имеющегося класса достаточно запустить библиотеку со следующими параметрами:

После запуска скрипт сгенерирует нам готовый интерфейс RequestInterface на базе класса Request в…
Read more

Мониторинг Docker контейнеров в DataDog

Datadog — удобный инструмент для сбора логов, метрик и прочих телеметрических данных для любого проекта. Даже бесплатный план позволяет использовать множество инструментов сервиса, один из них это сбор метрик с ваших докер контейнеров. Для этого необходимо добавить datadog agent в…
Read more

Использование Sendgrid в Yii2

Sendgrid — очень удобный сервис по отправке транзакционных писем с обширной аналитикой и отчетами по доставленным письмам. Сервис также очень удобен для обхода спам фильтров ваших писем, используя Sendgrid вы можете быть уверены что письмо будет доставлено и прочитано адресатом….
Read more

Множество процессов в bash скрипте

Пример скрипта ниже позволяет создавать множество процессов внутри одного bash скрипта, показывать код возврата и выводить логи вывода после завершения задачи:

 

Использование Docker swarm в DigitalOcean

Приведу простой пример использования swarm режима докера в DigitalOcean. Для раблоты нам потребуется сам docker, docker-machine, аккаунт с ключом в DigitalOcean и немного терпения. 1. Создадим новый дроплет и установим докер:

2. Проверим что машина была успешно создана:


Read more