Статьи

Локальная отладка GitHub Actions с act

Не так давно потребовалось понять причину почему один из введенных actions для GitHub Actions перестал работать. Для того, чтобы проверить работу action их нужно для начала запустить локально. Это можно сделать при помощи утилиты act. Важно выбрать правильный runner для…
Read more

Golang — Упаковка ресурсов и статических файлов в бинарник с go rice

Задача упаковки статических ресурсов в один жирный бинарник стоит не так часто, но в одном из проектов все-таки это понадобилось. Посмотрев на разные библиотеки из awesome go, остановился на наверное самом простом и более для меня понятном go rice. В…
Read more

Мониторинг Nginx при помощи stub_status и Prometheus Exporter

Не так давно возникла задача мониторинга проекта, который не бежит внутри Kubernetes и простые настройки Prometheus не совсем подходят. Знать нагрузки на сервис интересно, но не хочется много накручивать и писать дополнительный код (к тому же проекты работают весьма успешно…
Read more

Конфигурация и настройка rippled кошелька

Шаг 1. Установка Требования к установке: минимум 16 GB памяти и от 100 GB свободного места. Пример установки на Ubuntu 20.04:

Шаг 2. Настройка конфигурации Пример конфигруации /etc/opt/ripple/rippled.cfg:

Шаг 3. Запуск

После запуска rippled сервиса может потребоваться…
Read more

Обновление Bitcoind сервера до 0.19

Ниже приведены быстрые инструкции по обновлению bitcoind сервера:

Останавливаем сервер:

Далее проверяем bitcoin.conf в ~/.bitcoin папке:

По сравнению с прошлыми версиями в конфигурационный файл был добавлен параметр rpcbind — устанавливает на какой адрес «повесить» bitcoind сервер. И…
Read more

Используем UFW firewall в Ubuntu

UFW или uncomplicated firewall —  утилита для конфигурирования межсетевого экрана. Написана командой Canonical и встроена по-умолчанию в Ubuntu. При помощи своей простоты позволяет быстро настроить сервер для противодействия разным атакам. Установлен ufw обычно из коробки. Чтобы проверить статус работы достаточно написать:


Read more

Форматирование даты во VueJS с MomentJS

Волей судьбы начал работать плотно с фронтендом для проектов. Выбор пал на лёгкий в освоении VueJS. В качестве одной из задач стоял вывод даты в определенном удобным человеку формате (вместо 2020-05-10T21:43:32.545448Z). Для этого используем Moment JS:

И далее в…
Read more

Unit тесты для zap логгера в Golang

Zap — популярная в Go лог система, написанная убером. Задача, которая однажды встала передо мной — как проверить что все нужные сообщения логгера  были вызваны в коде? Для этого я нашел решение как сам zap тестирует свою логику — при…
Read more

Prometheus middleware для Chi

Для вывода Prometheus метрик с роутера Chi нет официального Middleware. Поэтому установим расширение 766b/chi-prometheus:

Далее импортируем promhttp:

И регистрируем HTTP handler:

И в принципе всё. Теперь все роуты будут проходить через chiprometheus и все данные роутера будут…
Read more

Prometheus — установка для небольшого Kubernetes кластера

Простая инструкция как установить и начать мониторинг своих сервисов для небольшого Kubernetes кластера. В данном примере мы не будем использовать Prometheus оператор, но для сложных динамичных систем и огромного количества сервисов использование оператора просто необходимо. Для начала подготовим Prometheus.yml файл:…
Read more