dapp — утилита для сборки и деплоя контейнеров. Особенности работы

dapp — утилита от российской компании Флант , которая занимается внедрением devops-практик (kubernetes, ci/cd и всё такое, ну вы в курсе)
Подробное описание можно прочитать на Хабре, а я бы хотел остановиться на некоторых особенностях работы с ней при сборке образов (здесь и далее под образом подразумевается docker image)


На момент написания статьи актуальная версия dapp 0.36.*


В качестве примера для наглядности и понимания общей картины возьмём за основу немного урезанное содержимое dappfile.yaml из официальной документации

Читать далее «dapp — утилита для сборки и деплоя контейнеров. Особенности работы»

TinyMCE 4. Управляем настройками редактора через data-* атрибуты HTML

Представьте, что у вас есть сайт. А на этом сайте у вас подключен TinyMCE. Да подключен не к одному textarea, а к пачке разных, и надо сделать так, чтобы на разных textarea были разные настройки. Что в первую очередь приходит в голову? Правильно! Наделаем разных классов и будем по css-селекторам создавать разные инстансы. А что получим в итоге? Тоже правильно! Лапша в коде
Сделаем по-умному Читать далее «TinyMCE 4. Управляем настройками редактора через data-* атрибуты HTML»

Получаем wildcard сертификаты LetsEncrypt

13 март 2018 года LetsEncrypt наконец объявила, что, они начали поддерживать wildcard-сертификаты. Теперь можно за раз получить сертификат, включащий в себя все субдомены

Процесс всё так же автоматизирован через консольную утилиту certbot. Отличие в том, что теперь подтверждение домена можно сделать только через TXT-запись в DNS-зоне, а не через webroot, как раньше. Читать далее «Получаем wildcard сертификаты LetsEncrypt»

Summernote. Автоформатирование при просмотре исходного кода

В summernote для codeview используется codemirror, так что нам надо, чтобы сам summernote расставил переносы строк (prettifyHtml: true), а средствами codemirror`а мы уже сделаем отступы.

При клике на кнопку codeview выполним 3 команды. Клик по кнопке ловится через event, который ловим средствами самого summernote.

  1. Выделим весь текст
  2. Сделаем автоотступы для всего выделения
  3. Переставим курсор в начало текста, чтобы снять выделение

 

Быстрый перенос базы mysql на другой сервер с помощью percona xtrabackup

По мотивам официального мануала

Скорость переноса данных, по сравнению с обычными консольными dump / restore просто колоссальная, т.к. переносятся целиком файлы таблиц.

Особенность в том, что на целевом сервере не должно быть рабочей mysql с нужными данными

На серверах должен быть установлен Percona XtraBackup

Source server

Делаем частичный бэкап (partial backup), указывая опцию —database, где через пробел перечисляем базы для бэкапа. Важным моментов является то, что необходимо забрать и базу mysql для сохранения учётных записей и разрешений

Читать далее «Быстрый перенос базы mysql на другой сервер с помощью percona xtrabackup»

PHP профайлер tideways + xhgui

Введение

Об удобстве использования профайлера, да ещё с графическим интерфейсом и говорить нечего, особенно когда надо найти узкие места под нагрузкой.

tideways — само расширение php для сбора данных о производительности кода

xhgui — графический веб-интерфейс (см. скриншот выше), который, помимо всего прочего, сохраняет данные профилирования в mongodb и затем использует их для вывода статистики

Установка

Нам понадобятся:

  1. Настроенный веб-сервер с fastcgi (в данном примере nginx + php-fpm)
  2. Сервер mongodb
  3. php-mongod
  4. gcc, make, php-devel, чтобы собрать расширение tideways

Читать далее «PHP профайлер tideways + xhgui»

map в nginx

Кейс следующий:

Есть запросы к API с передачей уникального токена в GET параметре. По этому токену (user_token=) имеются лимиты на запросы через limit_req_zone, типа такого:

Необходимо для некоторых токенов отключить лимиты. Тут на помощь и приходит map модуль nginx. Он позволяет динамически получать переменную, значение которой будет зависеть от значений других, входных, переменных. Т.е., грубо говоря, мы имеем function(a, b) { … return c } Читать далее «map в nginx»

Digital Ocean представил новые дроплеты с высокопроизводительными CPU

Упало письмо с рассылкой от DO, в котором говорится что они анонсируют ранний доступ, по запросу, к новым типам дроплетов

We’re excited to share some big new products and capabilities, and other improvements you may have missed

High CPU Droplets: Early Access

We are now offering early access to a new set Droplet Plans: High CPU Droplets.

Focused on reliable high performance, High CPU Droplets are backed by a more powerful, best-in-class CPU, and won’t have any overcommitment on the underlying physical resources.

Судя по фразе

…new set Droplet Plans…

тарифы на них будут отдельные

Digital Ocean в последнее время много хаят, в том числе в том же Радио-Т (нет, конкретный выпуск и тайминг не подскажу) за то, что в их виртуалках процессор не блещет производительностью. Так что DO на верном пути.

CentOS 7. Kernel panic — not syncing: Fatal machine check on current CPU

Провайдер услуг: ovh

Проц: Intel Xeon D-1521

ОС: CentOS 7.3

Ядро: 3.14 кастомное от ovh

Дело было на майских праздниках. Клиент, держащий сервис, написанный на php и использующий mysql как бд, попросил посмотреть, почему сервер внезапно перестаёт отвечать.

Предположили, что дело может быть в высокой нагрузке и отваливается сеть. Но нет, нагрузка так себе, на интерфейсе максимум 300 pps, трафик низкий, память не кушается, проц процентов на 40% загружен. В процессе выяснилось, что сервер не только перестаёт отвечать, но и сам перезагружается.

Ага! Настраиваем kdump. kdump не запускается на кастомном ядре 3.14 ovh. Ставим ванильное из родных реп Читать далее «CentOS 7. Kernel panic — not syncing: Fatal machine check on current CPU»

Недоверенные корневые сертификаты от налоговой (ФНС России) в вашей системе

Чтобы отправить декларацию от доходах 3-НДФЛ в ФНС, можно получить ключ неквалифицированной электронной подписи и его сертификат, сформированные онлайн и отправить декларацию через личные кабинет налогоплательщика.

Если решите хранить ключ у себя на компьютере, то ФНС предложит установить «средства электронной подписи, которые установят в систему свои корневые сертификаты с неограниченными правами использования. А это означает, что ваша машина будет доверять любыми сертификатам, выпущенными удостоверяющим центром (УЦ), указанном в корневом сертификате.

Проверить установленные недоверенные сертификаты можно с помощью утилиты RCC (https://www.trustprobe.com/fs1/apps.html). Утилита запускается в юзер-спейсе без запроса админских прав и только читает сертификаты.

До установки средств электронной подписи

Читать далее «Недоверенные корневые сертификаты от налоговой (ФНС России) в вашей системе»