Author Archives: setevoy

DNS: dnsmasq и порядок разрешения домён из resolv.conf

11 December 2018
 

 Имеется AWS EC2 инстанс, на котором запущен dnsmasq. Имеется AWS RDS-инстанс, для которого разрешён публичный доступ, и у домена которого, соответственно, есть два IP – публичный, если запрашивать публичные DNS, и приватный, который отдаётся DNS самого Amazon, с DNS VPC, в котором запущены инстансы. См начало поста AWS: php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution… Read More »

Linux: “unprivileged users with UID > INT_MAX can successfully execute any systemctl command”

6 December 2018
 

 Интересная бага сегодня была опубликована в Twitter и Github. Кратко – если у пользователя UID больше, чем INT_MAX в системе – он может выполнять любые операции systemctl. Справдливости ради – это бага не у systemd, а у polkit. Проверям значение INT_MAX: Добавлям пользователя с +1 к 2147483647: Проверяем: Находим что-нибудь для ребута: Пробуем под нормальным пользователем:… Read More »

Appium: Android Virtual Device, Original error: Condition unmet after 60159 ms и костыль

6 December 2018
 

 Проблема: UI-тесты, запускаемые с помощью Appium, падают. Задача: найти причину, и пофиксить. Что бы воспроизвести проблему –  установили Android Studio на рабочую машинку и создали устройство. Теперь – можно настроить “тестовый тест”, а потом попробовать запустить наши реальные тесты. Забегая наперёд – проблема была найдена, но решения не нашёл, потому пришлось костылить в Jenkins-джобе. Сама проблема на… Read More »

RabbitMQ: примеры rabbitmqctl, rabbitmqadmin и хранение сообщений при рестарте сервера

5 December 2018
 

 Задача – запустить RabbitMQ сервер и создать сообщение, но таким образом, что бы оно сохранилось при рестарте сервера. Документация по хранению данных – тут>>>. В частности, в ней указано, что на диск будут сохранены любые типы сообщений, если RabbitMQ начинает особождать память (см. Memory Alarms), но нам требуется, что бы сообщения всегда синхронизировались в базу на… Read More »

Golang: struct – структуры в примерах

28 November 2018
 

 Структура – это коллекция типизированных полей, т.е. у кождого поля в структуре есть свой тип данных. Создать структуру можно следующим образом: type Example struct { FirstField string SecondField string ThirdField int } Тут у структуры с именем Example есть коллекция полей – поля FirstField и SecondField типа string, и поле ThirdField типа integer. Если различные поля имеют одинаковый… Read More »

AWS: CloudFormation – S3 корзина для логов Application Load Balancer

27 November 2018
 

 Имеется уже созданный стек с Application Load Balancer, для которого требуется включить сбор логов в S3 корзину. Общая документация – тут>>>. CloudFormation стек и ресурсы уже созданы, поэтому тут просто пример добавления необходимых параметров и новых ресурсов для включения логгирования запросов балансировщика. Запуск CloudFormation выполняется из Ansible с помощью модуля cloudformation, и значения параметров будут заданы… Read More »

Vim: плагины supertab и vim-devicons

26 November 2018
 

 В продолжение поста vim: превращаем редактор в “IDE” – плагины и вот это вот всё – ещё пара полезностей для vim. supertab supertab вызывает автоподстановку по нажатию кнопки <TAB>, вместо комбинаций типа Ctrl+O/Ctrl+X. Добавляем в .vimrc: … ” https://github.com/ervandew/supertab Plug ‘ervandew/supertab’ … Перечитываем его, и устанавливаем: Для настройки плагина есть много опций, основные, которые могут пригодиться,… Read More »

OpenVAS: установка, запуск

24 November 2018
 

 OpenVAS – сканер уязвимостей систем. Имеет свою базу данных CVE, используя которую проверяет системы на их наличие. Как обычно – ссылка на документацию на Arch Wiki. Установка достаточно тривиальна, как и первый запуск проверок с дефолтными настройками. Пост чисто обзорный, без описания детальных настроек – может потом доберусь до них, когда время будет, и если… Read More »

AWS: s3fs – Permission denied

22 November 2018
 

 После начала использования s3fs – выяснилась одна деталь. Файлы загружаются с помощью boto3. Но после того, как корзина смонтирована к системе – получить доступ к файлам нельзя: Проверяем права на файлы – и ой: И сменить права через chmod тоже не получится: Решение – задавать права доступа через Metadata, при загрузке данных в корзину. См.… Read More »

Android Studio: установка на Linux и работа с Android Virtual Devices

21 November 2018
 

 Есть у нас UI-автотесты, которые немного поломались – надо пофиксить, заодно появился повод вообще с ними разобраться. Для тестирования используется Android Virtual Device и эмулятор из Android Studio. В этом посте – установка студии и создание такого устройства, в следующем – запуск Appium тестов на нём. Установка и запуск выполняются на Arch Linux, но процесс не специфичен для… Read More »