DevOps
SaltStack: использование salt-ssh
В этом посте я хотел бы поделиться своим опытом использования системы управления конфигурациями SaltStack, и, в частности, её применением в Masterless режиме при помощи salt-ssh компонента.
По сути, salt-ssh является аналогом системы Ansible.
salt-ssh '*-ec2.mydomain.com' test.ping
Будут затронуты следующие темы:
- Почему SaltStack, ключевые особенности
- Базовые понятия SaltStack
- Salt-ssh установка и использование
Как называть css-классы
0. Прежде чем думать о названии класса, выберите подходящее название для HTML-элементов
Если это поле, используйте элемент
input
Читать HTML-документ будет гораздо легче.
Пример:
<div class='submit'/> <!-- Чёёё? -->
<input class='submit'/> <!-- Аа, ясно -->
Источник: Рафаэль Гоитер (французская статья)
DevOps — автоматизируй всё

Пара слов о REST API на Symfony в связке FOSRestBundle + JMSSerializerBundle
Установка и настройка Collectd для сбора и отправки данных в Graphite (Grafana)
Недавно я писал статью о настройке и установке Graphite+Grafana, теперь я расскажу как установить и настроить Collectd для сбора данных о состоянии сервера, отправки их в Grapfite
и отображения в Grafana
.
Предисловие
Collectd
— система сбора, хранения и отправки метрик о состоянии машины, на которой он запущен.
Он имеет множество плагинов "из коробки" и очень гибок в настройке.
И так, приступим.
Готовим простой блог на микросервисах, пишем свой микрофреймворк на php и запускаем все на Docker с примерами
А что если я скажу вам, что новый продукт можно сразу начинать писать на микросервисной архитектуре, а не заниматься распилом монолита? Это вообще нормально? Удобно? Хотите узнать ответ?
Задача: необходимо написать за выходные (время ограниченно 10-15 часами) сферический блог на микросервисах, на php, не используя никаких фреймворков. Можно пользоваться здравым смыслом. А еще забудем о том что такое фронтенд и вспомним что мы жить не можем без виртуализации. Выберем Docker. Интересно? Вперед под кат.

Тестируем проект на SaltStack c помощью KitchenCI
Введение

У меня есть pet project, которым я занимаюсь в свободное время. Этот проект полностью посвящён инфраструктурным экспериментам. Для управления конфигурацией я использую SaltStack. SaltStack — это централизованная система управления инфраструктурой. Это значит, есть мастер-сервер, который настраивает подчинённые серверы.
За время жизни проекта я наступил на небольшой набор граблей, но в итоге пришёл к очень удобному подходу работы с ним. В общем про это и статья — как оно все начиналось и к чему пришло.
Как настроить двухфакторную аутентификацию для логина и sudo

Безопасность в моде, как это и должно быть. Мы живем в мире, где данные — невероятно ценная валюта, которую вы всегда рискуете потерять. Поэтому вы должны сделать все, чтобы убедиться, что то, что вы держите на серверах и десктопах — в безопасности. Для этого администраторы и пользователи создают невероятно сложные пароли, используют менеджеры паролей и т.д. Но что, если я вам скажу, что вы можете логиниться на ваши серверы и десктопы Linux за два шага, вместо одного? Вы можете это делать благодаря Google Authenticator. Более того, это невероятно легко настроить.
Я собираюсь провести вас через процесс настройки двухфакторной аутентификации для использования ее на логине и sudo. Я продемонстрирую это на десктопной Ubuntu 16.04, но процесс также работает и для сервера. Чтобы справиться с двухфакторной стороной вещей, я буду использовать Google Authenticator.
Мониторинг температуры в серверной с помощью Arduino
Захотелось как-то если не управлять ситуацией, то хотя-бы ее мониторить. Вариант приобретения готового девайса притормозился, а потом и отменился его ценой. Но вспомнилось волшебное слово Arduino, если интересно что получилось прошу под кат.
Apple, боль и сертификаты
git checkout develop
git merge bug_fix_#999
git checkout master && git merge develop --no-ff ....
git push ....
На пуш на сервере срабатывает jenkins/teamcity/travis, который запускает билд. В это же самое время наш Боб пишет Алисе, что скоро пойдет домой, и хочет, чтобы аппа ушла сегодня в app store на апрув, дабы выиграть лишние пару дней, так как на носу выходные, если, конечно, приложение пройдет ручное тестирование Алисы.
Приложение Боба довольно обычное: пару сотен компилируемых класс файлов, еще с десяток cocoapods зависимостей ну и кучка сторибордов — Боб ценит своё время и время коллег поэтому не пишет UI в коде. Боб знает, что его приложение с чистого старта на сервере собирается за 4 минуты для develop версии, которое идет на тест Алисе, и столько же или чуть больше для production версии. Боб также знает, что ему нужно около 10 минут, чтобы дождаться окончания полной сборки и затем сообщить Алисе, что она может приступать к тестированию. Боб человек ответственный, поэтому по истечении 10 минут после пуша проверяет статус билда, так как знает, что сервер — это отдельный параллельный мир со своими правилами, законами и странностями.
Пятница, вечер, Боба отделяет от долгожданных выходных только 10 минут, после которых передаст эстафету Алисе. Боб вбивает в сафари bobcompany.ci/dashboard, где видит красную лампочку напротив своего приложения, глаза Боба потускнели, разочарованию не было предела. Боб жмет на show more, где его встречает ошибка:
Code Sign error: No codesigning identities found: No codesigning identities (i.e. certificate and private key pairs) that match the provisioning profile specified in your build settings (“com.company.bob”) were found.
Тут нервы Боба совсем сдают:

Websocket в продакшене
Так что опыт использования вебсокет в продакшене накопился приличный. И вот недавно случилось событие, которое сподвигло меня написать первую статью на Хабре.
Cisco learning old school

Ручная установка Windows 7/8/8.1/10 в систему с загрузчиком GRUB2

И такой способ есть. И основан он на технологии установки Windows, которую мы имеем в её дистрибутивах начиная с «семерки». Способ работает для случая Windows версий 7/8/8.1/10, как в случае с MBR + BIOS системы, так в случае с EFI + GPT. Установить систему можно как в раздел HDD, так и на VHD. При этом функционал установщика нужен нам в общем-то для запуска программы настройки BCD-хранилища конфигурации загрузчика. Вместо установочного диска можно использовать загрузочный носитель на основе WinPE. Если бы утилитам bcdedit.exe и BootICE была *nix альтернатива, весь процесс развертывания системы можно было бы вообще выполнить в среде Linux.
WiFi-чайник в домашних условиях, или как сделать обычный чайник по-настоящему умным

Предисловие
Если вы читали мою предыдущую статью (Бегущая строка на Arduino), то наверняка уже знаете, что у нас в университете есть возможность делать аппаратные курсовые проекты. И я, вдохновлённый предыдущей своей работой, решил ещё раз попробовать сделать что-нибудь своими руками. Только теперь тема должна была быть посерьёзнее. Кстати, думать о том, что сделать, я начал ещё на зимних каникулах, то есть до начала семестра. Хотелось сделать что-нибудь интересное и полезное одновременно.
ELK на Docker
Здесь я хочу рассказать о быстром старте с помощью Docker.
Laravel TestTools — запись тестов для Laravel прямо из браузера Chrome
Вот как это выглядит:

Deploy Django приложений с использованием Ansible для чайников
Совсем недавно мой коллега познакомил меня с замечательным инструментом автоматизации ручного труда под названием Ansbile. После чего моментально родилась идея написать что-то своё, что упрощает тот самый ручной труд. Что чаще всего приходится делать руками? Правильно, деплоиться.
В этой статье я расскажу о том, как с использованием ansible раскатать django-проект на чистом удаленном сервере ubuntu 14.04, создав при этом для проекта отдельного пользователя.
Information
- Rating
- Does not participate
- Location
- Санкт-Петербург, Санкт-Петербург и область, Россия
- Date of birth
- Registered
- Activity