Тема TLS выглядит простой, но здесь тоже есть нюансы, которые проявляются только после переключения трафика на Gateway API.
Ingress-NGINX работает в двух принципиально разных режимах с TLS.
_Первый_ — терминирование на уровне контроллера: сертификат прикреплён к Ingress через секрет, контроллер расшифровывает трафик и передаёт бэкенду по HTTP. В Gateway API это настраивается через
listeners[].tls.mode: Terminate с указанием certificateRefs в ресурсе Gateway._Второй_ — SSL passthrough через аннотацию
nginx.ingress.kubernetes.io/ssl-passthrough: "true". Контроллер проксирует зашифрованный поток напрямую к поду, не расшифровывая его. В Gateway API для этого существует отдельный тип ресурса — TLSRoute. И здесь важный момент: при passthrough контроллер не видит HTTP-заголовки. Маршрутизация по пути или заголовкам недоступна — только по SNI.Если в текущей конфигурации для одного хоста одновременно используются passthrough и HTTP-маршрутизация — это признак того, что архитектуру придётся пересматривать, а не просто переписывать манифесты.
Зафиксируйте для каждого хоста, какой режим TLS используется. Это определит не только синтаксис Gateway API, но и выбор реализации — не все из них поддерживают
TLSRoute в полном объёме.📍 Навигация: Вакансии • Задачи • Собесы
#арсенал_инженера
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍1
DevOpsConf 2026: Фабрика инженерных решений
2–3 апреля, Москва. Главное событие для инженеров по автоматизации разработки, надежности и эксплуатации, архитекторов, системных администраторов, технических лидеров и ИТ-директоров.
В этом году всё иначе - мы пересобрали привычный лекторий → в конструкторское бюро решений на DevOpsConf.
Над чем работаем:
🔹 Работа с наследием (легаси). Поток для тех, кому достался "черный ящик" без документации. Командная игра "Почини сломанную систему на скорость" + воркшоп по анализу древнего кода с помощью ИИ.
🔹 Наблюдаемость без паники. От метрик до архитектуры и борьбы с ложными алертами.
🔹 Как говорить с госорганами и бизнесом. Про 152-ФЗ, ФСТЭК и ГОСТы для инженеров, а также мастер-классы по питчингу решений для руководства.
Форматы: воркшопы, кейс‑игры, разбор инцидентов, экспертная зона.
👉 Изучить всю программу и забронировать билеты: https://tglink.io/3e56f4f5b86905?erid=2W5zFJBzVub
#реклама
О рекламодателе
2–3 апреля, Москва. Главное событие для инженеров по автоматизации разработки, надежности и эксплуатации, архитекторов, системных администраторов, технических лидеров и ИТ-директоров.
В этом году всё иначе - мы пересобрали привычный лекторий → в конструкторское бюро решений на DevOpsConf.
Над чем работаем:
🔹 Работа с наследием (легаси). Поток для тех, кому достался "черный ящик" без документации. Командная игра "Почини сломанную систему на скорость" + воркшоп по анализу древнего кода с помощью ИИ.
🔹 Наблюдаемость без паники. От метрик до архитектуры и борьбы с ложными алертами.
🔹 Как говорить с госорганами и бизнесом. Про 152-ФЗ, ФСТЭК и ГОСТы для инженеров, а также мастер-классы по питчингу решений для руководства.
Форматы: воркшопы, кейс‑игры, разбор инцидентов, экспертная зона.
👉 Изучить всю программу и забронировать билеты: https://tglink.io/3e56f4f5b86905?erid=2W5zFJBzVub
#реклама
О рекламодателе
❤1
💿 Прочитать диск без дисковода
Парень взял дешёвый USB микроскоп, посмотрел на старые диски и буквально прочитал текст, записанный на лазерном диске 40 лет назад.
На лазерном диске спиралью расположены микроскопические борозды. По ним лазер считывает данные. Под обычным микроскопом видны эти борозды, как полосы.
Но вот в чём кайф. Видно не просто какие-то линии. Видно структуру видеосигнала. Каждая строка видео это отдельная спираль на диске. Когда диск крутится, микроскоп видит одну строку за оборот.
➡️ Смотреть видео
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#пульс_индустрии
Парень взял дешёвый USB микроскоп, посмотрел на старые диски и буквально прочитал текст, записанный на лазерном диске 40 лет назад.
На лазерном диске спиралью расположены микроскопические борозды. По ним лазер считывает данные. Под обычным микроскопом видны эти борозды, как полосы.
Но вот в чём кайф. Видно не просто какие-то линии. Видно структуру видеосигнала. Каждая строка видео это отдельная спираль на диске. Когда диск крутится, микроскоп видит одну строку за оборот.
📍 Навигация: Вакансии • Задачи • Собесы
#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2🤔2
🛠 Простой Prometheus-экспортер для мониторинга доступности
Uptime Scope — это экспортер метрик на Go, который проверяет доступность URL и отдаёт результаты в формате Prometheus. Никакой лишней логики, никакой своей базы данных. Просто метрики на /metrics, которые Prometheus сам забирает по расписанию.
В ToDo ещё висят динамическое обнаружение целей и retry-логика, так что на продакшн с миллионом урлов пока не рассчитан. Но для базового мониторинга своих сервисов подходит.
В конфиг Prometheus добавляется стандартный scrape job. Можно сразу прописать несколько инстансов экспортера для разных регионов:
Это удобный способ получить географически распределённый мониторинг доступности — запускаете агентов в разных регионах, Prometheus собирает метрики со всех.
В комментариях к проекту уже подсветили несколько вещей. Во-первых, есть blackbox exporter от самой команды Prometheus — он решает похожую задачу и поддерживает динамическое обнаружение целей через сам Prometheus. Uptime Scope пока проще, но автор планирует добавить собственный dynamic discovery.
Во-вторых, по коду есть несколько резонных замечаний: путь к конфигу лучше передавать флагом, интервал проверок сделать настраиваемым, добавить graceful shutdown и структурированное логирование через slog. Всё это стандартные практики для Go-сервисов.
➡️ Репозиторий
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#арсенал_инженера
Uptime Scope — это экспортер метрик на Go, который проверяет доступность URL и отдаёт результаты в формате Prometheus. Никакой лишней логики, никакой своей базы данных. Просто метрики на /metrics, которые Prometheus сам забирает по расписанию.
В ToDo ещё висят динамическое обнаружение целей и retry-логика, так что на продакшн с миллионом урлов пока не рассчитан. Но для базового мониторинга своих сервисов подходит.
В конфиг Prometheus добавляется стандартный scrape job. Можно сразу прописать несколько инстансов экспортера для разных регионов:
scrape_configs:
- job_name: 'uptime_scope'
scrape_interval: 30s
static_configs:
- targets:
- 'uptimescope-eu-west:8181'
- 'uptimescope-us-east:8181'
- 'uptimescope-asia:8181'
Это удобный способ получить географически распределённый мониторинг доступности — запускаете агентов в разных регионах, Prometheus собирает метрики со всех.
В комментариях к проекту уже подсветили несколько вещей. Во-первых, есть blackbox exporter от самой команды Prometheus — он решает похожую задачу и поддерживает динамическое обнаружение целей через сам Prometheus. Uptime Scope пока проще, но автор планирует добавить собственный dynamic discovery.
Во-вторых, по коду есть несколько резонных замечаний: путь к конфигу лучше передавать флагом, интервал проверок сделать настраиваемым, добавить graceful shutdown и структурированное логирование через slog. Всё это стандартные практики для Go-сервисов.
📍 Навигация: Вакансии • Задачи • Собесы
#арсенал_инженера
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
💻 Аннотации Ingress-NGINX, для которых нет прямых аналогов в Gateway API
Большая часть конфигурации Ingress-NGINX живёт в аннотациях — и именно здесь при переходе на Gateway API чаще всего возникают пробелы.
В Gateway API нет системы аннотаций контроллера в том же смысле. Вместо них — фильтры внутри HTTPRoute, Policy Attachment и расширения конкретных реализаций. Это архитектурное решение, а не недоработка.
Несколько конкретных примеров:
Составьте список всех аннотаций из текущих Ingress-ресурсов и проверьте их поддержку в выбранной реализации Gateway API. Лучше сделать это до выбора реализации, а не после.
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#арсенал_инженера
Большая часть конфигурации Ingress-NGINX живёт в аннотациях — и именно здесь при переходе на Gateway API чаще всего возникают пробелы.
В Gateway API нет системы аннотаций контроллера в том же смысле. Вместо них — фильтры внутри HTTPRoute, Policy Attachment и расширения конкретных реализаций. Это архитектурное решение, а не недоработка.
Несколько конкретных примеров:
nginx.ingress.kubernetes.io/limit-rps настраивает rate limiting. В Gateway API аналог реализуется через политики, привязанные к маршруту или gateway. Но синтаксис зависит от реализации — Istio, Envoy Gateway и Kgateway делают это по-разному. Единого стандарта пока нет.nginx.ingress.kubernetes.io/auth-url подключает внешнюю аутентификацию через subrequest. Аналог в Gateway API — внешние фильтры через ExtensionRef. Зависит от реализации и требует отдельной проверки.nginx.ingress.kubernetes.io/configuration-snippet позволяла вставлять произвольные директивы в конфиг NGINX. В Gateway API такого механизма нет — это намеренное решение ради безопасности. Если сниппеты активно использовались, нужно найти другой способ реализовать ту же логику.Составьте список всех аннотаций из текущих Ingress-ресурсов и проверьте их поддержку в выбранной реализации Gateway API. Лучше сделать это до выбора реализации, а не после.
📍 Навигация: Вакансии • Задачи • Собесы
#арсенал_инженера
Please open Telegram to view this post
VIEW IN TELEGRAM
☝️ Уже сегодня: ИИ-агенты в продакшене — инженерный подход к интеграции LLM
Индустрия активно обсуждает потенциал нейросетей, способных автоматизировать бизнес-процессы и заменить целые отделы. Однако реальное внедрение агентов в
Сегодня в 19:00 МСК в рамках нашего курса «Разработка AI-агентов» мы проведём открытый вебинар «ИИ-агенты в продакшене: от хайпа к деньгам». Спикер — Полина Полунина, руководитель AI-направления в Альфа-Банке. Будем говорить о нейросетях с позиции жёсткой инженерии.
Разберём три реальных кейса из сурового банковского энтерпрайза, напишем и запустим агента прямо в эфире, честно обсудим грабли, на которые наступает бизнес при интеграции
Тем, кто придёт на эфир, дадим промокод AGENTS на скидку 10 000 ₽ на любой тариф курса.
👉 Занять место на вебинаре
Индустрия активно обсуждает потенциал нейросетей, способных автоматизировать бизнес-процессы и заменить целые отделы. Однако реальное внедрение агентов в
production вскрывает серьёзные проблемы: разработчикам приходится бороться с непредсказуемыми галлюцинациями моделей, нестабильными API и сложной интеграцией в существующую архитектуру.Сегодня в 19:00 МСК в рамках нашего курса «Разработка AI-агентов» мы проведём открытый вебинар «ИИ-агенты в продакшене: от хайпа к деньгам». Спикер — Полина Полунина, руководитель AI-направления в Альфа-Банке. Будем говорить о нейросетях с позиции жёсткой инженерии.
Разберём три реальных кейса из сурового банковского энтерпрайза, напишем и запустим агента прямо в эфире, честно обсудим грабли, на которые наступает бизнес при интеграции
LLM.Тем, кто придёт на эфир, дадим промокод AGENTS на скидку 10 000 ₽ на любой тариф курса.
👉 Занять место на вебинаре
❤1🤔1
⏳ Часовая готовность: создаём ИИ-агента в прямом эфире
В 19:00 МСК в рамках нашего курса «Разработка AI-агентов» стартует вебинар «ИИ-агенты в продакшене: от хайпа к деньгам». Спикер — Полина Полунина, руководитель AI-направления в Альфа-Банке.
Будет live-демо работающего агента, реальные метрики из корпоративной среды и честный разбор архитектурных граблей — без воды и «успешного успеха».
Всем зрителям эфира дадим эксклюзивный промокод AGENTS на скидку 10 000 ₽ на любой тариф курса.
👉 Занять место на вебинаре
В 19:00 МСК в рамках нашего курса «Разработка AI-агентов» стартует вебинар «ИИ-агенты в продакшене: от хайпа к деньгам». Спикер — Полина Полунина, руководитель AI-направления в Альфа-Банке.
Будет live-демо работающего агента, реальные метрики из корпоративной среды и честный разбор архитектурных граблей — без воды и «успешного успеха».
Всем зрителям эфира дадим эксклюзивный промокод AGENTS на скидку 10 000 ₽ на любой тариф курса.
👉 Занять место на вебинаре
🔗 Найм по знакомству — это не блат
Это когда действующий сотрудник ставит свою репутацию за кандидата. Компании такое любят: быстрее, дешевле, надёжнее. За удачную рекомендацию платят от нескольких тысяч до 80 000 ₽.
Для соискателя это тоже выгодно — меньше этапов, больше контекста о команде заранее и выше шанс на оффер.
➡️ Как устроиться по рекомендации и где искать реферальные программы
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
Это когда действующий сотрудник ставит свою репутацию за кандидата. Компании такое любят: быстрее, дешевле, надёжнее. За удачную рекомендацию платят от нескольких тысяч до 80 000 ₽.
Для соискателя это тоже выгодно — меньше этапов, больше контекста о команде заранее и выше шанс на оффер.
📍 Навигация: Вакансии • Задачи • Собесы
Please open Telegram to view this post
VIEW IN TELEGRAM
Watchtower закрылся. Те, кто держал Docker-контейнеры актуальными через этот инструмент, оказались перед вопросом: что теперь?
Автообновление образов — базовая операционная потребность, и Docker её так и не решили нативно. Всегда нужен был сторонний инструмент. Podman подошёл к этому иначе: обновления и откаты встроены в платформу, никаких демонов-мониторов, никаких внешних утилит.
Основа механизма — команда
podman auto-update. Она проверяет контейнеры с нужным лейблом и обновляет их, если в реестре появился новый образ. Чтобы контейнер участвовал в автообновлениях, ему нужен лейбл
io.containers.autoupdate. Значение registry сравнивает дайджесты образов с реестром, local проверяет локально собранные образы.Лейбл задаётся при создании контейнера:
podman run -d --name my-service \
--label "io.containers.autoupdate=registry" \
docker.io/library/nginx:latest
В Quadlet-файле достаточно одной строки в секции [Container]:
AutoUpdate=registry
Само обновление запускается через systemd-таймер. Включается он одной командой:
systemctl --user enable --now podman-auto-update.timer
Пример конфига для обновлений каждый понедельник в 3:30 ночи:
[Timer]
OnCalendar=Mon *-*-* 03:30:00
RandomizedDelaySec=30m
Перед тем как писать выражение для
OnCalendar, стоит проверить его через systemd-analyze calendar — он сразу покажет следующее время срабатывания и не даст ошибиться с форматом.Podman не угадывает проблемы заранее, он реагирует. Последовательность такая: тянет новый образ, перезапускает сервис, смотрит, запустился ли контейнер. Не запустился — возвращает предыдущий образ.
Для этого нужно три условия:
• контейнер управляется через systemd
• флаг
--rollback включён• systemd может понять, что контейнер сломан.
Самый надёжный способ это обеспечить — health check с sdnotify. Контейнер сам сигналит systemd о готовности. Если сигнал не пришёл за отведённое время, systemd фиксирует сбой и Podman откатывается.
📍 Навигация: Вакансии • Задачи • Собесы
#root_prompt
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2❤1🤔1
🖇 Как убедиться, что после миграции ничего не сломалось
Финальный пост цикла о миграции с Ingress-NGINX. Предыдущие посты описывали конкретные ловушки. Этот — о том, как проверить результат и снизить риск сбоев при переключении трафика.
Инвентаризация. Выгрузите все Ingress-ресурсы и составьте список уникальных аннотаций. Это покажет полный объём конфигурации, которую нужно перенести, и места, где автоматический перевод невозможен.
Теневое тестирование. Gateway API поддерживает зеркалирование трафика через фильтр
Утилита
Проверка приоритетов маршрутов. В Gateway API более специфичный путь имеет больший приоритет. В Ingress-NGINX логика другая. Если есть пересекающиеся маршруты, порядок их срабатывания после миграции может измениться незаметно.
Начните с одного маршрута, протестируйте его в тени, убедитесь в корректности — и только потом двигайтесь дальше. Чем больше у вас тестов, описывающих реальное поведение маршрутов, тем безопаснее переход.
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#арсенал_инженера
Финальный пост цикла о миграции с Ingress-NGINX. Предыдущие посты описывали конкретные ловушки. Этот — о том, как проверить результат и снизить риск сбоев при переключении трафика.
Инвентаризация. Выгрузите все Ingress-ресурсы и составьте список уникальных аннотаций. Это покажет полный объём конфигурации, которую нужно перенести, и места, где автоматический перевод невозможен.
Теневое тестирование. Gateway API поддерживает зеркалирование трафика через фильтр
RequestMirror. Реальный трафик продолжает идти через Ingress-NGINX, а его копия параллельно обрабатывается новым Gateway. Можно сравнивать ответы и выявлять расхождения без риска для продакшена.Утилита
ingress2gateway. Инструмент от сообщества Kubernetes конвертирует Ingress-ресурсы в HTTPRoute и показывает места, где автоматический перевод невозможен. Хорошая отправная точка, но не финальный результат.Проверка приоритетов маршрутов. В Gateway API более специфичный путь имеет больший приоритет. В Ingress-NGINX логика другая. Если есть пересекающиеся маршруты, порядок их срабатывания после миграции может измениться незаметно.
Начните с одного маршрута, протестируйте его в тени, убедитесь в корректности — и только потом двигайтесь дальше. Чем больше у вас тестов, описывающих реальное поведение маршрутов, тем безопаснее переход.
📍 Навигация: Вакансии • Задачи • Собесы
#арсенал_инженера
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🔄 curl 8.19.0: что изменилось
За два с небольшим месяца разработки накопилось 538 коммитов. Это 273-й релиз утилиты и библиотеки.
В этом обновлении закрыли четыре CVE. Среди них некорректное повторное использование соединения HTTP Negotiate, утечка токенов при редиректе через netrc, проблема с прокси-соединениями при наличии учётных данных и use-after-free в SMB.
Примечательно, что программу bug bounty закрыли ещё до релиза, но баги находить от этого не перестали.
Из заметных изменений: появилась начальная поддержка MQTTS, в --limit-rate и --max-filesize теперь можно передавать дробные значения, а в Windows curl можно собрать с нативным хранилищем сертификатов CA.
Минимальная поддерживаемая версия Windows теперь Vista. Поддержку OpenSSL-QUIC убрали совсем. В следующих версиях планируют сделать опциональными NTLM и SMB, удалить RTMP и TLS-SRP.
➡️ Источник
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#пульс_индустрии
За два с небольшим месяца разработки накопилось 538 коммитов. Это 273-й релиз утилиты и библиотеки.
В этом обновлении закрыли четыре CVE. Среди них некорректное повторное использование соединения HTTP Negotiate, утечка токенов при редиректе через netrc, проблема с прокси-соединениями при наличии учётных данных и use-after-free в SMB.
Примечательно, что программу bug bounty закрыли ещё до релиза, но баги находить от этого не перестали.
Из заметных изменений: появилась начальная поддержка MQTTS, в --limit-rate и --max-filesize теперь можно передавать дробные значения, а в Windows curl можно собрать с нативным хранилищем сертификатов CA.
Минимальная поддерживаемая версия Windows теперь Vista. Поддержку OpenSSL-QUIC убрали совсем. В следующих версиях планируют сделать опциональными NTLM и SMB, удалить RTMP и TLS-SRP.
📍 Навигация: Вакансии • Задачи • Собесы
#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Исследователи Black Lotus Labs опубликовали отчёт о новом ботнете KadNap. Разбираем, что произошло и что делать.
С августа 2025 года тихо растёт ботнет из 14 000+ заражённых роутеров, преимущественно Asus. Заражённые устройства продаются как прокси-сервис под названием Doppelganger — анонимайзер для криминальных операций: брутфорс, целевые атаки, обход геофильтров.
Особенность малвари — она прячет C2-серверы в P2P-сети Kademlia DHT (та самая, что под BitTorrent). Трафик к командным серверам растворяется в легитимном торрент-шуме. Классические блокировки по IP и ASN не работают.
Цепочка заражения проста:
• cron-задача каждый час тянет скрипт с сервера атакующих
• скрипт скачивает ELF-файл kad и запускает его
• малварь закрывает SSH (порт 22) через iptables, чтобы никто не вылечил
• роутер уходит в ботнет и начинает проксировать чужой грязный трафик
🛠 Что делать прямо сейчас
1. Проверить роутеры на периметре
Посмотреть, есть ли в /jffs/ файл .asusrouter или процесс kad. На управляемых устройствах — через SNMP/Zabbix/Netbox. Если устройства не мониторятся вообще — это уже проблема.
2. Проверить трафик к BitTorrent-трекерам
Если корпоративный роутер или edge-устройство ломится на публичные DHT-ноды (порт 6881/UDP и смежные) — это красный флаг. В нормальной инфраструктуре такого быть не должно.
3. Заблокировать IoC
Black Lotus Labs выложили индикаторы компрометации на GitHub:
github.com/blacklotuslabs/IOCs/blob/main/KadNap_IOCs.txt
Добавить в WAF, EDR, firewall-правила. Lumen уже заблокировал инфраструктуру на своём backbone — но у вас своя.
4. Закрыть управление роутерами от интернета
Веб-морда и SSH роутера не должны торчать наружу. Если торчат — закрыть немедленно. Управление только через VPN или выделенный out-of-band канал.
5. Сменить дефолтные пароли и обновить прошивку
Звучит банально, но именно так KadNap и попадает на устройства. Asus выпускает обновления прошивок — проверить, стоит ли актуальная.
6. Перезагрузить заражённое устройство
Малварь живёт в /tmp и /jffs. Перезагрузка не лечит полностью , потому что cron-задача восстановит, но даёт окно для диагностики и смены учёток до повторного заражения.
7. Устройства EOL — на замену
Если роутер снят с поддержки производителем — патчей не будет. Эксплуатировать такое в 2026 году это не технический долг, это открытая дверь.
Ваш роутер в ботнете — это не только ваша проблема. С вашего IP брутфорсят чужие VPN, атакуют банки, обходят 2FA. Репутация вашего IP падает, вас блокируют сервисы, а следователи в какой-то момент могут постучаться с вопросами.
60% жертв KadNap — США. Но география ботнета расширяется.
📍 Навигация: Вакансии • Задачи • Собесы
#разбор_полётов
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
Основная тема релиза, судя по названию «Mousing», — улучшенная работа с мышью и тачпадом.
Что изменилось
Скролл в буфере прокрутки теперь происходит попиксельно, а не построчно. На Linux появилась поддержка инерционной прокрутки для тачпадов и тачскринов. На X11 заработали события высокоточного скролла от современных тачпадов.
Теперь можно перетаскивать вкладки в панели вкладок, менять их порядок, перемещать в другое окно kitty или отцеплять в отдельное окно.
Появилась возможность изменять размер сплитов мышью, перетаскивая границы окон. Работает во всех режимах раскладки. Чувствительность настраивается через параметр
window_drag_tolerance.Добавлена командная палитра, через которую можно просматривать и запускать все действия, в том числе без привязки к горячим клавишам.
Из других изменений:
shift+клик теперь расширяет текущее выделение вместо того, чтобы начинать новое; двойной клик по вкладке переименовывает её;
в раскладках со сплитами появились новые действия для максимизации окна.
📍 Навигация: Вакансии • Задачи • Собесы
#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
На собесе спрашивают про управление сервисами через systemd — и это то, с чем сталкиваешься на каждом Linux-сервере.
Большинство знает start и stop. Но на практике этого мало: нужно понимать как добавить сервис в автозагрузку, как посмотреть логи именно этого сервиса, и как поменять параметры его запуска не трогая системные файлы руками.
📍 Навигация: Вакансии • Задачи • Собесы
#задача_со_звёздочкой
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
База данных в Kubernetes не торчит наружу — это правильно. Но иногда нужно подключиться к ней локально: посмотреть данные, прогнать миграцию, отладить запрос.
kubectl port-forward пробрасывает порт сервиса прямо на вашу машину:kubectl port-forward svc/<service-name> 5432:5432 --address 0.0.0.0
Флаг
--address 0.0.0.0 здесь ключевой. Без него проброшенный порт доступен только с localhost — то есть только с вашей машины. С ним — со всех устройств в локальной сети. Полезно, когда нужно дать временный доступ коллеге или подключиться с другого девайса.📍 Навигация: Вакансии • Задачи • Собесы
#root_prompt
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
🔄 SQLite закрывает баг, который мог портить данные в режиме WAL
Вышла версия SQLite 3.51.3. Это патч-релиз с одним важным исправлением: баг, который в редких случаях мог повредить базу данных при работе в режиме Write-Ahead Logging.
Баг получил название «WAL-reset bug». Он проявлялся только при нескольких одновременных подключениях к одному файлу из разных потоков или процессов, когда они параллельно писали данные или создавали контрольные точки.
По сути это состояние гонки с очень узким временным окном.
В боевых условиях воспроизвести его так и не удалось, а проверить исправление пришлось через специально написанную тестовую логику, намеренно создающую нужное состояние.
Что именно происходило: одна контрольная точка завершалась, сразу запускалась вторая, и в этот момент другое соединение сбрасывало WAL-файл и записывало новые данные в его начало. Вторая контрольная точка не замечала этого сброса и выставляла неверное значение в заголовке WAL-индекса.
В итоге при следующей контрольной точке часть транзакций просто пропускалась и не попадала в основной файл базы. База оказывалась повреждена.
➡️ Источник
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#пульс_индустрии
Вышла версия SQLite 3.51.3. Это патч-релиз с одним важным исправлением: баг, который в редких случаях мог повредить базу данных при работе в режиме Write-Ahead Logging.
Баг получил название «WAL-reset bug». Он проявлялся только при нескольких одновременных подключениях к одному файлу из разных потоков или процессов, когда они параллельно писали данные или создавали контрольные точки.
По сути это состояние гонки с очень узким временным окном.
В боевых условиях воспроизвести его так и не удалось, а проверить исправление пришлось через специально написанную тестовую логику, намеренно создающую нужное состояние.
Что именно происходило: одна контрольная точка завершалась, сразу запускалась вторая, и в этот момент другое соединение сбрасывало WAL-файл и записывало новые данные в его начало. Вторая контрольная точка не замечала этого сброса и выставляла неверное значение в заголовке WAL-индекса.
В итоге при следующей контрольной точке часть транзакций просто пропускалась и не попадала в основной файл базы. База оказывалась повреждена.
📍 Навигация: Вакансии • Задачи • Собесы
#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
deploy.py
5.8 KB
Каждый деплой вручную это риск. Забыл проверить health-эндпоинт, не откатился вовремя, переключил трафик на сломанный контейнер.
Прикреплённый скрипт решает именно это: забирает новый образ, тестирует его до того как пустить в бой, и сам откатывается если что-то пошло не так.
Как запустить:
pip install httpx
python deploy.py
Все настройки в секции CONFIG вверху файла: имя образа, порты, список тестов. Под конкретный проект меняется за минуту.
Это не замена Kubernetes или полноценному оркестратору. Но для одного сервера или небольшого проекта это рабочее решение без лишних зависимостей.
Чтобы писать такие скрипты нужно знать Python. Подтянуть базу и попасть на продвинутый уровень можно тут
📍 Навигация: Вакансии • Задачи • Собесы
#арсенал_инженера
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Когда сервис обрабатывает 15 000 запросов в секунду, а p99 всё равно ведёт себя странно, код тут ни при чём. Проблема может быть в ОС. Разберём, чем Linux и FreeBSD отличаются на уровне ядра и где каждый из них реально быстрее.
• Шедулеры
Linux с версии 6.6 использует EEVDF вместо старого CFS. Он учитывает дедлайны задач и снижает джиттер для чувствительных к задержке сервисов.
FreeBSD использует ULE. Хорош для интерактивных задач и NUMA-балансировки, держит процессы ближе к их CPU-кешу.
• I/O: io_uring против kqueue
Это главное различие для серверных нагрузок. io_uring, появившийся в Linux 5.1, использует общие кольцевые буферы между userspace и ядром. Меньше системных вызовов, меньше смены контекста, батчевая отправка запросов.
FreeBSD использует kqueue. Технически хорошее решение, которое в своё время повлияло на дизайн io_uring. Но батчами отправлять запросы не умеет.
• Кого куда назначить
Linux выигрывает на I/O-тяжёлых API при высокой конкурентности. io_uring здесь не просто деталь, а архитектурное преимущество. Go, Rust и большинство современных рантаймов используют его автоматически на Linux.
FreeBSD лучше там, где много системных вызовов, важна предсказуемость аллокатора и нужен сетевой стек с минимальными задержками. Netflix держит FreeBSD на CDN-эджах именно из-за этого.
📍 Навигация: Вакансии • Задачи • Собесы
#арсенал_инженера
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Надеемся все пережили пятницу 13е.
— Прочитать диск без дисковода
— Найм по знакомству
— curl 8.19.0
— Ботнет KadNap
— kitty 0.46.0
📍 Навигация: Вакансии • Задачи • Собесы
#дайджест_недели
Please open Telegram to view this post
VIEW IN TELEGRAM