Библиотека девопса | DevOps, SRE, Sysadmin
10.4K subscribers
1.88K photos
76 videos
5 files
3.3K links
Все самое полезное для девопсера в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/25874ec4

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/6798b4e4509aba56522d1787
Download Telegram
Вопрос с собеса

ConfigMap обновлён. Что происходит дальше в работающем поде?


piVersion: v1
kind: ConfigMap
metadata:
name: app-config
data:
LOG_LEVEL: "info"
DB_POOL_SIZE: "10"


Вы меняете LOG_LEVEL на debug. Применяете через kubectl apply. Под работает, не перезапускался.

Приложение видит info или debug?

➡️ Ответ тут

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека devops'a

#задача_со_звёздочкой
Please open Telegram to view this post
VIEW IN TELEGRAM
🤖 Ваш ИИ-агент съедает бюджет на токены и падает при сбоях API?

Пора переходить на новый уровень. Открыли продажи курса по AgentOps — управлению ИИ-агентами в рабочих процессах.

Рынок требует инженеров, которые умеют:

• Контролировать метрики и качество ответов;
• Эффективно работать с RAG-архитектурой;
• Строить системы, готовые к реальным нагрузкам.

Обучение займет 6-12 недель под руководством практиков с опытом в AI и Data Science в крупных IT-компаниях, таких как Яндекс, Сбер, МТС, Huawei, Raft и др.

🎁 Можно подождать, пока про AgentOps начнут говорить все. Или зайти сейчас — НА 30% ДЕШЕВЛЕ!

Работа с AI начинается с систем.
Системы — с AgentOps.


🔥 Забрать скидку и изучить программу.
😁1
🔄 Вышел Trisquel 12.0

Trisquel — это Linux дистрибутив без проприетарных компонентов, основанный на Ubuntu. Новый релиз получил несколько значимых обновлений.

Вышел Trisquel 12.0 с кодовым именем Ecne.

APT обновился до версии 3.0 с поддержкой формата репозиториев deb822. Обновление затронуло все пути установки: текстовый инсталлятор, графический Ubiquity, Synaptic и другие инструменты управления пакетами.

Trisquel Mini на базе LXDE получил заметные улучшения. Ubuntu официально отказалась от LXDE во всех своих релизах, так что Trisquel теперь фактически один из основных проектов, который его поддерживает.

Начата предварительная работа по поддержке архитектуры RISC-V.

➡️ Источник

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека devops'a

#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM
🦾 Надоело чинить «упавших» ИИ-агентов после каждого микросбоя внешних сервисов?

Анонсируем старт продаж большого курса по AgentOps. Мы собрали опыт десятков разработчиков и сделали программу, которая учит выводить ИИ в стабильный прод.

🗓 Ждем вас 28 апреля в 19:00 МСК на эфире: «Как эффективно управлять контекстным окном LLM в мультиагентных системах и не сливать бюджет на токены».

👉 Кто вещает и в чем польза?

Спикер Кирилл Кухарев (Senior AI Engineer в Raft, спикер AI Conf и Highload++). Он реализовал более 50 коммерческих проектов в GenAI и на вебинаре покажет, как взять под контроль работу нескольких агентов, чтобы они не перекидывали друг другу лишний контекст и не сжигали ваши деньги.

В прямом эфире разберем:
• Как формируется контекст в LLM при маршрутизации между агентами;
• Куда утекают лишние токены и возникает перерасход;
• Практические методы: как сжимать историю, грамотно делить задачи, лимитировать передачу контекста и собирать промпты прямо в процессе запроса пользователя.

🔥 Два способа получить максимум:

1. Приходите на вебинар 28 апреля. Дарим участникам промокод на 5.000 ₽ (работает 3 дня после эфира - это шанс забрать курс по самому низу рынка).

2. Выбирайте Инженерный трек. В подарок к нему идет полный доступ к записям и автопроверкам завершенного курса «Разработка ИИ-агентов».

👉 Занять место на вебинаре и стать профи в AgentOps
Please open Telegram to view this post
VIEW IN TELEGRAM
😁1
📎 Bash-функции, которые ускорят работу в терминале

Разработчики проводят в терминале много времени. Часть этого времени уходит на мелкие, повторяющиеся действия: создать папку, зайти в неё, найти файл где-то в дереве проекта. Несколько простых функций в .bashrc или .zshrc убирают эти паузы.

Создать папку и сразу зайти в неё:
mkcd() {
mkdir -p "$1" && cd "$1"
}


Флаг -p создаёт все промежуточные директории, если их нет. Работает с вложенными путями без дополнительных усилий.

Подняться на несколько уровней вверх:
up() {
local d=""
for ((i=1;i<=$1;i++)); do
d+="../"
done
cd "$d"
}


Если вы глубоко внутри проекта, up 3 заменяет cd ../../... Не нужно считать точки и слэши вручную. Просто передаём число уровней.

Найти файл по имени:
ff() {
find . -type f -iname "*$1*"
}


Обёртка над find с поиском без учёта регистра. Удобно, когда помним часть имени файла, но не знаем точный путь. В больших репозиториях работает быстрее, чем ручная навигация.

Найти директорию по имени:
fd() {
find . -type d -iname "*$1*"
}


То же самое, но ищет только директории. Заменяет несколько попыток cd с угадыванием пути.

Как подключить

Добавьте функции в конец файла ~/.bashrc или ~/.zshrc, затем выполните:
source ~/.bashrc


После этого функции доступны в любом новом терминале.

Четыре небольших дополнения, и часть рутины исчезает. Это не революция, просто меньше лишних нажатий за день.

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека devops'a

#root_prompt
Please open Telegram to view this post
VIEW IN TELEGRAM
3🤔3👍1🎉1
🔒 Закрыли пять уязвимостей, которым десятки лет

Вышел X.Org Server 21.1.22 и xwayland 24.1.10. Основное в этом релизе это патчи безопасности. Их пять, и часть из них закрывает баги, которые живут в коде с 2001 года.

Уязвимости опасны прежде всего там, где X-сервер запущен с правами root, или там, где пользователю доступна переадресация X11 через SSH.

Что закрыли:

CVE-2026-34001 — use-after-free в функции miSyncTriggerFence(). Баг появился в xorg-server 1.9.0 в 2010 году.

CVE-2026-33999 — integer underflow в XkbSetCompatMap(), позволяет читать или писать за пределы буфера при определённых параметрах клавиатурного расширения. Присутствует с X11R6.6, то есть с 2001 года.

CVE-2026-34000 — чтение за пределами буфера в XkbAddGeomKeyAlias из-за некорректной проверки длины входных данных. Появилось в xorg-server 21.1.4 и xwayland 22.1.3 в 2022 году.

CVE-2026-34002 — чтение за пределами буфера в CheckModifierMap(), причина — неверная проверка длины модификаторов при нестандартном числе поддерживаемых устройств. Тоже с 2001 года.

CVE-2026-34003 — некорректная логика в CheckKeyTypes() в XKB, ведёт к чтению за пределами буфера из-за неверной проверки размера массива элементов. С 2001 года.

Обновление стоит поставить тем, кто использует X-сервер с повышенными привилегиями или разрешает пользователям X11-forwarding по SSH.

➡️ Источник

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека devops'a

#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM
🏃‍♀️ Уже завтра стартует курс по разработке AI-агентов.

Про AI-агентов часто думают, что это просто модная обертка над джпт для пет-проектов. Кажется, прикрутил API к скрипту и типа готово. А вот и нет! Когда дело доходит до прода, начинаются настоящие проблемы.

Зачем глубоко копать мультиагентные системы, если можно обойтись старым добрым кодом? Как контролировать расходы на токены, чтобы новая фича не разорила бизнес? Как заставить агента работать стабильно и предсказуемо, а не галлюцинировать?


Эту инженерную часть мы и будем разбирать на курсе. Будем учиться интегрировать внешние API, работать с RAG, LangGraph, CrewAI и деплоить всё это так, чтобы работало как часы.

Стартуем завтра. Для участия и доступа к программе переходите по ссылке.
👨‍💻 В Linux 7.1 удалят поддержку процессоров i486

В ветку Linux 7.1 принят патч, который убирает из ядра поддержку архитектуры i486. Из Kconfig исчезнут опции CONFIG_M486, CONFIG_M486SX и CONFIG_MELAN, а из Makefile уберут флаг компиляции -march=i486.

Сами процессоры i486 перестали производить ещё в начале 2000-х. Поддержка их в ядре держалась только благодаря инерции, но технически она давно стала проблемой. i486 не умеет выполнять инструкции для атомарного обмена 8 байт и не имеет счётчика тактов процессора, нужного планировщику.

➡️ Источник

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека devops'a

#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM
👨‍💻 Vercel взломали

19 апреля 2026 года Vercel признались, что кто-то получил несанкционированный доступ к внутренним системам компании.

Подробностей пока мало. Сообщили, что пострадал ограниченный круг клиентов, с которыми команда уже связывается напрямую. К расследованию подключены внешние эксперты по реагированию на инциденты, уведомлены правоохранительные органы.

Пока неизвестно, что именно утекло и как злоумышленники попали внутрь. Но Vercel уже дали всем клиентам одну конкретную рекомендацию: проверьте переменные окружения и переведите чувствительные данные в режим Sensitive Environment Variables.

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека devops'a

#разбор_полётов
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡️ Мы рады представить команду экспертов курса AgentOps!

Дмитрий Антипов расскажет, как грамотно проверить работу AI-моделей
Курилл Кухарев поделится, почему компаниям выгодно использовать локальные модели и как их развернуть
Андрей Носов расскажет, как работать с данными и знаниями в AI-системах: построение RAG, выбор подходов к поиску и организация хранения данных
Антон Будняк разберет, как обеспечить устойчивость сервиса, в котором используется ИИ
Александр Ошурков расскажет, как оценивать качество работы LLM в backend-сервисах
Екатерина Трофимов разберет, как проектировать инструменты для AI-агентов и выстраивать взаимодействие с внешними сервисами

Курс для backend-разработчиков, тимлидов и LLM инженеров о том, как внедрять AI-логику в бэкенд IT-продуктов и сохранять стабильность сервиса.

К концу обучения вы получите:

• Структурированный подход к архитектуре и деплою AI-агентов
• Навыки настройки мониторинга, тестирования и контроля расходов на токены
• Разбор сложных инженерных кейсов из реальной практики

🎁 Доступ к материалам курса
«Разработка ИИ-агентов» в подарок при покупке Инженерного трека

👉 Все подробности и программа обучения.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔒 Принцип минимальных прав для секретов в CI/CD

Украденный секрет опасен ровно настолько, насколько широки его права доступа. В большинстве CI/CD-пайплайнов права выдаются с запасом, ведь так проще настроить, но это и есть главная проблема.

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

Разделите секреты по ролям:

• Задача сборки (build) компилирует код. Ей не нужны никакие облачные креды вообще. Если они там есть — уберите.

• Задача тестирования (test) работает с тестовыми данными. Она не должна видеть продовые креды. Заведите отдельные credentials для тест-окружения с доступом только на чтение к тестовой базе.

• Задача деплоя (deploy) — единственная, которой нужны продовые секреты. И только те, что нужны именно для деплоя, ничего лишнего.

Раз в квартал проводите аудит секретов. Удаляйте всё, что не используется ни одной задачей прямо сейчас.

Пример для GitHub Actions

GitHub Actions позволяет привязать секреты к конкретным environments. Продовые секреты становятся доступны только при деплое в production, а не во всех задачах подряд:
jobs:
test:
runs-on: ubuntu-latest
# Продовых секретов здесь нет
# Тесты используют моки или тестовую базу
env:
DATABASE_URL: ${{ secrets.TEST_DATABASE_URL }}

deploy:
runs-on: ubuntu-latest
environment: production # Отдельный scope секретов + требует подтверждения
needs: test # Запускается только после успешных тестов
env:
# Продовые секреты доступны только здесь
AWS_ROLE_ARN: ${{ secrets.PROD_AWS_ROLE_ARN }}


Ключевой момент: параметр environment: production не просто логическая метка. Он изолирует секреты этого environment от других задач и, по умолчанию, требует ручного подтверждения перед запуском деплоя.

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека devops'a

#root_prompt
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🥱1
🔄 nginx 1.30.0

Вышел nginx 1.30.0. Список изменений большой, но несколько вещей стоит выделить отдельно.

HTTP/2 к бэкенду. Раньше nginx умел принимать HTTP/2 от клиента, но к апстриму всегда ходил по HTTP/1.1. Теперь можно проксировать запросы к бэкенду по HTTP/2. Актуально для gRPC и сервисов, которые работают только по этому протоколу.

Sticky sessions. В модуль upstream добавили поддержку sticky-сессий. Конкретный клиент теперь можно привязать к конкретному бэкенду через cookie или маршрутизацию по заголовку.

Early Hints (103). Поддержка ответа 103 Early Hints — браузер получает подсказки о ресурсах ещё до того, как сервер отдал основной ответ. Работает в том числе через HTTP/3.

Encrypted ClientHello. Добавили поддержку ECH — расширения TLS, которое скрывает SNI от посредников. Позволяет не светить доменом при установке соединения.

Multipath TCP. Поддержка MPTCP на уровне nginx. Позволяет использовать несколько сетевых путей одновременно для одного соединения.

Keep-alive к апстримам по умолчанию. Начиная с 1.29.7 keepalive к бэкенду включён по умолчанию. В 1.30.0 это поведение зафиксировано как стандартное для стабильной ветки.

Совместимость с OpenSSL 4.0 и AWS-LC. Добавили поддержку новых API OpenSSL 3.5 и 4.0, интеграцию с AWS-LC и BoringSSL, включая сжатие сертификатов.

➡️ Источничек

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека devops'a

#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
🖇 ИИ для поиска работы

Стандартный подход: попросить нейросеть переписать резюме и сгенерировать сопроводительное письмо.

Рабочий подход: анализировать рынок, конкурентов и конкретную компанию перед каждым собеседованием.

➡️ 5 небанальных промптов в статье

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека devops'a
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
🔒 Включите двухфакторку на npm

Атака на axios сработала потому, что злоумышленник получил долгоживущий классический токен npm от аккаунта мейнтейнера. Если бы была включена 2FA, одного токена не хватило бы для публикации новой версии пакета.

Как включить 2FA

Для личного аккаунта:
npm profile enable-2fa auth-and-writes


Режим auth-and-writes требует второй фактор и при входе, и при публикации. Это сильнее, чем auth-only, который защищает только вход, но не публикацию.

Для организации нужны права администратора:
npm access 2fa-required --otp=ВАШ_КОД your-org


Либо через интерфейс: Organisation Settings > Security > Require two-factor authentication.

Что ещё стоит сделать

Классические токены npm живут вечно и дают широкий доступ. В 2022 году появились гранулярные токены. Они ограничены конкретными пакетами и позволяют задать режим read-only или publish-only. Переходите на них.

Классические токены, которые существуют больше 90 дней, стоит проверить и пересоздать. Найти их можно в Account Settings > Access Tokens.

Если разработчик ушёл из команды, то сразу отзывайте его доступ к публикации. npm не делает это автоматически, права сохраняются бессрочно.

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека devops'a

#root_prompt
Please open Telegram to view this post
VIEW IN TELEGRAM
1
🔄 OpenSSL 4.0.0 вышел

Вышла мажорная версия OpenSSL. Это первый крупный релиз за несколько лет.

Из важного в этом выпуске:

• Добавили поддержку ECH (Encrypted ClientHello, RFC 9849). Это расширение TLS, которое шифрует весь ClientHello целиком, включая SNI. Старый ESNI шифровал только имя сервера, ECH идёт дальше и скрывает все метаданные соединения.

• Добавили поддержку постквантового алгоритма ML-DSA (CRYSTALS-Dilithium) в варианте ML-DSA-MU с хэшем SHAKE256. Это один из стандартов NIST для защиты от квантовых компьютеров.

Убрали немало устаревших вещей. Выпилили SSLv3 и SSLv2 Client Hello. Удалили устаревшие функции EVP_CIPHER, EVP_MD, EVP_PKEY, TLSv1_client_method().

Из других добавлений: функция хэширования cSHAKE на базе SHA-3, KDF-функции для SNMPv3 и SRTP, новый флаг -defer_tests для FIPS-режима.

➡️ Источник

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека devops'a

#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM
3
This media is not supported in your browser
VIEW IN TELEGRAM
😁1
🗓 В следующий вторник (28.04) в 19:00 встречаемся в онлайне.

Тема:
Как эффективно управлять контекстным окном LLM в мультиагентных системах и не сливать бюджет на токены


В кружке Кирилл Кухарев рассказал, какие именно подходы будем разбирать.

👉 Занять место на вебинаре
Please open Telegram to view this post
VIEW IN TELEGRAM
👨‍💻 Автоматические бэкапы MySQL через cron и mysqldump

Ручной mysqldump работает ровно до того момента, пока кто-то не забыл его запустить. Для продакшна нужен автоматический запуск по расписанию.

Скрипт с ротацией и сжатием

Создаём файл /opt/scripts/mysql-backup.sh:
#!/bin/bash
BACKUP_DIR="/opt/backups/mysql"
CONTAINER="mysql-container"
DB_USER="root"
DB_PASS="yourpassword"
DATABASE="mydatabase"
RETENTION_DAYS=7

mkdir -p "$BACKUP_DIR"
FILENAME="$BACKUP_DIR/${DATABASE}_$(date +%Y%m%d_%H%M%S).sql.gz"

docker exec "$CONTAINER" mysqldump \
-u "$DB_USER" -p"$DB_PASS" \
--single-transaction \
--routines \
--triggers \
"$DATABASE" | gzip > "$FILENAME"

if [ $? -eq 0 ]; then
echo "Backup completed: $FILENAME"
else
echo "Backup failed!" >&2
exit 1
fi

find "$BACKUP_DIR" -name "*.sql.gz" -mtime +$RETENTION_DAYS -delete


Флаг --single-transaction снимает дамп без блокировки таблиц — важно для InnoDB в продакшне. --routines и --triggers включают в дамп хранимые процедуры и триггеры, которые по умолчанию не экспортируются. find в конце удаляет файлы старше RETENTION_DAYS дней.

Добавляем в cron. Запуск каждый день в 4 утра:
0 4 * * * /opt/scripts/mysql-backup.sh >> /var/log/mysql-backup.log 2>&1


Ограничения

Для небольшого пет-проекта этого хватит. Но у подхода есть три слабых места, которые становятся проблемой при серьёзной нагрузке.

Нет алертов при сбое. Скрипт пишет ошибку в лог, но никто не узнает об этом, пока не заглянет туда вручную. Бэкап может не работать неделями без каких-либо уведомлений.

Файлы хранятся локально. Если сервер упадёт или диск сгорит, бэкапы уйдут вместе с данными. Для надёжности нужен вывод в S3 или другое внешнее хранилище.

Плохо масштабируется. Несколько баз — значит несколько копий скрипта, которые нужно поддерживать отдельно.

Для проекта, потеря данных в котором некритична, этот скрипт закрывает задачу. Для всего остального эти три пункта рано или поздно дадут о себе знать.

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека devops'a

#root_prompt
Please open Telegram to view this post
VIEW IN TELEGRAM
2