Статьи

Отправка Telegram сообщений с Go

При помощи библиотеки go-telegram-bot-api достаточно легко написать свою программу на Go для отправки сообщений в Telegram. Библиотека имеет множество реализованных методов для работы c Telegram API — отправка сообщений, загрузка изображений и медиафайлов, ответ на сообщения в группах и отслеживание…
Read more

Автообновление Go проектов при помощи github-selfupdate

go-github-selfupdate это довольно хорошая реализация поиска и обновлений новых версий приложения если вы используете GitHub в качестве хостинга релизов. Библиотека поддерживает поиск новых semver релизов через GiHub releases. Подключить поиск и загрузку новых обновлений достаточно просто: Ваш проект должен находиться на…
Read more

Очистка Slack — сообщения, файлы — Slack Cleaner

Slack Cleaner — хорошая утилита для удаления сообщений, чатов, файлов из Slack команды. Также при помощи данной утилиты можно удалить все сообщения определенного пользователя. Для запуска и удаления файлов достаточно создать новый Slack токен (вы должны быть администратором команды чтобы…
Read more

Kuberentes. Основные компоненты

Kubernetes — ПО  для автоматизации развёртывания, масштабирования контейнеризированных приложений и управления ими. Поддерживает основные технологии контейнеризации, включая Docker, rkt, также возможна поддержка технологий аппаратной виртуализации. Рассмотрим основные компоненты Kubernetes: API Server — Открывает наружу Kubernetes API. Фронтенд часть Kubernetes контроллера. Называют…
Read more

Сканирование портов с nmap

nmap — полезная утилита для сканирования открытых наружу на целевом хосте портов. Утилита имеет множество настроек (ограничить диапазон портов, узнать тип ОС) Устанавливается при помощи brew:

И далее достаточно задать имя хоста для проведения проверки:

Как мы видим к…
Read more

Загрузка файла в S3 с Go и minio-go client

Для одного из проектов потребовалось сделать сервис по хранению файлов в одном из провайдеров, поддерживающих S3 API. В качестве клиента была использована библиотека minio-go. Minio — это OpenSource аналог S3, а minio-go — удобный клиент для работы с ним. Напишем…
Read more

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

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

Далее до…
Read more

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

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

Шаг 2….
Read more

Установка Kubernetes nginx controller на bare metal

Подробная инструкция как установить nginx ingress controller на чистый bare metal кластер: https://kubernetes.github.io/ingress-nginx/deploy/#bare-metal Или по шагам: Устанавливаем ingress-nginx service с type NodePort:

Проверим, что установка завершена успешно:

Видим:

Поздравляем! Nginx контроллер успешно установлен, теперь можем сделать curl…
Read more

Отправка в логи Graylog из консоли

Полезная команда для отправки по UDP логов в ваш сервер логов (на примере Graylog сервера):