70% работодателей выбирают кандидатов с hands-on проектами. В DevOps это особенно критично — здесь нужно доказать, что вы умеете автоматизировать, масштабировать и решать задачи. Портфолио — это ваш главный козырь.
Что включить:
🔹 CI/CD пайплайн. Jenkins, GitHub Actions, GitLab CI или CircleCI. Покажите автоматическую сборку, тестирование, деплой с rollback и уведомлениями.
🔹 Infrastructure as Code. Terraform, CloudFormation или Ansible. Разверните веб-приложение с версионируемой инфраструктурой в облаке.
🔹 Контейнеризация. Docker + Kubernetes или Docker Swarm. Контейнеризуйте приложение и разверните его с оркестрацией.
🔹 Мониторинг и логирование. Prometheus + Grafana или ELK stack. Настройте систему отслеживания и алертов в реальном времени.
🔹 Автоматизация безопасности. Интеграция сканирования уязвимостей в пайплайн или автоматизация compliance-проверок.
Где брать идеи:
• Изучите вакансии — воссоздайте описанное окружение
• Автоматизируйте личный проект, например, деплой блога через CI/CD)
• Контрибьютьт в open-source инфраструктурные проекты
• Используйте free tier AWS/Azure/GCP для экспериментов
• Участвуйте в хакатонах и челленджах
Как оформить:
📍 Навигация: Вакансии • Задачи • Собесы
#холиварня
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
ChaosBSD — форк FreeBSD, который существует по одной простой причине: upstream не может и не должен принимать сломанные драйверы, полуработающее железо, вендорский мусор или спекулятивные хаки.
Иными словами это лаборатория для издевательств над железом или полигон для разработки драйверов: портирование, реверс-инжиниринг, clean-room реализации.
Идеальный проект для тех, кто хочет поэкспериментировать с диким железом, не ломая прод.
📍 Навигация: Вакансии • Задачи • Собесы
#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM
Сайт работает, контент есть, SEO вроде настроено — а органического трафика из Google нет. Одна из частых причин: отсутствует или недоступен файл robots.txt.
Googlebot перед сканированием любого сайта сначала проверяет robots.txt. Если файл недоступен или сервер возвращает ошибку, краулер не рискует — останавливается и не индексирует страницы. Нет индексации — нет позиций в поиске. Нет позиций — нет трафика.
Проверить просто: откройте ваш-сайт.ru/robots.txt в браузере. Если видите 404, 500 или пустую страницу вместо текстового файла — проблема найдена. Google Search Console тоже покажет ошибку "robots.txt unreachable" в разделе покрытия.
Создайте файл robots.txt в корневой папке сайта. Минимальный вариант, который разрешает индексацию всего:
User-agent: *
Allow: /
Загрузите файл на сервер, чтобы он был доступен по адресу домен.com/robots.txt. Проверьте в браузере — должен открыться текст файла.
Без этого файла можно месяцами ждать трафика и не понимать, почему Google игнорирует сайт. Два килобайта текста решают проблему.
📍 Навигация: Вакансии • Задачи • Собесы
#root_prompt
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤2🤔2
Обычно для изучения драйверов нужно реальное железо или сложная настройка QEMU. PCIem решает эту проблему — это эмулятор, который создаёт виртуальные PCI-устройства прямо в Linux.
Вы можете тестировать драйверы без физического оборудования, изучать взаимодействие ядра с PCI или отлаживать код в контролируемой среде. Эмулятор работает как kernel module и регистрирует устройства так, будто они реально подключены к шине.
Как запустить:
git clone https://github.com/cakehonolulu/pciem
cd pciem
make
sudo insmod pciem.ko
После загрузки модуль создаёт виртуальное устройство. Вы увидите его через
lspci, сможете взаимодействовать с его регистрами и тестировать свой драйвер без риска что-то сломать.📍 Навигация: Вакансии • Задачи • Собесы
#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤2
This media is not supported in your browser
VIEW IN TELEGRAM
👍1
LLMOps: развёртывание RAG-систем в Kubernetes
23 января в 19:00 на открытом уроке к курсу «Разработка ИИ агентов» обсудим архитектурную сторону внедрения LLM. Узнаем, как организовать инфраструктуру для агентов, работающих с внутренними данными через
Спикер — Игорь Стурейко, тимлид в «Газпроме» и эксперт по архитектуре решений на базе
В фокусе урока:
— интеграция векторных баз (
— оркестрация пайплайнов с помощью
— выбор между
📅 Когда: 23.01 в 19:00 МСК
Узнать подробности
23 января в 19:00 на открытом уроке к курсу «Разработка ИИ агентов» обсудим архитектурную сторону внедрения LLM. Узнаем, как организовать инфраструктуру для агентов, работающих с внутренними данными через
RAG в закрытом контуре.Спикер — Игорь Стурейко, тимлид в «Газпроме» и эксперт по архитектуре решений на базе
Kubernetes. Игорь подготовил видео о том, как эффективно масштабировать AI-сервисы и какие инженерные вызовы стоят за созданием автономных агентов.В фокусе урока:
— интеграция векторных баз (
FAISS, Chroma) в продакшн-окружение;— оркестрация пайплайнов с помощью
LangChain;— выбор между
Fine-tuning и RAG с точки зрения ресурсов и поддержки.📅 Когда: 23.01 в 19:00 МСК
Узнать подробности
DevOps-инженер — до 250 000 ₽. Удалёнка.
DevOps / SRE — до 3 000 $ и удалёнка.
DevOps-инженер — удалёнка.
📍 Навигация: Вакансии • Задачи • Собесы
#вакансия_недели
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
В telnetd из GNU InetUtils нашли уязвимость, которая позволяет любому подключиться к серверу под root без проверки пароля. Проблема живет с марта 2015 года (версия 1.9.3) и до сих пор не исправлена в актуальном релизе 2.7.0.
Когда telnetd запускает утилиту
login для проверки пароля, он передает ей имя пользователя из подключения. У login есть опция -f, которая пропускает аутентификацию. Разработчики добавили поддержку автоматического входа через переменную окружения USER, но забыли проверить её содержимое. Результат — подставив в USER значение
-f root, можно войти без пароля.USER='-f root' telnet -a имя_сервера
В 2015 году разработчики фиксили проблему с Kerberos-аутентификацией. Добавили получение имени пользователя из переменной окружения, но не добавили проверку на спецсимволы и опции.
Хотя telnet давно считается небезопасным протоколом и большинство перешло на SSH, эта уязвимость напоминает о том, что стоит проверять даже старое ПО.
📍 Навигация: Вакансии • Задачи • Собесы
#разбор_полётов
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍3
🛠 Fence — изоляция процессов через namespace без root-прав
Docker отлично подходит для контейнеризации, но иногда он избыточен. Проверить скрипт из интернета, запустить непроверенный бинарник или изолировать процесс при тестировании — для таких задач нужно что-то проще и быстрее.
Fence — это CLI-утилита, которая создаёт изолированное окружение через Linux namespaces за секунды и без root-доступа.
Что умеет
Fence использует возможности ядра Linux для создания изолированных пространств. Процесс внутри не видит вашу файловую систему, может быть отрезан от сети и работает в собственном namespace процессов.
При этом никаких образов, слоёв или daemon'ов — просто оборачиваете команду и получаете изоляцию.
Примеры использования:
Процесс запускается моментально, работает как обычное приложение, но изолирован от остальной системы.
Никогда не знаешь, когда такое пригодиться, сохраните к себе в закладки 💾
➡️ GitHub репо
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#пульс_индустрии
Docker отлично подходит для контейнеризации, но иногда он избыточен. Проверить скрипт из интернета, запустить непроверенный бинарник или изолировать процесс при тестировании — для таких задач нужно что-то проще и быстрее.
Fence — это CLI-утилита, которая создаёт изолированное окружение через Linux namespaces за секунды и без root-доступа.
Что умеет
Fence использует возможности ядра Linux для создания изолированных пространств. Процесс внутри не видит вашу файловую систему, может быть отрезан от сети и работает в собственном namespace процессов.
При этом никаких образов, слоёв или daemon'ов — просто оборачиваете команду и получаете изоляцию.
Примеры использования:
# Установка через cargo
cargo install fence-cli
# Базовый запуск с изоляцией ФС
fence run -- ./untrusted-binary
# Отключить сеть для процесса
fence run --no-network -- python script.py
# Пробросить конкретную директорию
fence run --mount $(pwd):/workspace -- make build
Процесс запускается моментально, работает как обычное приложение, но изолирован от остальной системы.
Никогда не знаешь, когда такое пригодиться, сохраните к себе в закладки 💾
📍 Навигация: Вакансии • Задачи • Собесы
#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
💻 Сервисные аккаунты в Kubernetes
Сервисные аккаунты позволяют подам в Kubernetes обращаться к API-серверу без использования учетных данных администратора. Они упрощают автоматизацию задач для приложений внутри кластера.
Что такое сервисные аккаунты
По умолчанию каждый под получает токен сервисного аккаунта при запуске. Этот токен монтируется как том в
Автоматическое создание токена происходит через контроллер допуска ServiceAccount. Без указания serviceAccountName под использует default аккаунт в пространстве имен.
Как работают токены
Токены сервисных аккаунтов представляют собой JWT, подписанные приватным ключом API-сервера. Они содержат утверждения с именем аккаунта, пространством имен и группами вроде system:serviceaccounts. Kubernetes проверяет подпись и срок годности перед авторизацией.
Создание и настройка
Чтобы создать сервисный аккаунт, примените YAML с apiVersion: v1, kind: ServiceAccount. Свяжите с подом через spec.serviceAccountName в манифесте пода. Для ролей используйте RoleBinding или ClusterRoleBinding, чтобы назначить permissions вроде get pods.
Пример команды:
В итоге сервисные аккаунты упрощают доступ к кластеру, но требуют внимательной настройки для защиты от утечки привилегий.
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#арсенал_инженера
Сервисные аккаунты позволяют подам в Kubernetes обращаться к API-серверу без использования учетных данных администратора. Они упрощают автоматизацию задач для приложений внутри кластера.
Что такое сервисные аккаунты
По умолчанию каждый под получает токен сервисного аккаунта при запуске. Этот токен монтируется как том в
/var/run/secrets/kubernetes.io/serviceaccount и используется для запросов к API. Разработчики используют их для чтения конфигураций или записи метрик без лишних настроек.Автоматическое создание токена происходит через контроллер допуска ServiceAccount. Без указания serviceAccountName под использует default аккаунт в пространстве имен.
Как работают токены
Токены сервисных аккаунтов представляют собой JWT, подписанные приватным ключом API-сервера. Они содержат утверждения с именем аккаунта, пространством имен и группами вроде system:serviceaccounts. Kubernetes проверяет подпись и срок годности перед авторизацией.
Создание и настройка
Чтобы создать сервисный аккаунт, примените YAML с apiVersion: v1, kind: ServiceAccount. Свяжите с подом через spec.serviceAccountName в манифесте пода. Для ролей используйте RoleBinding или ClusterRoleBinding, чтобы назначить permissions вроде get pods.
Пример команды:
kubectl create serviceaccount my-sa; kubectl create rolebinding my-sa-role --clusterrole=view -sa=default:my-sa
В итоге сервисные аккаунты упрощают доступ к кластеру, но требуют внимательной настройки для защиты от утечки привилегий.
📍 Навигация: Вакансии • Задачи • Собесы
#арсенал_инженера
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1
Kubernetes предлагает несколько методов аутентификации — от сертификатов до интеграции с внешними провайдерами. Разбираемся, какой вариант использовать в разных сценариях.
• X.509 сертификаты — основной способ для пользователей и kubelet. Генерируете приватный ключ, создаете Certificate Signing Request и подписываете его CA кластера. Три команды openssl — и у вас готовый сертификат для доступа.
• Static Token File — простой, но небезопасный метод. API-сервер читает CSV-файл с токенами. Подходит только для разработки, в проде лучше не использовать.
• Bootstrap Tokens — то, что использует kubeadm при развертывании кластера. Токены хранятся как Secrets в namespace kube-system. Команда
kubeadm token create выдаст готовую строку для присоединения нод.• Service Account Tokens — для подов, которым нужен доступ к API. Kubernetes автоматически создает JWT-токен и монтирует его внутрь контейнера. Просто указываете serviceAccountName в спеке пода.
• OIDC — интеграция с внешними провайдерами типа Google, Okta или Azure AD. Настраиваете API-сервер с параметрами
--oidc-issuer-url и --oidc-client-id, и получаете полноценный SSO для корпоративного окружения.• Webhook Authentication — когда нужна кастомная логика. API-сервер отправляет запросы на внешний endpoint, который решает, пускать пользователя или нет.
Отключите анонимную аутентификацию (
--anonymous-auth=false), не используйте дефолтный service account, регулярно ротируйте сертификаты и токены. 📍 Навигация: Вакансии • Задачи • Собесы
#арсенал_инженера
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1
Для оконного менеджера KWin появился экспериментальный плагин, который превращает KDE в полноценную среду рабочего стола для VR. Вместо физического монитора интерфейс отображается на виртуальных экранах в 3D-пространстве, управляемых через VR-очки или шлемы.
Под капотом используется Qt Quick 3D Xr с поддержкой OpenXR runtime. Разработчики тестировали на платформе Monado с очками Rokid Max и HP G2, а также на сервере WiVRn с Quest 3.
📍 Навигация: Вакансии • Задачи • Собесы
#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
😢1
Пятница, 19:00. Худшее время для деплоя, но идеальное, чтобы осознать: AI в проде — это не только API-ключ, но и гора инфраструктуры вокруг векторных БД.
Внедрение LLM требует настройки новых типов хранилищ и управления контекстом. Разберём это на открытом уроке.
В программе занятия:
— как деплоить и масштабировать системы на базе
— стек технологий:
— live coding: пайплайн для ответов по вашим документам.
Один из спикеров — Алексей Яндутов, ML-инженер в поиске Яндекса.
Это первый урок курса «Разработка AI-агентов». Мы обсуждаем не «будущее ИИ», а архитектуру и код.
Записаться на урок
Внедрение LLM требует настройки новых типов хранилищ и управления контекстом. Разберём это на открытом уроке.
В программе занятия:
— как деплоить и масштабировать системы на базе
RAG;— стек технологий:
FAISS, Chroma, LangChain;— live coding: пайплайн для ответов по вашим документам.
Один из спикеров — Алексей Яндутов, ML-инженер в поиске Яндекса.
Это первый урок курса «Разработка AI-агентов». Мы обсуждаем не «будущее ИИ», а архитектуру и код.
Записаться на урок
proglib.academy
Курс| Разработка AI-агентов
Курс про контролируемую разработку AI-агентов: качество, стоимость, наблюдаемость и тестирование. С первого занятия — практическая работа.
🖇 Несколько имён для одного файла
Команда
У вас есть файл project.txt. Он лежит на диске и занимает место.
Два способа сослаться на него:
Жёсткая ссылка = ещё одно имя.Это как если бы у человека было два имени. Иван и Ваня — это один и тот же человек.
Символическая ссылка = стрелка-указатель. Это как ярлык на рабочем столе Windows.
Если удалить оригинал — символическая ссылка станет битой, потому что стрелка указывает в никуда.
Полезные команды:
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#арсенал_инженера
Команда
ln создаёт ссылки на файлы.У вас есть файл project.txt. Он лежит на диске и занимает место.
Два способа сослаться на него:
# Первый способ - жёсткая ссылка
ln project.txt backup.txt
# Второй способ - символическая ссылка
ln -s project.txt shortcut.txt
Жёсткая ссылка = ещё одно имя.Это как если бы у человека было два имени. Иван и Ваня — это один и тот же человек.
$ echo "важные данные" > file.txt
$ ln file.txt copy.txt
$ rm file.txt # удалили оригинал
$ cat copy.txt
важные данные # но данные на месте!
file.txt и copy.txt — это просто два имени для одних и тех же данных. Удалили одно имя — второе осталось, данные целы.Символическая ссылка = стрелка-указатель. Это как ярлык на рабочем столе Windows.
$ ln -s /очень/длинный/путь/к/файлу.txt ~/удобно.txt
$ cat ~/удобно.txt # читаем файл по короткому пути
Если удалить оригинал — символическая ссылка станет битой, потому что стрелка указывает в никуда.
Полезные команды:
# Проверить, куда ведёт symlink
readlink link.txt
# Посмотреть файл и все его hard links
ls -l file.txt # второе число показывает сколько имён
# Создать symlink для папки
ln -s /var/log ~/logs
📍 Навигация: Вакансии • Задачи • Собесы
#арсенал_инженера
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
👨💻 Под не запускается по порядку
Ситуация: разворачиваете базу данных в Kubernetes, но поды стартуют хаотично, а после перезапуска теряют данные.
Коллега предлагает попробовать StatefulSet вместо Deployment.
В голове тут же всплывёт вопрос: «Что такое Stateful Set и за что он отвечает»
Ответ:в нашем канале с задачами
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#задача_со_звёздочкой
Ситуация: разворачиваете базу данных в Kubernetes, но поды стартуют хаотично, а после перезапуска теряют данные.
Коллега предлагает попробовать StatefulSet вместо Deployment.
В голове тут же всплывёт вопрос: «Что такое Stateful Set и за что он отвечает»
Ответ:
📍 Навигация: Вакансии • Задачи • Собесы
#задача_со_звёздочкой
Please open Telegram to view this post
VIEW IN TELEGRAM
🔄 MySQL 9.6.0
20 января вышел свежий MySQL, разбираем что нового.
• Безопасность и аудит
MySQL перешёл на модульную архитектуру аудита — монолитный Audit Log разбит на компоненты mysql.
MD5() и SHA1() теперь вынесены в отдельный компонент classic_hashing mysql. Хотите использовать устаревшие алгоритмы? Устанавливайте компонент явно. Не хотите? Не устанавливайте.
• Performance Schema
Добавлена таблица TEMPORARY_ACCOUNT_LOCKS для просмотра временно заблокированных аккаунтов. В таблицу HOST_CACHE добавлены колонки для подсчёта ошибок от постоянно и временно заблокированных аккаунтов mysql.
• Контейнеры
Новая опция container_aware позволяет серверу автоматически обнаруживать и соблюдать лимиты CPU и памяти, установленные контейнером mysql.
• Репликация и GTID
Представлена новая структура данных для GTID set — более простая, современная и эффективная библиотека для работы с Global Transaction IDs mysql.
• JSON Duality Views
Теперь можно явно указывать разрешённые DML-операции (INSERT, UPDATE, DELETE) для каждой таблицы при создании JSON Duality View mysql. Есть и запрещающие теги вроде NO INSERT.
ИИ факт: релизные заметки созданы с помощью MySQL HeatWave GenAI mysql.
➡️ Release notes
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#пульс_индустрии
20 января вышел свежий MySQL, разбираем что нового.
• Безопасность и аудит
MySQL перешёл на модульную архитектуру аудита — монолитный Audit Log разбит на компоненты mysql.
MD5() и SHA1() теперь вынесены в отдельный компонент classic_hashing mysql. Хотите использовать устаревшие алгоритмы? Устанавливайте компонент явно. Не хотите? Не устанавливайте.
• Performance Schema
Добавлена таблица TEMPORARY_ACCOUNT_LOCKS для просмотра временно заблокированных аккаунтов. В таблицу HOST_CACHE добавлены колонки для подсчёта ошибок от постоянно и временно заблокированных аккаунтов mysql.
• Контейнеры
Новая опция container_aware позволяет серверу автоматически обнаруживать и соблюдать лимиты CPU и памяти, установленные контейнером mysql.
• Репликация и GTID
Представлена новая структура данных для GTID set — более простая, современная и эффективная библиотека для работы с Global Transaction IDs mysql.
• JSON Duality Views
Теперь можно явно указывать разрешённые DML-операции (INSERT, UPDATE, DELETE) для каждой таблицы при создании JSON Duality View mysql. Есть и запрещающие теги вроде NO INSERT.
ИИ факт: релизные заметки созданы с помощью MySQL HeatWave GenAI mysql.
📍 Навигация: Вакансии • Задачи • Собесы
#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍1
Пока вы шлёте Word-документ с перечислением технологий, другие кандидаты:
• Разворачивают персональный сайт через CI/CD
• Делают changelog-резюме в стиле release notes:
v2.5 - Fixed: убрал legacy Ansible, мигрировал на Kubernetes• Создают Grafana-дашборд с визуализацией карьерных метрик
📍 Навигация: Вакансии • Задачи • Собесы
Please open Telegram to view this post
VIEW IN TELEGRAM
Конфиги копятся, а ты всё ещё вручную «жаришь» деплои и промпты?
Это работа в забегаловке. Настоящий Шеф не фиксит скрипты вечно — он проектирует Систему. 🛠️
В понедельник, 26 января, стартует интенсив по разработке ИИ-агентов. Мы научим создавать автономные решения, которые закроют инфраструктурные задачи, пока ты занимаешься архитектурой.
В программе:
— мультиагентные системы в
— сложная логика в
—
Записаться на курс
Это работа в забегаловке. Настоящий Шеф не фиксит скрипты вечно — он проектирует Систему. 🛠️
В понедельник, 26 января, стартует интенсив по разработке ИИ-агентов. Мы научим создавать автономные решения, которые закроют инфраструктурные задачи, пока ты занимаешься архитектурой.
В программе:
— мультиагентные системы в
CrewAI: делегирование рутины и автоматизация ревью;— сложная логика в
LangGraph: управление состоянием инфраструктурных графов;—
tool use интеграция: подключение агентов к CLI, API и облачным сервисам. ☁️Записаться на курс
Освежим в памяти события недели.
— Wine 11.1
Экспериментальный релиз Wine 11.1 получил сопровождающий выпуск Wine Staging 11.1 с набором нестабильных патчей, который добавляет недостающую функциональность mshtml и msxml3 и тем самым позволяет устанавливать Adobe Photoshop 2021–2025 и другие приложения Adobe Creative Cloud под Linux.
— KDE в виртуальной реальности
— Изоляция процессов через namespace
— Полигон для драйверов FreeBSD
— Let’s Encrypt добавили короткоживущие сертификаты
📍 Навигация: Вакансии • Задачи • Собесы
#дайджест_недели
Please open Telegram to view this post
VIEW IN TELEGRAM
Завтра стартуем: курс по разработке ИИ-агентов для автоматизации 🛠️
Пора внедрять ИИ в инфраструктурные процессы. Мы научим создавать автономных агентов на
👉 Успейте занять место до начала занятий
Пора внедрять ИИ в инфраструктурные процессы. Мы научим создавать автономных агентов на
CrewAI, управлять логикой в LangGraph и подключать нейросети к CLI, API и вашим облачным сервисам.👉 Успейте занять место до начала занятий