DE-3. Расследование Sentry инцидента. Бой с тенью

Инцидент Sentry. Как мы поэтапно наращивали мониторинг, локализовали первопричину и к каким решениям пришли

Методология разработки программного обеспечения

Инцидент Sentry. Как мы поэтапно наращивали мониторинг, локализовали первопричину и к каким решениям пришли
Мы построим прототип MLOps-платформы с нуля. Без Kubeflow, без облаков, без магии. Только Kubernetes, Helm, ArgoCD и ещё дюжина компонентов, каждый из которых появляется не потому что «так модно», а потому что решает конкретную проблему

Команда VK Cloud подготовила перевод обзора релиз-команды Kubernetes (Arsh Sharma, Christopher Tineo, Kirti Goyal, Sophia Ugochukwu, Swathi Rao, Troy Connor) из блога kubernetes.io. О том, что устареет, сломается и перейдёт в GA в Kubernetes v1.37, релиз которого запланирован на 26 августа 2026 года. Будет полезен тем, кто эксплуатирует кластеры Kubernetes в проде: DevOps- и SRE-инженерам, платформенным командам, которые планируют обновление.
По мере приближения даты релиза Kubernetes v1.37 проект развивается и взрослеет, поэтому отдельные функции признают устаревшими, удаляют или заменяют более удачными ради общего здоровья проекта. В этом блоге собраны некоторые из запланированных изменений релиза Kubernetes v1.37, о которых, по мнению релиз-команды, вам стоит знать, чтобы продолжать поддерживать вашу среду Kubernetes и оставаться в курсе последних изменений. Информация ниже отражает текущий статус релиза v1.37 и может измениться до фактической даты выхода.

Я много лет занимался инфраструктурой. Потом перестал и ушёл в продукт — но привычка заглядывать: «А как у вас тут всё устроено?» осталась. И вот теперь я хожу к клиентам по совсем другим вопросам, а глаза всё равно выпадают.

Полночь, деплой горит, а ты вручную поднимаешь десятый сервер за неделю: копируешь ISO, тыкаешь Enter в консоли анаконды, правишь fstab, чинишь grub — и на утро выясняешь, что забыл gpg-ключ репозитория на трех машинах из десяти. Признавайтесь, бывало? Эта статья для тех, кто устал платить временем и нервными клетками за ручную сборку образов.
В этой статье расскажу, как построил полностью автоматизированный пайплайн для сборки образов закрытого дистрибутива Linux на базе RedHat — без единого ручного клика после старта. Ansible управляет хостом-билдером, Packer с shell-провижионерами собирает сам образ, и в итоге мы получаем готовый RAW, оптимизированный для OpenStack. Подход не привязан к конкретной ОС: если у вас другой дистрибутив, достаточно заменить ks.cfg на preseed.cfg или любой другой автоустановщик — остальная логика пайплайна должна работать без изменений. На десерт расскажу, как оформил часть решения в модуль для Ansible и отправил его в официальную коллекцию community.general.

Если вы держите свой обход блокировок, у вас почти наверняка есть белый список. Не как отдельная сущность, а как последнее правило в конфиге: разрешить то, разрешить это, а дальше reject. Появляется он в первый же день, когда доходит, что открытый прокси в интернете живёт до первой жалобы хостеру, и с этого дня к нему не возвращаются, потому что он не просит: узлы добавляются, конфиг раздаётся, туннель поднимается, мониторинг показывает зелёное.
У нас в этом списке было пять адресов при семи живых узлах, и сколько недель это продолжалось, я до сих пор сказать не могу.

Доброго времени суток, читатели!
Хочу представить вам unissh – современный, простой опенсорсный SSH клиент с selfhosted zero-knowledge сервером для синхронизации данных.

Однажды, морозным ноябрьским утром 2024 года, я, как новоиспечённый тимлид не такой уж и маленькой команды, поверил в себя и в то, что спустя полгода изучения проекта и передачи дел от предшественника я полностью понимаю, как там всё устроено. Судьба обычно наказывает за самоуверенность. Не стал исключением и мой случай.
Для понимания контекста добавлю, что я НЕ девопс - мне пришлось этим заниматься, и всё пишу через призму своего понимания проблемы. Возможно, сейчас придёт корифей AWS/CDK и скажет, что всё можно было сделать проще. Другими словами, не является индивидуальной инвестиционной рекомендацией.
Поставил OpenClaw и Hermes на один VPS и связал их между собой: первый принимает задачи из Telegram, второй исполняет их в своей песочнице. Через час после установки обнаружил, что панель управления агентом открыта в интернет, а ещё через полчаса — что фаервола на сервере нет вообще. Хроника нескольких вечеров про то, чем ИИ-агент опасен на своём сервере и сколько стоит поставить его по-человечески.

С 14 августа Claude Code будет запускать новые сессии на Pro, Max и Team в auto mode: вместо диалога «разрешить/запретить» каждую команду оценивает отдельный классификатор. Коротко о том, что печатает команда claude auto-mode defaults (60 149 символов правил, 65 запретов, тринадцать из двадцати полей окружения пустые), какие ваши правила прав продолжают работать поверх классификатора, что на самом деле стоит за цифрой 13,6% из пересказов и был ли у этой фичи откат в прошлых версиях.

Если в кластере больше пяти Helm-релизов, рано или поздно появляется скрипт. Сначала десять строк с helm upgrade --install, потом sleep 30 между базой и приложением, потом sops ▎ -d values.yml | helm -f -, потом ветка if [ “$ENV” = prod ]. В какой-то момент никто не может сказать, что именно он раскатит на проде, пока он это не сделает.
▎ nelmwave заменяет этот скрипт одним манифестом

Последние месяцы я довольно активно разрабатываю собственный AI SaaS-проект. Причём активность в случае AI-разработки имеет немного другой смысл, чем раньше. Когда значительную часть работы выполняют AI-агенты, скорость появления изменений резко возрастает. Агент создал изменения, открыл PR, другой агент или workflow проверил результат, если что-то не прошло, то новая итерация.
И довольно быстро я обнаружил неожиданное ограничение этой модели разработки. Если честно я ожидал и боялся упереться в токены LLM. Были небольшие опасения в производительности моего ноутбука. И даже сложность оркестрации не стала блокером.
Я упёрся в GitHub Actions квоту.

Два инженера, у обоих пять лет в DevOps и одинаковый стек в резюме: Kubernetes, Terraform, GitLab и вот это вот всё. Весной оба ходили по собеседованиям, но первый собрал офферы уровня “мидл, 200”, второй ушёл с “сеньор, 300” (алгоритмические секции первый, к слову, проходил лучше). Разница больше миллиона в год при неотличимых резюме. Ниже рамка, которая по моему мнению объясняет за что доплачивают, и три вопроса, чтобы найти в ней себя.

В статье рассматривается опыт миграции сети Kubernetes-кластера на новый IP-пул (Pool IP) с использованием CNI Cilium. Особое внимание уделено процессу смены IP-адресов для Pod'ов и Service'ов в работающем кластере без длительной остановки, а также подводных камнях, с которыми пришлось столкнуться при обновлении до версии 1.20.0. Материал будет полезен инженерам по эксплуатации Kubernetes использующих уже Cilium, а так же желающим познакомиться с этим инструментом.

Claude Code History Viewer читает ~/.claude/projects и превращает машинный JSONL в нормальный интерфейс: диалоги с тулколлами и сабагентами, глобальный поиск, статистика по токенам и стоимости, плюс истории ещё 27 клиентов вроде Codex CLI и Cursor. Показываю, как поднять его headless-режим в Docker на сервере без иксов (готовый бинарь + тонкий образ), что показывает Global Overview на 3,4 ГБ истории, как дёргать те же команды по HTTP через POST /api/<имя> и на какие мелочи я наступил — от обрезанного в логе токена до лимита памяти 512 МБ в официальном compose.

Что происходит после создания сервера? Его ещё нужно настроить: установить пакеты, создать пользователей, настроить службы, Docker, Nginx и другие компоненты. В статье разбираемся, как автоматизировать эту работу с помощью Ansible — одного из инструментов, упрощающих этот процесс.

Мощная и действительно "нано" по размерам – Nano Pi R3S. Это одна из крутых плат, которую можно купить по низкой цене и реализовать на ней много проектов - особенно если на ней стоит Docker!
Мне было интересно протестировать как там работает zapret и реализовать мою задумку с двумя сетями. Свободная и без блокировок сеть, которая еще и расширяет зону покрытия основной сети.

В cloud-native-среде безопасность давно не ограничивается защитой периметра. Уязвимость может появиться в IaC-шаблоне, попасть в контейнерный образ, пройти через CI/CD и проявиться уже в продакшене.
Тема очень сложная, поэтому когда я наткнулся на большой англоязычный материал о cloud-native-безопасности в публичном репозитории Security Technical Advisory Group, то сразу решил его перевести.
Cобрал практическое саммари: какие риски возникают на этапах разработки, сборки, развертывания и эксплуатации (runtime) и какими механизмами их закрывают — от DevSecOps и защиты цепочки поставки до Zero Trust и политик для работающих нагрузок.
Привет, Хабр!
Давеча я приметил в Интернете, что коллеги отображают UID/GID своих сервисов в rootless podman контейнерах, начиная с круглого числа, например --uidmap=0:1000000:65536 для первого, --uidmap=0:2000000:65536 для другого, --uidmap=0:3000000:65536 для третьего и т.д. В общем-то, в этом нет ничего предосудительного, ведь задача таким образом решается без пересечения пространства имён. Но и причина, по которой так делают, тоже понятна - перестраховаться. Давайте разберёмся, как отображать UID-в-UID в rootless podman:

Мы выпустили NEOMSA APIM 4.6.0. Основной фокус этого релиза — повышение безопасности состава поставки платформы.
В рамках процессов безопасной разработки (SSDLC) мы сформировали SBOM, проверили компоненты и их зависимости на известные уязвимости (SCA), сопоставили результаты с БДУ ФСТЭК России и обновили проблемные библиотеки. По итогам повторной проверки количество зарегистрированных находок сократилось с 57 до 7. Уязвимостей уровней Critical и High в финальной сборке не осталось.
В статье рассказываем, как устроена проверка NEOMSA APIM перед выпуском и какой критерий безопасности мы используем для принятия решения о готовности релиза.