Обновление Pull Request в Drone CI

На момент написания статьи, у drone.io есть неприятная особенность — он не обновляет Pull Request при изменениях в слияемых ветках. То есть, при поступлении хука от SCM он заново запускает сборку со старым репозиторием.
Continue reading «Обновление Pull Request в Drone CI»

Запуск Docker в LXC 2

Это может показаться довольно странным, на первый взгляд, однако, в определенных случаях может быть весьма полезным. Например, в случае если необходимо на тестовом сервере выделить площадку для разработки с возможностью запускать привилегированные контейнеры Docker. В случае, если вся работа происходит на одном сервере, то пользователь получает доступ сразу ко всем контейнерам/образам на сервере, что неправильно с точки зрения безопасности. С другой стороны, такие системы виртуализации, как QEMU/KVM или Xen обладают определенным оверхедом по производительности и сложнее в настройке. LXC, в данном случае, позволяет обойти оба этих недостатка.

Continue reading «Запуск Docker в LXC 2»

Docker best practices

В данной записи я бы хотел подытожить тот опыт, что я получил при работе с Docker. Надеюсь, данная статья поможет тем, кто обдумывает его внедрение в своих проектах. Являясь низкоуровневым компонентом, который трудно заменить на боевой системе, знание определенных моментов поможет обойти некоторые грабли заранее.
Continue reading «Docker best practices»

LXC за обратным NAT (Reverse NAT). Пошаговая инструкция.

В связи с исчерпанием доступных ipv4 адресов все более актуальной становится тема размещения виртуальных машин за NAT. Таким образом можно добиться сразу нескольких преимуществ:
1. Экономия средств за счет использования только одного публичного адреса для множества машин;
2. Сокрытие внутреннего устройства публично доступных сервисов (т. е. ваша инфраструктура будет невидима для мира).
Однако, как и у любой технологии, у данного метода есть недостатки.
Continue reading «LXC за обратным NAT (Reverse NAT). Пошаговая инструкция.»

PHP-FPM в chroot окружении.

Одна из «фич» PHP-FPM — возможность запуска дочерних процессов в chroot окружении. В теории, это должно значительно увеличить безопасность системы засчет изоляции процесса исполняющего скрипт, т. е. если злоумышленник получит контроль над системой используя уязвимость PHP, то он выше той папки, в которой запущен процесс PHP-FPM, он не уйдет.

На практике, к сожалению, все далеко не столь радужно.
Continue reading «PHP-FPM в chroot окружении.»