Сергей Печенко @tnt4brain
DevOps
Information
- Rating
- Does not participate
- Location
- Москва, Москва и Московская обл., Россия
- Date of birth
- Registered
- Activity
Specialization
System Software Engineer, DevOps
Lead
DevOps
High availability
Ansible
Python
Git
Nginx
Не обязательно. Образы обычно оптимизируются по размеру.
Если коллеги-безопасники одобрят затаскивание этой истории в периметр — сможем померить ;-) а пока польза предполагаемая.
К сожалению, в моём случае конкретика вся под NDA, но в целом история очень простая: все внедряемые системы обязаны иметь поддержку RBAC для целей контроля доступа и аудита. Соответственно, сборочному конвейеру требуются креды для хранилища артефактов, анализатора качества кода, статического анализатора, ишью-трекера, вики, бота для мессенджера, почты… В общем, всего этого слишком много для того, чтобы в открытом виде складывать в переменные гитлаба, в которых до сих пор не завезли толковый RBAC — вот и решил посмотреть, что можно сделать в варианте «прочесть секрет без питона и ансибла».
Концепт не предусматривает какое-либо вмешательство в аргументы вызовов чего бы то ни было по одной простой причине: все модули Ansible, которые существуют в 2.9 (о коллекциях не говорю), не поддерживают такой способ работы.
А если всё же о коде, то вот чего: код парсит экранный вывод утилит командной строки. О том, что это bad practice, в интернетах писалось 100500 раз, и это перебивает любое качество кода.
Время поста — 13:38 MSK. Sapienti sat.
Понимаете, фокус в том, что критиковать могут «не только лишь все», а вот делать… В общем, с удовольствием почитаю вашу статью с продакшн-качества кодом, который будет решать какую-нибудь из давних болячек Ansible (конкретно эта датирована январём 2018).
Про обработку заказов.
Для упрощения всей истории я написал пару дополнений для админки JoomShopping. Благодаря им нажатием одной кнопки заказ с сайта уезжает в ЛК СДЭК/Почты России, откуда остаётся его только распечатать — суммарно получается не больше 5 минут времени. Ну и партнёры по доставке, честно говоря, были выбраны ещё и таким образом, чтобы «пункт сдачи» находился в 10 минутах от дома. А в обычную сумку-тележку для продуктов влазит примерно 4 пачки по 10 книг, то есть логистика вполне вменяемая получается. Срок отправки заказа в 5 дней был выбран тоже неспроста: ровно столько живёт холд, и за это время, случалось, собиралось по три заказа. Соответственно, после отправки номер вручную вносится в админку. В результате пользователь прямо из своего ЛК может перейти на сайт выбранной службы доставки и посмотреть трек заказа.
Про склад.
Книги просто стоят стопками под потолок в паре мест обычной однушки. Самая эпичная история, с ним связанная — когда перед НГ такая стопка рухнула на то место, где я сидел. Повезло: меня на тот момент там не было. Не повезло: часть книг переместилась в уценку, потому что искупались в зелёном чае, кружка с которым стояла на столе. Повезло: самую залитую книгу уже продали за полцены, приезжала клиентка с самовывозом, лично осмотрела, сказала «норм», получила книгу и чек и уехала довольная.
Статья же не зря про магазин «на минималках» — всё, что не требуется для начала работы, сознательно оставлено «за бортом».
Во-вторых, с предысторией, которую я отбросил, нашему знакомству с БанТу уже почти 6 лет, а сам автор посвятил этому 15, если это о чём-то говорит.
Ну и в-третьих, ваш вопрос содержит встроенное обесценивание. Не удержался, держите ответку: не вижу смысла что-либо обсуждать с вами.
Пока расширения номенклатуры не предвидится — продать бы уже имеющиеся книги :-)
Об единственном оставшемся из более чем пяти тысячах баге Юрий где-то писал — точно не помню, где, но речь шла о сбое репликации при каком-то дико редком сочетании условий, и то — единственный результат той ошибки был сбой конкретной операции репликации, при этом она штатно перезапускалась без сучка и задоринки, а база оставалась в порядке. Собственно, потребные усилия на ликвидацию этого бага реально превышают отдачу — именно поэтому он был оставлен «как есть».
Лично у меня опыт продакшна этого форка с репликацией примерно полтора года. Так вот, по стабильности могу сравнить, пожалуй, только с Nginx.
При этом данный форк проверен телекомом (одним из большой тройки), и покрыт тестами, в т.ч. производительности.
Я пользовался Xperia Z, сейчас Xperia XZ1. У жены были Xperia Z, Xperia Z2, сейчас Xperia XZ1. У дочки сейчас Xperia XZ1.
Xperia Z2 покупали тоже c рук неудачно — первая владелица, судя по всему, втихую поставила неоригинальный китайский экран, на нём не работала вертикальная строка ёмкостного датчика ровно посередине. Когда заменили на оригинал — глюки как рукой сняло.
XZ1 брали уже из магазина, нулёвые, но в 2019. Соответственно, модель стоила в одной из федеральных сетей порядка 20 тыс.
Все коробки лежат в шкафу, про новые-хайповые модели не в курсе.
Я топил свою Xperia Z с полным погружением, но утопить не смог — всё это семейство делается с влагозащитой. Ещё он у меня из рук падал, чехол-флиппер спас.
На XZ1 жена уже три защитных плёнки растрескала, сам смарт в порядке. А дочка на XZ1 успела разбить экран до покупки плёнки. Заменили на оригинал и плёнку наклеили — работает без нареканий.
Общее впечатление от этих смартов — они являются идеальным инструментом, который под рукой, когда это требуется, и не мешает, когда это не нужно.
На втором фото (над словами «Релейное помещение выглядит примерно так») действительно изображена какая-то часть релейного помещения, в быту — «релейка». Ещё релейка может выглядеть вот так:
Здесь высокие конструкции под потолок — это металлические рамы, именуемые стативами.
Важный момент: зависимости между положениями кнопок на пульте, занятостью путей и показаниями сигналов задаются в виде проводов, причём как в пределах одного статива, так и межстативными соединениями. А само релейное помещение, кстати, обязательно оборудуется закрывающейся дверью. Не будешь закрывать — замечание. После замечания — выговор, потом — строгий, потом — увольнение по виновной статье ТК РФ с записью в трудовой. В общем, проще всё же двери закрывать.
Ну что, кому там «взлом» всё ещё лёгкий? Прямым текстом объясняю: через интранет, без физического влияния на устройства СЦБ, это сделать практически невозможно — уж так устроена схемотехника.
Идём дальше. На третьем фото — пульт дежурного по станции. Ещё один важный момент: помещение дежурного по станции — помещение круглосуточного пребывания персонала. Там не может находиться кто угодно — только те, кому положено. То же самое, кстати, касается и релеек.
В общем, люди, которые работают на постах ЭЦ, за свою работу буквально головой отвечают (ну в смысле статьи УК и прочее, всё серьёзно, никаких шуток). А безлюдные посты (да, такое тоже возможно) опять же закрываются и ставятся на сигнализацию. Это я к тому, чтобы любители индустриальной экзотики не придумали себе фантазии в духе «заходи, кто хочешь», и т.д.
В общем, на мой взгляд, в тему СЦБ, вооружившись лишь фотографиями, вообще лучше не лезть без профессиональных знаний, а главное — опыта работы: получается бессмысленно и смешно. Если уж почитать в той же Википедии список ж/д катастроф в России, то там вопросы СЦБ упоминаются гораздо реже, например, чем водители автотранспорта на ж/д переездах.
Ну и я «взлом» намеренно в кавычки взял — просто потому, что без знания схемотехники устройств СЦБ можно максимум вывести из строя пульт. Это вы просто на повреждение не выезжали ни разу, когда «оно само» сломалось, и как раз в указанном защитном состоянии сигнальная точка находится. Всё, красный сигнал, никто никуда не сможет поехать, пока не разберётесь, почему устройства работают нештатно.
По поводу автоблокировки. Изначально системы централизации создаются на принципах «защитного отказа», то есть возможность состояния «никто никуда не едет» — она штатная, и именно в это защитное состояние переходят системы во внештатных ситуациях. Да, плохо, да задержки, но принимается, что сохранность жизней и грузов важнее, чем потраченное время. Собственно, многое в регламентах поездной работы написано вокруг порядка действий во внештатных ситуациях — вплоть до отправления и приёма поездов по путевым запискам, то есть при полностью недействующих средствах СЦБ. Связь для этого, конечно, требуется, но сугубо в духе «физическая пара проводов». Но мы отклонились, конечно, от темы.
Управление стрелками и сигналами на станции может быть дистанционным, от поездного диспетчера за 700 км., но физические приборы, проверяющие допустимость тех или иных сочетаний стрелок/сигналов, по-прежнему находятся в релейных помещениях. То есть после них — что угодно, хоть старые кнопочные пульты, хоть компьютеры с мышками, хоть ПЛК и свитчи, но первичные зависимости, которые определяются согласно техническо-распорядительному акту станции при проектировании — по-прежнему 100% локальные, и для их «взлома» нужен физический доступ в режимные помещения. Ну и это ещё не считая того, что по рельсам от сигнальной точки на локомотивные устройства передаётся кодированная информация как минимум о допустимой скорости на данном участке и закрытом/открытом состоянии след. светофора.
Короче говоря, на самом деле в СЦБ целый мир безграничных чудес и крайне остроумных технических решений, о которых можно долго и увлекательно рассказывать, но в комментарий это, конечно, не влезет.
Что касается предмета статьи — интранета РЖД — я учился по другой специализации, и могу только предположить, что описанная история — всё же вопрос недосмотра. Думаю, полнее/точнее смогут прокомментировать их официалы, полностью знакомые с ситуацией.
Вообще я этому учился, а потом проверял и применял полученные знания на практике. Так что мне вовсе не нужно быть «уверенным», потому что знаю, как это проектируется и как выглядит «в корпусе», а не «в принципе».