💥 Jenkins снова под прицелом
Представьте: вы открываете Jenkins, даже не авторизовавшись, и видите список агентов, их ОС, состояние очереди и подключённость. Именно так работала страница /securityRealm/signup до версии 2.528.
Почему так вышло
Jenkins когда-то включил туда стандартную боковую панель, а в ней отображались статусы билдов. Никто не заметил, что даже неавторизованный пользователь может глянуть в кухню CI/CD.
Как нашли
Исследователь просто прошёл по URL, получил ответ и увидел всю внутреннюю картину — идеальный старт для атакующего:
— имена агентов → подсказка для lateral movement,
— ОС узлов → выбор эксплойтов,
— статус очереди → понимание нагрузки системы.
В Jenkins 2.528 и LTS 2.516.3 разработчики вычистили include боковой панели из signup.jelly. Теперь любопытный глаз ничего лишнего не увидит.
Иногда уязвимости рождаются не из сложной криптографии, а из банального. Проверяйте даже мелкие шаблоны — иначе ваш CI/CD раскроет инфраструктуру до единого узла.
🐸 Библиотека devops'a
#разбор_полётов
Представьте: вы открываете Jenkins, даже не авторизовавшись, и видите список агентов, их ОС, состояние очереди и подключённость. Именно так работала страница /securityRealm/signup до версии 2.528.
Почему так вышло
Jenkins когда-то включил туда стандартную боковую панель, а в ней отображались статусы билдов. Никто не заметил, что даже неавторизованный пользователь может глянуть в кухню CI/CD.
Как нашли
Исследователь просто прошёл по URL, получил ответ и увидел всю внутреннюю картину — идеальный старт для атакующего:
— имена агентов → подсказка для lateral movement,
— ОС узлов → выбор эксплойтов,
— статус очереди → понимание нагрузки системы.
В Jenkins 2.528 и LTS 2.516.3 разработчики вычистили include боковой панели из signup.jelly. Теперь любопытный глаз ничего лишнего не увидит.
Иногда уязвимости рождаются не из сложной криптографии, а из банального. Проверяйте даже мелкие шаблоны — иначе ваш CI/CD раскроет инфраструктуру до единого узла.
#разбор_полётов
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡1👍1👾1
🚦 Ускоряем GitLab CI/CD
Обычный пайплайн в GitLab идёт «ступеньками»: сначала build, потом test, потом deploy. Даже если задачи никак не связаны, они будут терпеливо ждать друг друга. В итоге лишние минуты и часы простаивания.
Вместо жёстких стадий можно описать зависимости между стадиями. В GitLab CI это называется DAG — Directed Acyclic Graphs.
Например:
— линтер может запуститься сразу, не дожидаясь сборки,
— тесты стартуют сразу после билда,
— деплой уходит в бой, как только готовы нужные джобы.
Выглядит это так:
DAG превращает ваш CI/CD из очереди в автомагистраль. Если у вас много джобов — самое время пересмотреть пайплайн.
🐸 Библиотека devops'a
#арсенал_инженера
Обычный пайплайн в GitLab идёт «ступеньками»: сначала build, потом test, потом deploy. Даже если задачи никак не связаны, они будут терпеливо ждать друг друга. В итоге лишние минуты и часы простаивания.
Вместо жёстких стадий можно описать зависимости между стадиями. В GitLab CI это называется DAG — Directed Acyclic Graphs.
Например:
— линтер может запуститься сразу, не дожидаясь сборки,
— тесты стартуют сразу после билда,
— деплой уходит в бой, как только готовы нужные джобы.
Выглядит это так:
unit-tests:
stage: test
needs: [ "build-job" ]
script: make test
lint:
stage: test
script: make lint
deploy:
stage: deploy
needs: [ "unit-tests", "lint" ]
script: make deploy
DAG превращает ваш CI/CD из очереди в автомагистраль. Если у вас много джобов — самое время пересмотреть пайплайн.
#арсенал_инженера
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🚀 Всё о курсе «ИИ-агенты для DS-специалистов»
❓ Зачем нужны ИИ-агенты?
Это системы, которые берут на себя задачи аналитики и автоматизации. Именно они становятся основой для работы с корпоративными данными и для поддержки принятия решений.
❓ Зачем мне курс?
Курс отвечает на три ключевых вопроса:
— Как построить собственную систему агентов с нуля?
— Каким образом использовать RAG-подход для работы с корпоративными данными?
— Как адаптировать LLM под реальные задачи бизнеса?
❓ Подходит ли это мне?
Курс рассчитан на специалистов уровня middle+ и senior: ML/AI инженеров, Data Scientists, backend и platform-разработчиков. Подойдёт и студентам CS/DS, если вы готовы к продвинутым практикам.
Запись вводной встречи «ИИ-агенты: новая фаза развития искусственного интеллекта» доступна по ссылке.
❓ Когда старт?
Обучение начинается 3 октября.
❓ Сколько стоит?
До 28 сентября действует скидка → 57 000 ₽ вместо 69 000 ₽ (промокод datarascals).
🔗 Описание программы и регистрация
❓ Зачем нужны ИИ-агенты?
Это системы, которые берут на себя задачи аналитики и автоматизации. Именно они становятся основой для работы с корпоративными данными и для поддержки принятия решений.
❓ Зачем мне курс?
Курс отвечает на три ключевых вопроса:
— Как построить собственную систему агентов с нуля?
— Каким образом использовать RAG-подход для работы с корпоративными данными?
— Как адаптировать LLM под реальные задачи бизнеса?
❓ Подходит ли это мне?
Курс рассчитан на специалистов уровня middle+ и senior: ML/AI инженеров, Data Scientists, backend и platform-разработчиков. Подойдёт и студентам CS/DS, если вы готовы к продвинутым практикам.
Запись вводной встречи «ИИ-агенты: новая фаза развития искусственного интеллекта» доступна по ссылке.
❓ Когда старт?
Обучение начинается 3 октября.
❓ Сколько стоит?
До 28 сентября действует скидка → 57 000 ₽ вместо
🔗 Описание программы и регистрация
🔥 Сегодня последний день скидки!
На недавнем вебинаре «ИИ-агенты: новая фаза развития AI» мы показали, как агенты уже меняют работу Data Scientists и инженеров.
Что тебя ждёт на курсе:
⚡️ создашь своего ИИ-агента с нуля
⚡️ соберёшь RAG-систему
⚡️ научишься адаптировать LLM под реальные данные бизнеса
⏳ До конца этого дня цена на курс 57 000 ₽. Уже завтра будет 69 000 ₽. Успевай записаться (используй промокодdatarascals ).
🔗 Записаться на курс
На недавнем вебинаре «ИИ-агенты: новая фаза развития AI» мы показали, как агенты уже меняют работу Data Scientists и инженеров.
Что тебя ждёт на курсе:
⚡️ создашь своего ИИ-агента с нуля
⚡️ соберёшь RAG-систему
⚡️ научишься адаптировать LLM под реальные данные бизнеса
⏳ До конца этого дня цена на курс 57 000 ₽. Уже завтра будет 69 000 ₽. Успевай записаться (используй промокод
🔗 Записаться на курс
Срочное включение с новостями и материалами прошедшей недели
— Grafana 12.2
В свежем релизе Grafana 12.2 появилась поддержка LLM-powered SQL expressions — теперь можно использовать генеративный ИИ для написания SQL прямо в панели.
— Docker Desktop 4.46
— ТОП-9 популярных AI-агентов для разработки
— Rufus 4.10
— Дыра в Jenkiins
#дайджест_недели
Please open Telegram to view this post
VIEW IN TELEGRAM
⏳ Последние часы со скидкой!
Мы уже закрыли вебинар «ИИ-агенты: новая фаза развития AI», но запись всё ещё доступна.
А дальше остаётся только практика. На курсе «ИИ-агенты для DS-специалистов» ты научишься разрабатывать агентов, собирать RAG-системы и адаптировать LLM под бизнес.
⏰ Сегодня цена ещё 57.000 ₽ с промокодом datarascals.
Завтра — 69.000 ₽.
👉 Успеть оплатить до полуночи
Мы уже закрыли вебинар «ИИ-агенты: новая фаза развития AI», но запись всё ещё доступна.
А дальше остаётся только практика. На курсе «ИИ-агенты для DS-специалистов» ты научишься разрабатывать агентов, собирать RAG-системы и адаптировать LLM под бизнес.
⏰ Сегодня цена ещё 57.000 ₽ с промокодом datarascals.
Завтра — 69.000 ₽.
👉 Успеть оплатить до полуночи
💻 Docker теперь запускает целые ОС
Обычно для тестов разных ОС нужны виртуалки, отдельные сервера или dual-boot. Но есть трюк: через Docker можно поднять полноценную систему буквально одной командой.
Контейнер запускается в
Пример для Windows:
Через пару минут вы получаете рабочий десктоп.
🐸 Библиотека devops'a
#root@prompt
Обычно для тестов разных ОС нужны виртуалки, отдельные сервера или dual-boot. Но есть трюк: через Docker можно поднять полноценную систему буквально одной командой.
Контейнер запускается в
--privileged
режиме и внутри поднимает виртуалку. Подключение к системе идёт через VNC или прямо из браузера.Пример для Windows:
docker run --privileged -d -p 5999:5999 --name my-win-vm dockur/windows
Через пару минут вы получаете рабочий десктоп.
#root@prompt
Please open Telegram to view this post
VIEW IN TELEGRAM
В Kubernetes появилась новая фича — Changed Block Tracking для CSI-драйверов, но она пока в альфе. Суть простая: вместо того чтобы копировать весь том при бэкапе, система отслеживает только изменившиеся блоки данных и забирает именно их.
#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM
Сегодня покажем вам команду для подписки на наш канал в X:
proglib follow https://x.com/_proglib --notify
Если не сработает, то всегда можно перейти по ссылке и подписаться вручную.
Please open Telegram to view this post
VIEW IN TELEGRAM
😁2👍1
🤖 Курс «ИИ-агенты для DS-специалистов»
Последняя возможность в этом году освоить ИИ-агентов — курс стартует уже 3 октября! Первый вебинар пройдёт в день старта, а подробности вебинара можно найти на сайте.
📚 Бонус: при оплате до 30 сентября вы получите дополнительный лонгрид для подготовки к курсу. Это отличный способ подойти к занятиям уже с базой.
🔥 А ещё после прохождения курса у вас будет достаточно знаний, чтобы участвовать в хакатоне с призовым фондом 1 125 000 ₽.
🔗 Записаться на курс и узнать подробности
Последняя возможность в этом году освоить ИИ-агентов — курс стартует уже 3 октября! Первый вебинар пройдёт в день старта, а подробности вебинара можно найти на сайте.
📚 Бонус: при оплате до 30 сентября вы получите дополнительный лонгрид для подготовки к курсу. Это отличный способ подойти к занятиям уже с базой.
🔥 А ещё после прохождения курса у вас будет достаточно знаний, чтобы участвовать в хакатоне с призовым фондом 1 125 000 ₽.
🔗 Записаться на курс и узнать подробности
Линус Торвальдс объявил релиз Linux 6.17. По его словам, неделя вышла спокойной: никаких «бомб», только ровная полировка.
Самое заметное — фиксы гонок в Bluetooth, которые могли приводить к use-after-free. Плюс привычный набор мелочей: драйверы (в основном GPU и сеть), файловые системы, ядро и память, апдейты selftests.
#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM
📡 Конец эпохи диалап
Компания AOL официально прекращает поддержку dial-up — того самого интернета с писком модема и долгим ожиданием соединения.
В 90-е и начале 2000-х это был главный способ выйти в сеть, и многие именно с него начинали знакомство с интернетом.
Dial-up остаётся в прошлом — вместе со звуками соединения и лимитированными тарифами на часы онлайна.
❓ А когда вы в последний раз пользовались dial-up интернетом
📎 Источник
🐸 Библиотека devops'a
#dev_null
Компания AOL официально прекращает поддержку dial-up — того самого интернета с писком модема и долгим ожиданием соединения.
В 90-е и начале 2000-х это был главный способ выйти в сеть, и многие именно с него начинали знакомство с интернетом.
Dial-up остаётся в прошлом — вместе со звуками соединения и лимитированными тарифами на часы онлайна.
📎 Источник
#dev_null
Please open Telegram to view this post
VIEW IN TELEGRAM
Distroless-образы стали популярны благодаря минимализму: внутри только ваше приложение и рантайм: Java, Go, Node.js. Никакого bash, curl или apt. Это повышает безопасность, ускоряет скачивание и снижает поверхность атаки.
Но у такого подхода есть обратная сторона — как отлаживать контейнер без шелла и утилит?
В обычном контейнере вы просто делаете kubectl exec -it pod -- bash и изучаете логи, процессы, сетевые соединения. В distroless — так не получится: шелла и инструментов там нет.
Kubernetes позволяет «прикреплять» временные контейнеры к работающему Pod без его рестарта. Вы можете подключить образ с нужными утилитами и дебажить приложение вживую:
kubectl debug pod/<имя-пода> -it --image=busybox --target=<контейнер>
Эфемерный контейнер делит тот же namespace, что и приложение, поэтому вы получаете доступ к файловой системе, процессам и сети. После завершения отладки контейнер исчезает.
#арсенал_инженера
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰6👏5👍3
Forwarded from Библиотека задач по DevOps | тесты, код, задания
Есть поле int _counter; инкрементируется из нескольких потоков. Требование: корректный подсчёт, минимальные накладные расходы, без блокировок. Что выбрать?
👾 — Объявить _counter как volatile и использовать ++_counter
👍 — Использовать Interlocked.Increment(ref _counter)
🥰 — Оборачивать ++_counter в lock
⚡️ — Вставить Thread.MemoryBarrier() до и после ++_counter
Библиотека задач по DevOps
👾 — Объявить _counter как volatile и использовать ++_counter
👍 — Использовать Interlocked.Increment(ref _counter)
🥰 — Оборачивать ++_counter в lock
⚡️ — Вставить Thread.MemoryBarrier() до и после ++_counter
Библиотека задач по DevOps
👾1
🎓 Как вайб-кодинг меняет рынок IT-образования
За последние годы подход к обучению программированию меняется быстрее, чем сами языки. На смену долгим упражнениям с синтаксисом приходит работа с идеями и концепциями, где код во многом генерируется автоматически.
Этот сдвиг называют «вайб-кодингом». Он уже влияет на университетские программы, онлайн-курсы и требования к выпускникам.
➡️ В статье о том, что стоит за этим термином и как он меняет обучение IT-специалистов.
🐸 Библиотека devops'a
За последние годы подход к обучению программированию меняется быстрее, чем сами языки. На смену долгим упражнениям с синтаксисом приходит работа с идеями и концепциями, где код во многом генерируется автоматически.
Этот сдвиг называют «вайб-кодингом». Он уже влияет на университетские программы, онлайн-курсы и требования к выпускникам.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1
🚑 Как проверить, жив ли сервис в Kubernetes за одну команду
Обычно, чтобы понять, доступен ли сервис внутри кластера, приходится делать port-forward или искать под с установленным curl. Но есть более короткий путь:
👉 А вы чаще используете для диагностики kubectl exec, port-forward или держите отдельный debug-pod?
🐸 Библиотека devops'a
#root@prompt
Обычно, чтобы понять, доступен ли сервис внутри кластера, приходится делать port-forward или искать под с установленным curl. Но есть более короткий путь:
kubectl run curl --rm -it --image=alpine/curl -- -sS myservice.default:8443
👉 А вы чаще используете для диагностики kubectl exec, port-forward или держите отдельный debug-pod?
#root@prompt
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Зачем нужен Control Plane в Kubernetes
Когда говорят о Kubernetes, чаще всего представляют себе кластер из множества узлов, где запускаются контейнеры. Но вся эта система работает не сама по себе — ей нужен мозг, управляющий всеми процессами. Этим мозгом и является Control Plane.
Control Plane — это набор компонентов, которые принимают решения о том, что, где и как должно выполняться в кластере. Если рабочие узлы можно сравнить с мускулами, то Control Plane — это нервная система и голова.
В состав Control Plane входят:
• kube-apiserver — главный вход в кластер. Все команды kubectl и взаимодействия с API проходят через него. Он обеспечивает проверку запросов, аутентификацию и валидацию.
• etcd — распределённое хранилище, где держится всё состояние кластера. По сути, это “база данных” Kubernetes, в которой записано, какие ресурсы есть, какое у них состояние и какие должны быть цели.
• kube-scheduler — отвечает за то, на какой рабочий узел попадут новые поды. Он анализирует доступные ресурсы, ограничения, правила и принимает решение.
• kube-controller-manager — набор контроллеров, которые следят, чтобы желаемое состояние совпадало с фактическим. Например, если вы сказали, что должно быть три пода, а осталось два, контроллер поднимет третий.
• cloud-controller-manager (опционально) — компонент для интеграции с облаками (AWS, Azure, GCP и др.), который умеет управлять балансировщиками, дисками и сетями в зависимости от платформы.
Главная сила Control Plane в том, что он реализует декларативную модель управления. Вы описываете в манифесте YAML, что «хочу три реплики приложения», а Control Plane сам добивается этого состояния: запускает поды, следит за их здоровьем и пересоздаёт при сбоях.
Любое действие с кластером — от деплоя приложения до масштабирования или обновления — в конечном счёте проходит через Control Plane. И если он работает стабильно, то и весь кластер предсказуемо выполняет ваши инструкции.
🐸 Библиотека devops'a
#Арсенал_инженера
Когда говорят о Kubernetes, чаще всего представляют себе кластер из множества узлов, где запускаются контейнеры. Но вся эта система работает не сама по себе — ей нужен мозг, управляющий всеми процессами. Этим мозгом и является Control Plane.
Control Plane — это набор компонентов, которые принимают решения о том, что, где и как должно выполняться в кластере. Если рабочие узлы можно сравнить с мускулами, то Control Plane — это нервная система и голова.
В состав Control Plane входят:
• kube-apiserver — главный вход в кластер. Все команды kubectl и взаимодействия с API проходят через него. Он обеспечивает проверку запросов, аутентификацию и валидацию.
• etcd — распределённое хранилище, где держится всё состояние кластера. По сути, это “база данных” Kubernetes, в которой записано, какие ресурсы есть, какое у них состояние и какие должны быть цели.
• kube-scheduler — отвечает за то, на какой рабочий узел попадут новые поды. Он анализирует доступные ресурсы, ограничения, правила и принимает решение.
• kube-controller-manager — набор контроллеров, которые следят, чтобы желаемое состояние совпадало с фактическим. Например, если вы сказали, что должно быть три пода, а осталось два, контроллер поднимет третий.
• cloud-controller-manager (опционально) — компонент для интеграции с облаками (AWS, Azure, GCP и др.), который умеет управлять балансировщиками, дисками и сетями в зависимости от платформы.
Главная сила Control Plane в том, что он реализует декларативную модель управления. Вы описываете в манифесте YAML, что «хочу три реплики приложения», а Control Plane сам добивается этого состояния: запускает поды, следит за их здоровьем и пересоздаёт при сбоях.
Любое действие с кластером — от деплоя приложения до масштабирования или обновления — в конечном счёте проходит через Control Plane. И если он работает стабильно, то и весь кластер предсказуемо выполняет ваши инструкции.
#Арсенал_инженера
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍1
👾 AI-агенты — настоящее, о котором все говорят!
Уже 3 октября стартует второй поток нашего нового курса «AI-агенты для DS-специалистов».
Это продвинутая программа для тех, кто хочет получить прикладной опыт с LLM и решать сложные задачи.
На обучении вы соберёте полноценные LLM-системы с учётом особенностей доменных областей, получите hands-on навыки RAG, Crew-AI / Autogen / LangGraph и агентов.
🎓 В рамках курса вы научитесь:
1️⃣ адаптировать LLM под разные предметные области и данные
2️⃣ собирать свою RAG-систему: от ретривера и реранкера до генератора и оценки качества
3️⃣ строить AI-агентов с нуля — на основе сценариев, функций и взаимодействия с внешней средой
Научитесь применять похожие подходы в разных доменных областях, получите фундамент для уверенного прохождения NLP system design интервью и перехода на следующий грейд.
🗓️ Завтра первый вебинар, успевайте залететь в ряды ИИ-первопроходцев 👈🏻
Уже 3 октября стартует второй поток нашего нового курса «AI-агенты для DS-специалистов».
Это продвинутая программа для тех, кто хочет получить прикладной опыт с LLM и решать сложные задачи.
На обучении вы соберёте полноценные LLM-системы с учётом особенностей доменных областей, получите hands-on навыки RAG, Crew-AI / Autogen / LangGraph и агентов.
🎓 В рамках курса вы научитесь:
1️⃣ адаптировать LLM под разные предметные области и данные
2️⃣ собирать свою RAG-систему: от ретривера и реранкера до генератора и оценки качества
3️⃣ строить AI-агентов с нуля — на основе сценариев, функций и взаимодействия с внешней средой
Научитесь применять похожие подходы в разных доменных областях, получите фундамент для уверенного прохождения NLP system design интервью и перехода на следующий грейд.
🗓️ Завтра первый вебинар, успевайте залететь в ряды ИИ-первопроходцев 👈🏻
❤1
🎓 Какая разница у бакалавра и самоучки
Университетские курсы по DevOps? Почти не существует. CS-программы учат алгоритмы, структуры данных, иногда сетевые основы. Всё полезно, но… попробуйте найти в типичном универе лекцию по Kubernetes, Terraform или GitOps.
Поэтому DevOps-инженеры чаще всего — самоучки. Учебники заменяет документация AWS и GitHub-репозитории с примерами. Реальные навыки приходят через «сгоревший прод», ночные деплои и баги в пайплайне.
Но спор никто не забывал. Одни говорят:
Другие отвечают:
💬 А вы что думаете: для DevOps сегодня важнее академическая база или способность быстро тушить пожары в продакшене?
🐸 Библиотека devops'a
#холиварня
Университетские курсы по DevOps? Почти не существует. CS-программы учат алгоритмы, структуры данных, иногда сетевые основы. Всё полезно, но… попробуйте найти в типичном универе лекцию по Kubernetes, Terraform или GitOps.
Поэтому DevOps-инженеры чаще всего — самоучки. Учебники заменяет документация AWS и GitHub-репозитории с примерами. Реальные навыки приходят через «сгоревший прод», ночные деплои и баги в пайплайне.
Но спор никто не забывал. Одни говорят:
Без CS ты всего лишь оператор Jenkins, который не понимает, почему сломалась сеть
Другие отвечают:
Без практики ты вечный студент, который знает теорему CAP, но не умеет восстановить кластер
#холиварня
Please open Telegram to view this post
VIEW IN TELEGRAM
👏1
Для вас самый сок из нашего канала с вакансиями:
Полмиллиона за SRE/DevOps'a
DevOps Engineer на Кипр
#вакансия_недели
Please open Telegram to view this post
VIEW IN TELEGRAM
🐙 Argo CD 3.2.0-rc1
Вышел релиз-кандидат Argo CD 3.2.0. В нём добавили несколько полезных фич:
• Progressive Sync в ApplicationSet теперь умеет удалять приложения по порядку
• улучшены debug-логи статуса ApplicationSet
• CLI получил поддержку Server-Side Diff и новую команду get-resource
• контроллер теперь может брать более свежую ревизию при повторном sync
• появились health-check для DatadogMetric и CronJob, включая действия suspend/resume/terminate
➡️ Анонс разработичков
🐸 Библиотека devops'a
#пульс_индустрии
Вышел релиз-кандидат Argo CD 3.2.0. В нём добавили несколько полезных фич:
• Progressive Sync в ApplicationSet теперь умеет удалять приложения по порядку
• улучшены debug-логи статуса ApplicationSet
• CLI получил поддержку Server-Side Diff и новую команду get-resource
• контроллер теперь может брать более свежую ревизию при повторном sync
• появились health-check для DatadogMetric и CronJob, включая действия suspend/resume/terminate
#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1